Skip to content

Commit be5542c

Browse files
authored
Initial commit
0 parents  commit be5542c

26 files changed

+1172
-0
lines changed

.env.example

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Set your task in the .env file or pass it in the yaml file on the bottom `task:`
2+
WORKSPACE_DIR="agent_workspace"
3+
GROQ_API_KEY=""

.github/FUNDING.yml

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
# These are supported funding model platforms
3+
github: [kyegomez]
4+
# patreon: # Replace with a single Patreon username
5+
# open_collective: # Replace with a single Open Collective username
6+
# ko_fi: # Replace with a single Ko-fi username
7+
# tidelift: # Replace with a single Tidelift platform-name/package-name
8+
# community_bridge: # Replace with a single Community Bridge project-name
9+
# liberapay: # Replace with a single Liberapay username
10+
# issuehunt: # Replace with a single IssueHunt username
11+
# otechie: # Replace with a single Otechie username
12+
# lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name
13+
# custom: #Nothing

.github/ISSUE_TEMPLATE/bug_report.md

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: "[BUG] "
5+
labels: bug
6+
assignees: kyegomez
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Additional context**
27+
Add any other context about the problem here.
+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: 'kyegomez'
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/PULL_REQUEST_TEMPLATE.md

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
Thank you for contributing to Swarms!
2+
3+
Replace this comment with:
4+
- Description: a description of the change,
5+
- Issue: the issue # it fixes (if applicable),
6+
- Dependencies: any dependencies required for this change,
7+
- Tag maintainer: for a quicker response, tag the relevant maintainer (see below),
8+
- Twitter handle: we announce bigger features on Twitter. If your PR gets announced and you'd like a mention, we'll gladly shout you out!
9+
10+
Please make sure your PR is passing linting and testing before submitting. Run `make format`, `make lint` and `make test` to check this locally.
11+
12+
See contribution guidelines for more information on how to write/run tests, lint, etc:
13+
https://github.com/kyegomez/swarms/blob/master/CONTRIBUTING.md
14+
15+
If you're adding a new integration, please include:
16+
1. a test for the integration, preferably unit tests that do not rely on network access,
17+
2. an example notebook showing its use.
18+
19+
20+
Maintainer responsibilities:
21+
- General / Misc / if you don't know who to tag: [email protected]
22+
- DataLoaders / VectorStores / Retrievers: [email protected]
23+
- swarms.models: [email protected]
24+
- swarms.memory: [email protected]
25+
- swarms.structures: [email protected]
26+
27+
If no one reviews your PR within a few days, feel free to email Kye at [email protected]
28+
29+
See contribution guidelines for more information on how to write/run tests, lint, etc: https://github.com/kyegomez/swarms

.github/action.yml

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
name: "Init Environment"
3+
description: "Initialize environment for tests"
4+
runs:
5+
using: "composite"
6+
steps:
7+
- name: Checkout actions
8+
uses: actions/checkout@v3
9+
- name: Set up Python ${{ matrix.python-version }}
10+
uses: actions/setup-python@v4
11+
with:
12+
python-version: ${{ matrix.python-version }}
13+
- name: Install and configure Poetry
14+
uses: snok/install-poetry@v1
15+
with:
16+
virtualenvs-create: true
17+
virtualenvs-in-project: true
18+
installer-parallel: true
19+
- name: Load cached venv
20+
id: cached-poetry-dependencies
21+
uses: actions/cache@v3
22+
with:
23+
path: .venv
24+
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{hashFiles('**/poetry.lock') }}
25+
- name: Install dependencies
26+
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
27+
run: poetry install --no-interaction --no-root --with test --with dev --all-extras
28+
shell: bash
29+
- name: Activate venv
30+
run: |
31+
source .venv/bin/activate
32+
echo PATH=$PATH >> $GITHUB_ENV
33+
shell: bash

.github/dependabot.yml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
# https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates
3+
version: 2
4+
updates:
5+
- package-ecosystem: "github-actions"
6+
directory: "/"
7+
schedule:
8+
interval: "weekly"
9+
- package-ecosystem: "pip"
10+
directory: "/"
11+
schedule:
12+
interval: "weekly"

.github/labeler.yml

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
documentation:
3+
- changed-files:
4+
- any-glob-to-any-file: ["docs/**", "*.md"]
5+
tests:
6+
- changed-files:
7+
- any-glob-to-any-file: "tests/**"
8+
agents:
9+
- changed-files:
10+
- any-glob-to-any-file: "swarms/agents/**"
11+
artifacts:
12+
- changed-files:
13+
- any-glob-to-any-file: "swarms/artifacts/**"
14+
memory:
15+
- changed-files:
16+
- any-glob-to-any-file: "swarms/memory/**"
17+
models:
18+
- changed-files:
19+
- any-glob-to-any-file: "swarms/models/**"
20+
prompts:
21+
- changed-files:
22+
- any-glob-to-any-file: "swarms/prompts/**"
23+
structs:
24+
- changed-files:
25+
- any-glob-to-any-file: "swarms/structs/**"
26+
telemetry:
27+
- changed-files:
28+
- any-glob-to-any-file: "swarms/telemetry/**"
29+
tools:
30+
- changed-files:
31+
- any-glob-to-any-file: "swarms/tools/**"
32+
utils:
33+
- changed-files:
34+
- any-glob-to-any-file: "swarms/utils/**"

.github/workflows/RELEASE.yml

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
name: release
3+
on:
4+
pull_request:
5+
types:
6+
- closed
7+
branches:
8+
- master
9+
paths:
10+
- "pyproject.toml"
11+
env:
12+
POETRY_VERSION: "1.4.2"
13+
jobs:
14+
if_release:
15+
if: |
16+
${{ github.event.pull_request.merged == true }}
17+
&& ${{ contains(github.event.pull_request.labels.*.name, 'release') }}
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@v4
21+
- name: Install poetry
22+
run: pipx install poetry==$POETRY_VERSION
23+
- name: Set up Python 3.9
24+
uses: actions/setup-python@v5
25+
with:
26+
python-version: "3.9"
27+
cache: "poetry"
28+
- name: Build project for distribution
29+
run: poetry build
30+
- name: Check Version
31+
id: check-version
32+
run: |
33+
echo version=$(poetry version --short) >> $GITHUB_OUTPUT
34+
- name: Create Release
35+
uses: ncipollo/release-action@v1
36+
with:
37+
artifacts: "dist/*"
38+
token: ${{ secrets.GITHUB_TOKEN }}
39+
draft: false
40+
generateReleaseNotes: true
41+
tag: v${{ steps.check-version.outputs.version }}
42+
commit: master
43+
- name: Publish to PyPI
44+
env:
45+
POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_API_TOKEN }}
46+
run: |-
47+
poetry publish

.github/workflows/autofix.yml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: autofix.ci
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches: ["main"]
7+
permissions:
8+
contents: read
9+
10+
jobs:
11+
autofix:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- uses: actions/setup-go@v5
17+
- run: go install github.com/google/yamlfmt/cmd/yamlfmt@latest
18+
- run: yamlfmt .
19+
20+
- uses: actions/setup-python@v5
21+
- run: pip install ruff
22+
- run: ruff format .
23+
- run: ruff check --fix .
24+
25+
- uses: autofix-ci/action@dd55f44df8f7cdb7a6bf74c78677eb8acd40cd0a

.github/workflows/codacy.yml

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
name: Codacy
3+
on:
4+
push:
5+
branches: ["master"]
6+
pull_request:
7+
branches: ["master"]
8+
schedule:
9+
- cron: "0 0 * * "
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
codacy-security-scan:
16+
permissions:
17+
contents: read # for actions/checkout to fetch code
18+
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
19+
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
20+
name: Codacy Security Scan
21+
runs-on: ubuntu-latest
22+
steps:
23+
- name: Checkout code
24+
uses: actions/checkout@v4
25+
# Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis
26+
- name: Run Codacy Analysis CLI
27+
uses: codacy/codacy-analysis-cli-action@97bf5df3c09e75f5bcd72695998f96ebd701846e
28+
with:
29+
# Check https://github.com/codacy/codacy-analysis-cli#project-token to
30+
# get your project token from your Codacy repository
31+
# You can also omit the token and run the tools that support default configurations
32+
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
33+
verbose: true
34+
output: results.sarif
35+
format: sarif
36+
# Adjust severity of non-security issues
37+
gh-code-scanning-compat: true
38+
# Force 0 exit code to allow SARIF file generation
39+
# This will handover control about PR rejection to the GitHub side
40+
max-allowed-issues: 2147483647
41+
# Upload the SARIF file generated in the previous step
42+
- name: Upload SARIF results file
43+
uses: github/codeql-action/upload-sarif@v3
44+
with:
45+
sarif_file: results.sarif

.github/workflows/codeql.yml

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
name: "CodeQL"
3+
on:
4+
push:
5+
branches: ["master"]
6+
pull_request:
7+
# The branches below must be a subset of the branches above
8+
branches: ["master"]
9+
schedule:
10+
- cron: "33 12 * * 5"
11+
jobs:
12+
analyze:
13+
name: Analyze
14+
# Runner size impacts CodeQL analysis time. To learn more, please see:
15+
# - https://gh.io/recommended-hardware-resources-for-running-codeql
16+
# - https://gh.io/supported-runners-and-hardware-resources
17+
# - https://gh.io/using-larger-runners
18+
# Consider using larger runners for possible analysis time improvements.
19+
runs-on: ubuntu-latest
20+
timeout-minutes: 360
21+
permissions:
22+
actions: read
23+
contents: read
24+
security-events: write
25+
strategy:
26+
fail-fast: false
27+
matrix:
28+
language: ["python"]
29+
steps:
30+
- name: Checkout repository
31+
uses: actions/checkout@v4
32+
- name: Initialize CodeQL
33+
uses: github/codeql-action/init@v3
34+
with:
35+
languages: ${{ matrix.language }}
36+
- name: Autobuild
37+
uses: github/codeql-action/autobuild@v3
38+
- name: Perform CodeQL Analysis
39+
uses: github/codeql-action/analyze@v3
40+
with:
41+
category: "/language:${{matrix.language}}"

.github/workflows/docs-preview.yml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Documentation Links
2+
on:
3+
pull_request_target:
4+
types:
5+
- opened
6+
7+
permissions:
8+
pull-requests: write
9+
10+
jobs:
11+
documentation-links:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: readthedocs/actions/preview@v1
15+
with:
16+
project-slug: "swarms"

.github/workflows/docs.yml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Documentation
2+
on:
3+
push:
4+
branches:
5+
- master
6+
- main
7+
- develop
8+
jobs:
9+
deploy:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
- uses: actions/setup-python@v5
14+
with:
15+
python-version: 3.11
16+
- run: pip install mkdocs-material
17+
- run: pip install mkdocs-glightbox
18+
- run: pip install "mkdocstrings[python]"
19+
- run: pip3 install mkdocs-git-authors-plugin
20+
- run: pip install mkdocs-jupyter==0.16.0
21+
- run: pip install --upgrade lxml_html_clean
22+
- run: pip install mkdocs-git-committers-plugin
23+
- run: pip3 install mkdocs-git-revision-date-localized-plugin
24+
- run: mkdocs gh-deploy --force -f docs/mkdocs.yml

0 commit comments

Comments
 (0)