acme-project-create
Sets up a new (python) project using a template.
Uses a three-step process:
- Template files are copied to the
-target-dirlocation from a--template-dir-pathdirectory. Default template for a python project is included in the package. - Directory names in the template following the pattern
{{<variable>}}are substituted with value provided by the user. - Filenames in the template directory that end with
j2template(e.g.pyproject.toml.j2template) are assumed to beJinja2templates and a file is generated in the target location with variable substitutions provided by the user i.e.pyproject.toml.
And that's it.
Note: to provide all values to compile the template
the template dir needs to contain a template_manifest.py file that must implement a function:
def configure_parser(parser: argparse.ArgumentParser) -> argparse.ArgumentParser
which takes an existing instance of ArgumentParser, adds arguments specific to the template and returns the parser object.
Default template
The default template makes several notable choices:
- Uses
venvfor virtual environments and.venvdir to store built environment (anduvto build it) - Uses
.envfile for setting up environment variables - Uses
setuptoolsfor packaging - Uses
pytestfor testing - Uses
mkdocsfor documentation
Problem
Setting up all files to create a new project is time consuming and involves lots of small technical choices.
Why use this project?
You are probably better off using Cookiecutter
Example usage
apc -target-dir . -project-name hello-world -desc "Say hello to the world" -package-name hello_world -command hello -owner-email hello@example.com
Project template
This project has been setup with acme-project-create, a python code template library.
Required setup post use
- Enable GitHub Pages to be published via GitHub Actions
- Create
releaseenvironment for GitHub Actions - Setup auth to PyPI for the GitHub Action implemented in
release.yml: Link & uv publish doc - Once you create the python environment for the first time add the
uv.lockfile that will be created in project directory to the source control and update it each time environment is rebuilt - Run
pre-commit installto install the pre-commit hooks.
Metadata
Release files for acme_project_create 0.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| acme_project_create-0.0.7.tar.gz | 12.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| acme_project_create-0.0.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.2 kB
Release files / acme_project_create-0.0.7.tar.gz
| Download URL | acme_project_create-0.0.7.tar.gz |
|---|---|
| Size | 12.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7655893e89c76f08fd2ec93ff53e9c683b0bb85195598d7663259e04263e259d
|
|
BLAKE2b-256 checksum How to use checksums |
2e4532ad9b7e9e14b59daaabd2ad49a66591198ed00728eae8bb78ea6044c60f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.6.2
|
Release files / acme_project_create-0.0.7-py3-none-any.whl
| Download URL | acme_project_create-0.0.7-py3-none-any.whl |
|---|---|
| Size | 17.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f0c2c70a6cd913511569fd7d006b5c635db594f786f79c71a8f735ee39d422e7
|
|
BLAKE2b-256 checksum How to use checksums |
2992b8268280053ba9e9f9e61f3988fc6328664bfaeff45393c0142504568859
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.6.2
|
Security for acme_project_create 0.0.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.