progfiguration
PROGrammatic conFIGURATION. I'm tired of writing YAML when what I want to write is Python.
Development
Make and activate a venv, and install as editable.
python3 -m venv venv
. venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install --editable '.[development]'
From there:
progfiguration --helpto run the programinvoke -lto list tasks for building documentation, running tests, and making releases
Building and releasing
We only actually need to build a source version of the package, because progfiguration expects that your progfigsite package will pull in the source code. We avoid building the binary version because it takes longer.
Testing
Run tests with invoke tests.
Run with --slow to run slow tests too.
Special environment variables:
PROGFIGURATION_TEST_VERBOSE=1: Show verbose output, including stdout/stderr of commands run inside of testsPROGFIGURATION_TEST_DEBUG=1: Launch a debugger on any test failure or exceptionPROGFIGURATION_TEST_SLOW_ALL=1: Run all slow tests (same asinvoke tests --slow)PROGFIGURATION_TEST_SLOW_PACKAGING=1: Run just slow tests related to packaging (progfiguration build, etc)
Building the example sites
In the same venv as above:
# Install the example progfigsite
python3 -m pip install --editable 'tests/data/simple[development]'
# Run the progfigsite itself
progfigsite --help
Making a release
- Check out the
masterbranch. Make sure your checkout is clean, with all changes committed to git and pushed to Github - Set the version in
pyproject.tomland updatedocs/appendix/changelog.rst. Don't commit the change yet. We'll read this file to determine the version to tag in git and push to PyPI.- This will require Python 3.11 because we parse the TOML file directly with
tomllib. - We can't use
progfiguration versionfor this because it will return the version as it was at install time.
- This will require Python 3.11 because we parse the TOML file directly with
- Run
invoke make-release
The documentation will be updated with the lastest version number and content as well via Github Actions.
Metadata
Release files for progfiguration 0.0.10
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 | Actions |
|---|---|---|---|---|
| progfiguration-0.0.10.tar.gz | 46.6 kB | Without provenance | Details for progfiguration-0.0.10.tar.gz |
Release files / progfiguration-0.0.10.tar.gz
| Download URL | progfiguration-0.0.10.tar.gz |
|---|---|
| Size | 46.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b202ebc435be17d4985670f3d6144a07aefeebdfd1c241641b100ad7d4b2e0e6
|
|
BLAKE2b-256 checksum How to use checksums |
cc22dc326c05883b007cc490a6f6bfed0f2465d56140392434a1b38e14028304
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.4
|
Security for progfiguration 0.0.10
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.