A minimal Python project template built with Poetry.
Project description
Minimal working example of a packaged Python project. Key integrations include:
- Build System (Poetry).
- Test Framework (PyTest).
- Auto-docs with Markdown and ReST support (pdoc).
- CI/CD (GitHub Actions).
Contents
Structure
Documentation is generated from Python docstrings and takes a structure mirroring that of the source code (API documentation).
Initial focus could be on high-level (public) APIs intended for direct use by end-users.
Developers can thus grow the documentation organically within a single task-based workflow. As soon as a new feature/function is added - the developer need only include a docstring in their commit and it will reflect in the hosted page.
Markdown and ReST support
The pdoc framework renders Markdown in docstrings to HTML:
- Lists
- Are
- Supported
As are code blocks:
# Example invocation
result: Type = function(param="value", *variadic_args, **variadic_kwargs)
Data models
The pydantic framework has quickly become the leading
data validation library for Python.
It's not a stretch to say that there's a whole ecosystem being built around it with everything from web frameworks to data science toolkits using it as the base for their data models.
From a documentation perspective, if you can describe your data source as a pydantic derived
data model and then group them accordingly
such links could be fronted as data schemas. Standard representations such as "JSON Schema" can
be generated directly from pydantic models.
This also has advantages for testing.
Advanced tools
The pdoc framework is arguably the simplest auto-documentation tool for Python.
Below are some more advanced tools that are popular with large open-source projects:
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 jambazid_poetry_demo-0.0.99.tar.gz.
File metadata
- Download URL: jambazid_poetry_demo-0.0.99.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82cff12e8ed2cd059009eddda9e680c3b5c2c907705b3735388787e94c7e0379
|
|
| MD5 |
f972b9de6fb61d33e0ba7b23a35ff0ce
|
|
| BLAKE2b-256 |
96737833bdb62cb8f57592fe821bfe75427455d60ec85f2142654cea5d1292e2
|
File details
Details for the file jambazid_poetry_demo-0.0.99-py3-none-any.whl.
File metadata
- Download URL: jambazid_poetry_demo-0.0.99-py3-none-any.whl
- Upload date:
- Size: 4.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de9dcf8cd469ba3149f1fd06a8ad9820bdbcddaa1967ba40cbcefb41dbc61151
|
|
| MD5 |
289bee745838a9f91acc4ca735102b4f
|
|
| BLAKE2b-256 |
2915e4f912e8dd013e5726b78ae3f5d601e25281921b06ed8604391f357af9b5
|