My monorepo where I keep packages I repeatedly copy/paste into new projects, but that I don't want to publish to Pypi. Most of the files in this repository, including the .gitignore, pyproject.toml, and ruff.toml, can be used as a reference in other projects.
| Repository Directory | Purpose | Notes |
|---|---|---|
libs/ |
Python library code. | Packages in this path are isolated from each other, meaning you can copy the src/<package_name> directory from any library package into your project. Check each library's pyproject.toml's [dendencies] section to see if you need to install any extra packages. |
scripts/ |
Re-usable Python scripts, or self-contained (single file) modules. | These scripts are not Python packages, you can just copy/paste them into a file on your machine and run them. Some scripts will start with # /// script; this is called "inline metadata," implemented in PEP723. Tools like uv can use this syntax to run the script and automatically install the required dependencies. |
pipelines/ |
CI/CD pipeline files. | Pipelines for Github Actions, Woodpecker CI, and/or Concourse CI (or whatever other pipelines I've used). |