Metadata-Version: 2.4
Name: seed-farmer
Version: 8.0.4
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-Expression: 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.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.10
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<3.0,>=2.6.0
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 modeled after [GitOps deployments](https://www.gitops.tech/). It has a CommandLine Interface (CLI) and is 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/concepts/architecture/)
- [Seed-Farmer Concepts](https://seed-farmer.readthedocs.io/en/latest/concepts/)

Seed-Farmer uses modular code deployments ([see modules](https://seed-farmer.readthedocs.io/en/latest/guides/module-development/)) leveraging [manifests](https://seed-farmer.readthedocs.io/en/latest/reference/manifests/) and [deployspecs](https://seed-farmer.readthedocs.io/en/latest/reference/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
```

Seed-Farmer also supports [uv](https://docs.astral.sh/uv/guides/tools/), and can be installed as a tool or into a virtual environment.

```bash
uv tool install seed-farmer
```

A [project](https://seed-farmer.readthedocs.io/en/latest/guides/project-development/) is necessary to begin creating modules.  

## Development

To get started with developing you need to setup a virtual environment and install the required 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
```
