🛠️ Administration utilities for managing projects built from the emcd/python-project-common Copier template.
Installation 📦
Method: Install Executable Script
Install via the uv tool command:
uv tool install emcd-projects
or, run directly with uvx:
uvx --from emcd-projects emcdproj
Or, install via pipx:
pipx install emcd-projects
Method: Install Python Package
Install via uv pip command:
uv pip install emcd-projects
Or, install via pip:
pip install emcd-projects
Features
- 🌐 Static Website Maintenance
Generates badges/shields based on test coverage.
Maintains index of versioned documentation and coverage reports.
No need for Codecov, ReadTheDocs, etc…; static site can be hosted anywhere which can deploy from a Git repo branch (GitHub Pages, etc…).
More Flair
Architecture
The emcdproj package provides maintenance tooling for projects generated from the python-project-common Copier template. It is one component of a larger repository that also contains the template itself, reusable GitHub Actions workflows, and shared documentation.
Package Modules
emcdproj/ ├── __/ # Centralized import hub │ ├── __init__.py # Re-exports core utilities │ ├── imports.py # External library imports │ └── nomina.py # emcd-projects-specific naming constants ├── __init__.py # Package entry point and version ├── __main__.py # CLI entry point for `python -m emcdproj` ├── cli.py # Command-line interface implementation ├── exceptions.py # Package exception hierarchy ├── filesystem.py # File system operations ├── interfaces.py # Common interface definitions ├── website.py # Static website generation and maintenance └── _typedecls/ # Type declaration stubs
Modules generally use the standard __ import pattern for external dependencies, with exceptions for entry points (__main__.py) and subsystems with direct import requirements.
Key Subsystem Contracts
Static Site Publisher (website.py)
Generates and maintains a static documentation site with versioned content, coverage badges, and stable/development aliases. Invoked by the release workflow after documentation and coverage artifacts are available.
Integration with Reusable Workflows
The xrepo--documenter workflow invokes emcdproj website update as part of documentation publication. The xrepo--reporter workflow produces coverage artifacts consumed by the site publisher.
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 emcd_projects-1.60.tar.gz.
File metadata
- Download URL: emcd_projects-1.60.tar.gz
- Upload date:
- Size: 18.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53250e4016a7f172afdc28c37916fef385e0345233d894290aded947dd2289eb
|
|
| MD5 |
d71a1b0b0815b5d992fbafe1799d9937
|
|
| BLAKE2b-256 |
b7d5f18ba076f2352bea8b6f094ec15a270750e4fb2bd88f86ba23ea08051549
|
Provenance
The following attestation bundles were made for emcd_projects-1.60.tar.gz:
Publisher:
releaser.yaml on emcd/python-project-common
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
emcd_projects-1.60.tar.gz -
Subject digest:
53250e4016a7f172afdc28c37916fef385e0345233d894290aded947dd2289eb - Sigstore transparency entry: 2365541028
- Sigstore integration time:
-
Permalink:
emcd/python-project-common@393f0c0e0a974eb4db5facf68e3fa80dbbc0d2ba -
Branch / Tag:
refs/tags/v1.60 - Owner: https://github.com/emcd
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
releaser.yaml@393f0c0e0a974eb4db5facf68e3fa80dbbc0d2ba -
Trigger Event:
push
-
Statement type:
File details
Details for the file emcd_projects-1.60-py3-none-any.whl.
File metadata
- Download URL: emcd_projects-1.60-py3-none-any.whl
- Upload date:
- Size: 26.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e962235b06217b82b420ff903e7713ae74ede0e0104d0acb5c6995859186e43
|
|
| MD5 |
de024fe1843d4634a7899386812afe90
|
|
| BLAKE2b-256 |
84a2b5e318cc0f851cf7dbb57b55b0ad9d178d811ae663d73617e154a6393409
|
Provenance
The following attestation bundles were made for emcd_projects-1.60-py3-none-any.whl:
Publisher:
releaser.yaml on emcd/python-project-common
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
emcd_projects-1.60-py3-none-any.whl -
Subject digest:
6e962235b06217b82b420ff903e7713ae74ede0e0104d0acb5c6995859186e43 - Sigstore transparency entry: 2365541049
- Sigstore integration time:
-
Permalink:
emcd/python-project-common@393f0c0e0a974eb4db5facf68e3fa80dbbc0d2ba -
Branch / Tag:
refs/tags/v1.60 - Owner: https://github.com/emcd
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
releaser.yaml@393f0c0e0a974eb4db5facf68e3fa80dbbc0d2ba -
Trigger Event:
push
-
Statement type: