Metadata-Version: 2.5
Name: common-python-tasks
Version: 0.11.0
Summary: Opinionated Poe the Poet tasks for Python package development.
Project-URL: Homepage, http://github.com/ci-sourcerer/common-python-tasks
Project-URL: Source, http://github.com/ci-sourcerer/common-python-tasks.git
Project-URL: Issues, http://github.com/ci-sourcerer/common-python-tasks/issues
Author-email: Joseph Asbury <ci_sourcerer@yahoo.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: <4.0,>=3.11
Requires-Dist: docker<8.0.0,>=7.1.0
Requires-Dist: dunamai<2.0.0,>=1.25.0
Requires-Dist: git-cliff<3.0.0,>=2.12.0
Requires-Dist: jinja2<4.0.0,>=3.1.6
Requires-Dist: packaging<27.0,>=26.2
Requires-Dist: poethepoet-tasks<0.4.0,>=0.3.0
Requires-Dist: pytest-cov<8.0.0,>=7.0.0
Requires-Dist: pytest<10.0.0,>=9.0.3
Requires-Dist: requests<3.0.0,>=2.34.2
Requires-Dist: ruff<0.17.0,>=0.16.1
Requires-Dist: tomlkit<0.14.0,>=0.13.3
Requires-Dist: zensical<0.1.0,>=0.0.59
Description-Content-Type: text/markdown

# Common Python Tasks

`common-python-tasks` provides reusable, opinionated [Poe the Poet](https://poethepoet.natn.io/guides/packaged_tasks.html) tasks for Python development, packaging, releases, containers, and documentation.

Read the [complete documentation](https://ci-sourcerer.github.io/common-python-tasks/) for the task reference, configuration options, and deployment guidance.

## Quick start

Add the package as a development dependency.

```shell
uv add --dev common-python-tasks==0.11.0
```

Expose the default task set in `pyproject.toml`.

```toml
[tool.poe]
include_script = "common_python_tasks:tasks()"
```

Run the everyday development tasks.

```shell
poe format
poe lint
poe test
```

## Optional workflows

Select additional task groups with `include_tags`.

```toml
[tool.poe]
include_script = "common_python_tasks:tasks(include_tags=['common', 'docs', 'containers'])"
```

| Tag | Purpose |
| - | - |
| `common` | Formatting, linting, testing, packaging, and releases |
| `docs` | Build and serve Zensical documentation |
| `containers` | Build, run, inspect, and publish container images |
| `fastapi` | Run the FastAPI and PostgreSQL development stack |

Documentation projects can build locally or start a development server.

```shell
poe docs-build
poe docs-serve
```

The [documentation workflow guide](https://ci-sourcerer.github.io/common-python-tasks/documentation-workflows/) covers GitHub Actions artifacts, optional Cloudflare Pages previews, and GitHub Pages deployment.

## Learn more

- [Getting started](https://ci-sourcerer.github.io/common-python-tasks/getting-started/)
- [Task reference](https://ci-sourcerer.github.io/common-python-tasks/tasks/)
- [Configuration reference](https://ci-sourcerer.github.io/common-python-tasks/configuration/)

The project is in alpha, so minor releases may contain breaking changes. It is distributed under the [MIT license](LICENSE).
