Metadata-Version: 2.4
Name: python-project-foundry
Version: 0.2.0
Summary: Python project template that follows proven patterns. Scaffolds libraries, CLIs, and web services.
Project-URL: Homepage, https://github.com/ryancswallace/python-project-foundry
Project-URL: Changelog, https://github.com/ryancswallace/python-project-foundry/blob/main/CHANGELOG.md
Project-URL: Documentation, https://ryancswallace.github.io/python-project-foundry/
Project-URL: Issues, https://github.com/ryancswallace/python-project-foundry/issues
Project-URL: Source, https://github.com/ryancswallace/python-project-foundry
Author-email: Ryan Wallace <ryancswallace@gmail.com>
Maintainer-email: Ryan Wallace <ryancswallace@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: copier,copier-template,project-generator,project-template,python,python-template,scaffolding,template
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
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
Classifier: Topic :: Utilities
Requires-Python: <3.15,>=3.11
Requires-Dist: copier~=9.10
Description-Content-Type: text/markdown

<!-- markdownlint-disable MD041 -->
[![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json)](https://github.com/copier-org/copier)
[![CI](https://github.com/ryancswallace/python-project-foundry/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/ryancswallace/python-project-foundry/actions/workflows/ci.yml)
[![Documentation](https://github.com/ryancswallace/python-project-foundry/actions/workflows/docs.yml/badge.svg?branch=main)](https://github.com/ryancswallace/python-project-foundry/actions/workflows/docs.yml)
[![Python 3.11-3.14](https://img.shields.io/badge/python-3.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-3776AB?logo=python&logoColor=white)](https://github.com/ryancswallace/python-project-foundry/blob/main/pyproject.toml)
[![Typed with basedpyright](https://img.shields.io/badge/types-basedpyright-2f6fdd)](https://github.com/DetachHead/basedpyright)
[![Linted with Ruff](https://img.shields.io/badge/lint-Ruff-46a2f1)](https://docs.astral.sh/ruff/)

# Python Project Foundry

## Create a project

With [`uv`](https://docs.astral.sh/uv/getting-started/installation/) installed,
scaffold a project directly from the published package:

```console
uvx python-project-foundry /path/to/new/project
```

If `uv` is not installed, macOS and Linux users can bootstrap it and scaffold
the project with one command:

```console
curl -LsSf https://raw.githubusercontent.com/ryancswallace/python-project-foundry/main/ppf | sh -s -- /path/to/new/project
```

The launcher installs a compatible `uv` version when necessary, then runs
Python Project Foundry in an isolated environment. No repository clone or
separate setup command is required.

Both commands prompt for the template's answers and execute the generated
project's setup tasks. Run
`uvx python-project-foundry template --help` to see options for unattended
generation, overwriting files, previewing changes, and skipping setup tasks.

## Contributor setup

For work on Python Project Foundry itself, `make setup` installs `uv` when
needed and syncs the complete development environment:

```console
make setup
make check
```
