Metadata-Version: 2.4
Name: canary-cd
Version: 0.1.dev3
Summary: Continuous Deployment API for Container and Static Pages
Project-URL: documentation, https://docs.rehborn.dev
Project-URL: source, https://github.com/rehborn/canary-cd.git
Author-email: Dominique Rehborn <dominique@rehborn.dev>
License-Expression: Apache-2.0
License-File: LICENSE
Requires-Python: <3.14,>=3.12
Requires-Dist: docker<8.0.0,>=7.1.0
Requires-Dist: fastapi<0.117.0,>=0.116.1
Requires-Dist: gitpython<4.0.0,>=3.1.44
Requires-Dist: pygithub<3.0.0,>=2.5.0
Requires-Dist: python-dotenv<2.0.0,>=1.0.1
Requires-Dist: python-multipart<0.0.21,>=0.0.20
Requires-Dist: pyyaml<7.0.0,>=6.0.2
Requires-Dist: sqlmodel<0.0.25,>=0.0.24
Requires-Dist: uvicorn<0.36.0,>=0.35.0
Description-Content-Type: text/markdown

<div align="center">

[![CanaryCD](https://docs.rehborn.dev/assets/canary-cd.png)](http://docs.rehborn.dev)

**Continuous Deployment API for Container and Static Pages**

[Source](https://github.com/rehborn/canary-cd) &middot; [Documentation](http://docs.rehborn.dev) 

[![PyPI-Badge]](https://pypi.org/project/canary-cd/)
![Python-Badge]
[![License-Badge]](https://github.com/rehborn/canary-cd/blob/main/LICENSE)

[PyPI-Badge]:
https://img.shields.io/pypi/v/canary-cd?style=flat-square&color=306998&label=PyPI&labelColor=FFD43B
[Python-Badge]:
https://img.shields.io/pypi/pyversions/canary-cd?style=flat-square&color=306998&label=Python
[License-Badge]:
https://img.shields.io/github/license/rehborn/canary-cd?style=flat-square&label=License
</div>

## Documentation
- [Setup](http://docs.rehborn.dev/setup/)
- [CLI](http://docs.rehborn.dev/cli/)
- [API](http://docs.rehborn.dev/api/) 

## Development

### Run with uvicorn
```shell
echo "SALT=$(openssl rand -base64 32)" > .env
ROOT_KEY=test python -m uvicorn canary_cd.main:app --reload --port 8001 
```

### Linter
```shell
uv run pylint canary_cd
```

### Tests
```shell
uv run pytest tests/
```

### Coverage
```shell
uv run coverage run --source canary_cd -m pytest tests/
uv run coverage report -m --skip-covered
```

### Docker

#### test standalone
```shell
docker compose build
docker compose up
```

#### test with traefik
```shell
docker compose -f compose.traefik.yml  up
```