Metadata-Version: 2.4
Name: seed-farmer
Version: 7.0.6
Summary: The AWS Professional Services CLI tool SeedFarmer for GitOps support
Project-URL: Homepage, https://github.com/awslabs/seed-farmer
Project-URL: Org Site, https://aws.amazon.com/professional-services/
Author: AWS Professional Services
License: Apache-2.0
License-File: LICENSE
License-File: NOTICE
License-File: VERSION
Keywords: AWS,GitOps
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: <3.14,>=3.9
Requires-Dist: boto3-stubs[cloudformation,cloudwatch,codebuild,iam,logs,s3,secretsmanager,ssm,sts]<1.40.0,>=1.39.0
Requires-Dist: boto3<1.40.0,>=1.39.0
Requires-Dist: botocore<1.40.0,>=1.39.0
Requires-Dist: certifi<2024.9.0,>=2024.7.4
Requires-Dist: cfn-flip>=1.2.3
Requires-Dist: click==8.1.8
Requires-Dist: cookiecutter<2.7,>=2.1
Requires-Dist: executor~=23.2
Requires-Dist: gitignore-parser~=0.1.2
Requires-Dist: gitpython~=3.1.30
Requires-Dist: mypy
Requires-Dist: mypy-extensions>=1.1.0
Requires-Dist: packaging<25.0,>=23.2
Requires-Dist: pydantic<2.11.0,>=2.8.2
Requires-Dist: pyhumps<3.9,>=3.5
Requires-Dist: python-dotenv<1.1,>=0.21
Requires-Dist: pyyaml~=6.0.1
Requires-Dist: requests<2.33,>=2.28
Requires-Dist: rich<13.10,>=12.4
Requires-Dist: ruamel-yaml==0.18.14
Requires-Dist: typing-extensions>=4.6.3
Requires-Dist: urllib3~=1.26.17; python_version < '3.10'
Requires-Dist: urllib3~=2.5.0; python_version >= '3.10'
Description-Content-Type: text/markdown

# Seed-Farmer

[![PyPi](https://img.shields.io/pypi/v/seed-farmer)](https://pypi.org/project/seed-farmer/)
[![Python Version](https://img.shields.io/pypi/pyversions/seed-farmer.svg)](https://pypi.org/project/seed-farmer/)
[![License](https://img.shields.io/pypi/l/seed-farmer)](https://github.com/awslabs/seed-farmer/blob/main/LICENSE)

Seed-Farmer (seedfarmer) is an opensource orchestration tool that works with AWS CodeSeeder (see [github](https://github.com/awslabs/aws-codeseeder) or [docs](https://aws-codeseeder.readthedocs.io/en/latest/)) and acts as an orchestration tool modeled after [GitOps deployments](https://www.gitops.tech/).  It has a CommandLine Interface (CLI) based in Python. 

Please see our [SeedFarmer Documentation](https://seed-farmer.readthedocs.io/en/latest/).

For information related to the architecture of Seed-Farmer or the deployment scheme...please see:
- [Seed-Farmer multi-account architecture](https://seed-farmer.readthedocs.io/en/latest/architecture.html)
- [Seed-Farmer processing steps](https://seed-farmer.readthedocs.io/en/latest/architecture.html#method-of-processing)

Seed-Farmer uses modular code deployments ([see modules](https://seed-farmer.readthedocs.io/en/latest/module_development.html)) leveraging [manifests](https://seed-farmer.readthedocs.io/en/latest/manifests.html) and [deployspecs](https://seed-farmer.readthedocs.io/en/latest/module_development.html#deployspec), 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
```

A [project](https://seed-farmer.readthedocs.io/en/latest/project_development.html) 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
```