Python project template that follows proven patterns. Scaffolds libraries, CLIs, and web services.
Project description
Python Project Foundry
Command-line usage
Installing
On macOS or Linux, scaffold with one command even if uv is not installed:
curl -LsSf https://raw.githubusercontent.com/ryancswallace/python-project-foundry/main/ppf | sh -s -- /path/to/new/project
This downloads the repository's small launcher before executing it. The
launcher installs a compatible uv version, then runs Python Project Foundry
from GitHub in an isolated environment.
If uv is already installed, use uvx directly:
uvx --from git+https://github.com/ryancswallace/python-project-foundry ppf /path/to/new/project
Without uv, clone the repository and use its self-bootstrapping launcher:
git clone https://github.com/ryancswallace/python-project-foundry
cd python-project-foundry
./ppf /path/to/new/project
The launcher installs a compatible uv version when necessary. uv then
installs Python, Copier, and the other runtime dependencies when they are
missing.
The equivalent Make command is:
make template DEST=/path/to/new/project
It also installs uv when necessary and does not require a separate
make setup.
Persistent installation
Install the command from GitHub if it will be used regularly:
uv tool install git+https://github.com/ryancswallace/python-project-foundry
Then scaffold a project:
ppf /path/to/new/project
The command prompts for the template's answers and runs its trusted setup tasks.
ppf template /path/to/new/project remains available as the explicit form.
Use ppf template --help to see options for unattended generation,
overwriting files, previewing changes, and skipping setup tasks.
After the package is published to PyPI, the no-clone command becomes:
uvx python-project-foundry /path/to/new/project
Contributor setup
For work on Python Project Foundry itself, make setup installs uv when
needed and syncs the complete development environment:
make setup
make check
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_project_foundry-0.1.3.tar.gz.
File metadata
- Download URL: python_project_foundry-0.1.3.tar.gz
- Upload date:
- Size: 172.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
249064fb31793ccf8e6740e76acd7e8b0e85155ca243776dd3f37141175fce5b
|
|
| MD5 |
8674be3fade289c32653efee90a4465a
|
|
| BLAKE2b-256 |
51ae68c2952ebed6e521c3b121e4e212539090b22ea2d6912f5a03e82c6f8545
|
File details
Details for the file python_project_foundry-0.1.3-py3-none-any.whl.
File metadata
- Download URL: python_project_foundry-0.1.3-py3-none-any.whl
- Upload date:
- Size: 202.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2063767858dee3ac1690c5523c72765db232895d78542558795966dacb63194
|
|
| MD5 |
819aa7a954d9b00a9ec11d906c5bdf2a
|
|
| BLAKE2b-256 |
2f153c89948b0a21457eebfa667c36ea99f22348e232ec4d26fa5c1e816d23fa
|