Technical Documentation Tools
Project description
doctls
Technical Documentation Tools for documentation projects that combine LaTeX sources with structured input files.
Installation
Create or update the local development environment with uv:
uv sync --group dev
For an editable install with the active Python interpreter:
python -m pip install -e .
CLI Usage
Show the installed package version:
doctls --version
Expected output:
doctls 0.1.0
Show the command help:
doctls
Development
Install the development dependencies:
uv sync --group dev
Run the test suite directly:
python -m pytest
Run the fast local or AI inner-loop checks through tox:
uv run tox
The default tox command runs tests, linting, formatting checks, type checking, and traceability validation. It skips the duplicate coverage run so routine development feedback stays fast.
Run one test file or test function through the tox test environment:
uv run tox -e py -- tests/integration/test_cli_entry_point.py
Run individual tox environments when working on one check:
uv run tox -e py
uv run tox -e coverage
uv run tox -e lint
uv run tox -e format
uv run tox -e type
uv run tox -e traceability
Run the full local validation before final handoff, CI changes, or release work:
uv run tox -e py,coverage,lint,format,type,traceability,build
GitHub Actions runs the same full tox validation on pull requests and pushes to
the protected main branch. CI fails when tests fail, coverage drops below the
configured threshold, Ruff linting or formatting checks fail, mypy reports type
errors, traceability validation fails, or package build and twine check
validation fail. The CI workflow only verifies distributable artefacts; it does
not upload packages to TestPyPI or PyPI.
Run package build validation directly:
uv run python -m build
uv run twine check dist/*
The build command writes the source distribution and wheel into dist/.
Generated build artefacts are ignored by source control.
Run the build validation through tox:
uv run tox -e build
Version metadata is defined in pyproject.toml. Final release versions use
semantic versioning in MAJOR.MINOR.PATCH form, for example 0.1.0.
Pre-release and release-candidate versions use the corresponding Python package
version forms, for example 0.1.0a1, 0.1.0b1, and 0.1.0rc1.
Release and publication procedures, including the pre-publication gate,
TestPyPI verification, PyPI API-token credentials, changelog updates, and
manual twine upload commands, are documented in Release and Publication.
Future CI and release validation should extend the full validation command instead of replacing the default tox command.
Run pre-commit checks across the repository:
uv run pre-commit run --all-files
Validate the requirements verification traceability report:
uv run python scripts/validate_traceability.py
Package Resources
Runtime resources that must be available from installed packages belong under
src/doctls/resources/. Future LaTeX classes, style files, templates, and
related assets should be placed in that directory tree.
Package resource inclusion is configured in pyproject.toml with Hatch build
includes. Python code should access these files through importlib.resources
or the package helper in doctls.resource_access, not by assuming repository
file-system paths.
Automation
Phase implementation can be run with the local PowerShell phase runner. See Phase Runner Automation for prerequisites, commands, outcome handling, logs, and notification sounds.
Project details
Release history Release notifications | RSS feed
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 doctls-0.1.0.tar.gz.
File metadata
- Download URL: doctls-0.1.0.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0be5dbb38e2bd6b987d58a8341ea89a9488005434b558dcabb378b7f9830d95e
|
|
| MD5 |
3bc5fd0a259ac1b4c23486b722943692
|
|
| BLAKE2b-256 |
4bd46c3a2a07203f6264368d2d3426aee4a5e361817d2c9081d3ac37ce079e19
|
File details
Details for the file doctls-0.1.0-py3-none-any.whl.
File metadata
- Download URL: doctls-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe74e883b926c0461bb9d23e51ca191ffecbdd5b4c66e4b78b84be56eb00e4b0
|
|
| MD5 |
85b07a4a238c9789cfc92613315dab06
|
|
| BLAKE2b-256 |
c494521e99dd89d1583568cf5246fc8bfbb49c1fded6c8d26ed2cef46106a320
|