https://github.com/awslabs/seed-farmer

Seed-Farmer is an orchestration tool that works with AWS CodeSeeder and acts as an orchestration tool modeled after GitOps deployments. It has a CommandLine Interface based in Python, leverages modular code deployments defined by declarative manifests, and includes change detection and deployment optimization.

https://github.com/awslabs/seed-farmer

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Seed-Farmer is an orchestration tool that works with AWS CodeSeeder and acts as an orchestration tool modeled after GitOps deployments. It has a CommandLine Interface based in Python, leverages modular code deployments defined by declarative manifests, and includes change detection and deployment optimization.

Basic Info
Statistics
  • Stars: 80
  • Watchers: 12
  • Forks: 90
  • Open Issues: 1
  • Releases: 66
Created about 4 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Notice

README.md

Seed-Farmer

PyPi Python Version License

Seed-Farmer (seedfarmer) is an opensource orchestration tool modeled after GitOps deployments. It has a CommandLine Interface (CLI) and is based in Python.

Please see our SeedFarmer Documentation.

For information related to the architecture of Seed-Farmer or the deployment scheme...please see: - Seed-Farmer multi-account architecture - Seed-Farmer processing steps

Seed-Farmer uses modular code deployments (see modules) leveraging manifests and deployspecs, keeping track of changes and applying changes as need / detected.

Getting Started

The Seed-Farmer library is available on PyPi. Install the library in a python virtual environment.

bash python3 -m venv .venv source .venv/bin/activate pip install seed-farmer

Seed-Farmer also supports uv, and can be installed as a tool or into into a virtual environment.

bash uv tool install seed-farmer

A project is now necessary to begin create modules.

Development

To get started with developing you need to setup a virtual environment and install the needed python dependencies

Setup virtual environment and install dependencies:

bash make install

Run unit tests bash make test

Validate ruff formatting and mypy bash make validate

Fix ruff formatting issues bash make format

Owner

  • Name: Amazon Web Services - Labs
  • Login: awslabs
  • Kind: organization
  • Location: Seattle, WA

AWS Labs

GitHub Events

Total
  • Create event: 64
  • Release event: 10
  • Issues event: 41
  • Watch event: 34
  • Delete event: 49
  • Issue comment event: 93
  • Push event: 107
  • Pull request review comment event: 114
  • Pull request event: 203
  • Pull request review event: 216
  • Fork event: 64
Last Year
  • Create event: 64
  • Release event: 10
  • Issues event: 41
  • Watch event: 34
  • Delete event: 49
  • Issue comment event: 93
  • Push event: 107
  • Pull request review comment event: 114
  • Pull request event: 203
  • Pull request review event: 216
  • Fork event: 64

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 134
  • Total pull requests: 637
  • Average time to close issues: 27 days
  • Average time to close pull requests: 1 day
  • Total issue authors: 41
  • Total pull request authors: 19
  • Average comments per issue: 1.88
  • Average comments per pull request: 0.25
  • Merged pull requests: 507
  • Bot issues: 1
  • Bot pull requests: 172
Past Year
  • Issues: 22
  • Pull requests: 126
  • Average time to close issues: 23 days
  • Average time to close pull requests: 2 days
  • Issue authors: 13
  • Pull request authors: 11
  • Average comments per issue: 1.45
  • Average comments per pull request: 0.44
  • Merged pull requests: 70
  • Bot issues: 0
  • Bot pull requests: 49
Top Authors
Issue Authors
  • dgraeber (30)
  • zaremb (23)
  • a13zen (12)
  • chamcca (5)
  • danxie1999 (5)
  • jack-yu-matrix (5)
  • malachi-constant (4)
  • otyrrell (4)
  • PatWie (3)
  • 3sztof (3)
  • nileshlathiya (3)
  • anebz (2)
  • lukasz93kg (2)
  • kevinsoucy (2)
  • freuthli-qc (2)
Pull Request Authors
  • dgraeber (311)
  • dependabot[bot] (172)
  • chamcca (45)
  • LeonLuttenberger (39)
  • malachi-constant (25)
  • kukushking (16)
  • srinivasreddych (8)
  • a13zen (4)
  • koljahuang (4)
  • meniluca (2)
  • cnfait (2)
  • luisosses (2)
  • anebz (1)
  • noah-paige (1)
  • clokep (1)
Top Labels
Issue Labels
enhancement (76) bug (44) Low Priority (8) feature (5) chore (4) High Priority (3) On-Hold (2) wontfix (2) dependencies (1) python (1) Medium (1) investigating (1)
Pull Request Labels
dependencies (173) python (129) bug (8) release (7) feature (4) documentation (4) github_actions (4) enhancement (3) chore (2) wontfix (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 32,935 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 3
  • Total versions: 89
  • Total maintainers: 4
pypi.org: seed-farmer

The AWS Professional Services CLI tool SeedFarmer for GitOps support

  • Versions: 89
  • Dependent Packages: 0
  • Dependent Repositories: 3
  • Downloads: 32,935 Last month
Rankings
Downloads: 3.7%
Dependent packages count: 7.4%
Average: 8.7%
Dependent repos count: 9.2%
Stargazers count: 11.3%
Forks count: 12.0%
Last synced: 10 months ago

Dependencies

requirements-dev.in pypi
  • awscli *
  • black *
  • cfn-lint *
  • check-manifest *
  • flake8 *
  • isort *
  • mypy *
  • myst-parser *
  • pip-tools *
  • pydot *
  • pyroma *
  • pytest *
  • pytest-cov *
  • pytest-ordering *
  • sphinx *
  • sphinx-autoapi *
  • sphinx-rtd-theme *
  • twine *
  • types-PyYAML *
  • types-setuptools *
  • wheel *
requirements.txt pypi
  • arrow ==1.2.2
  • aws-codeseeder ==0.3.2
  • binaryornot ==0.4.4
  • boto3 ==1.24.7
  • botocore ==1.27.7
  • certifi ==2022.5.18.1
  • cfn-flip ==1.3.0
  • chardet ==4.0.0
  • charset-normalizer ==2.0.12
  • checksumdir ==1.2.0
  • click ==8.1.3
  • coloredlogs ==15.0.1
  • commonmark ==0.9.1
  • cookiecutter ==2.1.1
  • executor ==23.2
  • fasteners ==0.17.3
  • humanfriendly ==10.0
  • idna ==3.3
  • jinja2 ==3.1.2
  • jinja2-time ==0.2.0
  • jmespath ==1.0.0
  • markupsafe ==2.1.1
  • mypy-extensions ==0.4.3
  • property-manager ==3.0
  • pydantic ==1.9.1
  • pygments ==2.12.0
  • pyhumps ==3.5.3
  • python-dateutil ==2.8.2
  • python-slugify ==6.1.2
  • pyyaml ==6.0
  • requests ==2.28.1
  • rich ==12.4.4
  • s3transfer ==0.6.0
  • six ==1.16.0
  • text-unidecode ==1.3
  • typing-extensions ==4.2.0
  • urllib3 ==1.26.9
  • verboselogs ==1.7
setup.py pypi
  • aws-codeseeder *
  • checksumdir *
  • cookiecutter *
  • executor *
  • pydantic *
  • pyhumps *
  • requests ==2.28.1
  • rich *
  • typing-extensions *
test/unit-test/mock_data/modules/module-test/requirements.txt pypi
  • aws-cdk-lib ==2.20.0
test/unit-test/mock_data/modules/module-test-broken-deploy/requirements.txt pypi
  • aws-cdk-lib ==2.20.0
test/unit-test/mock_data/modules/module-test-broken-destroy/requirements.txt pypi
  • aws-cdk-lib ==2.20.0
.github/workflows/main.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
docs/requirements-docs.in pypi
  • PyYAML ==5.4
  • certifi *
  • docutils *
  • myst_parser ==1.0.0
  • sphinx-autoapi ==2.1.0
  • sphinx-rtd-theme ==1.2.1
  • sphinxcontrib-applehelp ==1.0.4
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==2.0.1
  • sphinxcontrib-jquery ==4.1
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.5
  • typing-extensions ==4.5.0
  • urllib3 ==1.26.5
  • wheel ==0.38.1
docs/requirements-docs.txt pypi
  • alabaster ==0.7.13
  • astroid ==2.15.5
  • babel ==2.12.1
  • certifi ==2023.7.22
  • charset-normalizer ==3.1.0
  • docutils ==0.18.1
  • idna ==3.4
  • imagesize ==1.4.1
  • importlib-metadata ==6.8.0
  • jinja2 ==3.1.2
  • lazy-object-proxy ==1.9.0
  • markdown-it-py ==2.2.0
  • markupsafe ==2.1.2
  • mdit-py-plugins ==0.3.5
  • mdurl ==0.1.2
  • myst-parser ==1.0.0
  • packaging ==23.1
  • pygments ==2.15.1
  • pyyaml ==5.4
  • requests ==2.31.0
  • snowballstemmer ==2.2.0
  • sphinx ==6.2.1
  • sphinx-autoapi ==2.1.0
  • sphinx-rtd-theme ==1.2.1
  • sphinxcontrib-applehelp ==1.0.4
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==2.0.1
  • sphinxcontrib-jquery ==4.1
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.5
  • typing-extensions ==4.5.0
  • unidecode ==1.3.6
  • urllib3 ==1.26.5
  • wheel ==0.38.1
  • wrapt ==1.15.0
  • zipp ==3.16.2
pyproject.toml pypi
requirements-dev.txt pypi
  • alabaster ==0.7.13 development
  • astroid ==2.15.6 development
  • attrs ==23.1.0 development
  • awscli ==1.29.6 development
  • babel ==2.12.1 development
  • black ==22.3.0 development
  • bleach ==6.0.0 development
  • boto3 ==1.28.6 development
  • botocore ==1.31.6 development
  • build ==0.10.0 development
  • certifi ==2023.7.22 development
  • cffi ==1.15.1 development
  • charset-normalizer ==3.2.0 development
  • check-manifest ==0.49 development
  • click ==8.1.6 development
  • colorama ==0.4.4 development
  • coverage ==7.2.7 development
  • cryptography ==41.0.4 development
  • docutils ==0.16 development
  • flake8 ==4.0.1 development
  • idna ==3.4 development
  • imagesize ==1.4.1 development
  • importlib-metadata ==6.8.0 development
  • iniconfig ==2.0.0 development
  • isort ==5.10.1 development
  • jaraco-classes ==3.3.0 development
  • jeepney ==0.8.0 development
  • jinja2 ==3.1.2 development
  • jmespath ==1.0.1 development
  • keyring ==24.2.0 development
  • lazy-object-proxy ==1.9.0 development
  • markdown-it-py ==2.2.0 development
  • markupsafe ==2.1.3 development
  • mccabe ==0.6.1 development
  • mdit-py-plugins ==0.3.5 development
  • mdurl ==0.1.2 development
  • more-itertools ==9.1.0 development
  • moto ==4.0.13 development
  • mypy ==0.991 development
  • mypy-extensions ==1.0.0 development
  • myst-parser ==0.18.1 development
  • packaging ==23.1 development
  • pathspec ==0.11.1 development
  • pip-tools ==7.1.0 development
  • pkginfo ==1.9.6 development
  • platformdirs ==3.9.1 development
  • pluggy ==1.2.0 development
  • pyasn1 ==0.5.0 development
  • pycodestyle ==2.8.0 development
  • pycparser ==2.21 development
  • pydot ==1.4.2 development
  • pyflakes ==2.4.0 development
  • pygments ==2.15.1 development
  • pyparsing ==3.1.0 development
  • pyproject-hooks ==1.0.0 development
  • pyroma ==4.2 development
  • pytest ==7.2.2 development
  • pytest-cov ==4.0.0 development
  • pytest-mock ==3.10.0 development
  • pytest-ordering ==0.6 development
  • python-dateutil ==2.8.2 development
  • pyyaml ==6.0.1 development
  • readme-renderer ==40.0 development
  • requests ==2.31.0 development
  • requests-toolbelt ==1.0.0 development
  • responses ==0.23.1 development
  • rfc3986 ==2.0.0 development
  • rich ==13.4.2 development
  • rsa ==4.7.2 development
  • s3transfer ==0.6.1 development
  • secretstorage ==3.3.3 development
  • six ==1.16.0 development
  • snowballstemmer ==2.2.0 development
  • sphinx ==4.3.2 development
  • sphinx-autoapi ==1.8.4 development
  • sphinx-rtd-theme ==1.0.0 development
  • sphinxcontrib-applehelp ==1.0.4 development
  • sphinxcontrib-devhelp ==1.0.2 development
  • sphinxcontrib-htmlhelp ==2.0.1 development
  • sphinxcontrib-jsmath ==1.0.1 development
  • sphinxcontrib-qthelp ==1.0.3 development
  • sphinxcontrib-serializinghtml ==1.1.5 development
  • trove-classifiers ==2023.7.6 development
  • twine ==4.0.2 development
  • types-pyyaml ==6.0.12.10 development
  • types-setuptools ==57.4.18 development
  • typing-extensions ==4.7.1 development
  • unidecode ==1.3.6 development
  • urllib3 ==1.26.16 development
  • webencodings ==0.5.1 development
  • werkzeug ==2.3.6 development
  • wheel ==0.38.4 development
  • wrapt ==1.15.0 development
  • xmltodict ==0.13.0 development
  • zipp ==3.16.2 development