Skip to main content

Sets up a new (python) project using a template

Project description

acme-project-create

Sets up a new (python) project using a template.

Uses a three-step process:

  1. Template files are copied to the -target-dir location from a --template-dir-path directory. Default template for a python project is included in the package.
  2. Directory names in the template following the pattern {{<variable>}} are substituted with value provided by the user.
  3. Filenames in the template directory that end with j2template (e.g. pyproject.toml.j2template) are assumed to be Jinja2 templates 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 venv for virtual environments and .venv dir to store built environment
  • Uses .env file for setting up environment variables
  • Uses setuptools for packaging
  • Uses pytest for testing
  • Uses mkdocs for 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

Project template

This project has been setup with acme-project-create, a python code template library.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

acme_project_create-0.0.1.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

acme_project_create-0.0.1-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file acme_project_create-0.0.1.tar.gz.

File metadata

  • Download URL: acme_project_create-0.0.1.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.5.4

File hashes

Hashes for acme_project_create-0.0.1.tar.gz
Algorithm Hash digest
SHA256 e17d7da4c9b53b312efac27dc6ccc25723ad240fcac7604bd794932e2ace8aa1
MD5 b2b79e9e79ffd7df4e0540fe2761eeeb
BLAKE2b-256 5952fdc6be05505a52fb0c0de5cfdde89a2d97eb2e31699b81c5b291411657b5

See more details on using hashes here.

File details

Details for the file acme_project_create-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for acme_project_create-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6bd924dddf2de8ad89be4ac45d6a7a88f04d57c9eb0f74a8e716fb3e9bde18a8
MD5 d3d35990cfa4e1c9fe13c08b665af56b
BLAKE2b-256 f9591bc1dbc8189135beb3388dab1a21cd55a51a0f9c0a58301463f2735f5a41

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page