Weekly report processor
A standard-library-only Python package for structured Markdown weekly reports: XLSX and Outlook-friendly HTML export, weekly archiving, status sorting, and missing-field completion. Python 3.10 or newer. MIT license.
Install and use
pip install estrellio-weekly-report-processor
weekly-report -i report.md
weekly-report archive_weekly_progress -i report.md --output archived.md
weekly-report -i report.md --config layout.json --banner-week-offset -1
The default operation exports both XLSX and HTML beside the input. Explicit
conversion commands choose one format. Maintenance commands rewrite the input
unless --output is supplied. They never invoke Git. Errors return a nonzero
exit status; successful commands print the generated paths.
Input and output paths are relative to the working directory. Image references
are resolved relative to the input Markdown. There is no automatic repository,
local configuration, or environment-profile discovery. --config explicitly
selects a JSON layout; a missing or invalid file fails. Without it, code defaults
apply. See tests/fixtures/sample.md for the heading structure and
tests/fixtures/layout.json for layout options.
Python interface
from weekly_report_processor import convert_report_markdown_to_excel
convert_report_markdown_to_excel("report.md", "report.xlsx")
Public functions also support HTML rendering, Markdown parsing/rendering,
archiving, sorting and field completion. ReportLayoutConfig carries formatting,
structure and optional project policy. A configuration can supply:
{
"project_rules": [["Example", "Example "]],
"default_project": "Other",
"project_order": ["Example", "Other"],
"variants": [["Complete report", null], ["Example report", "Example"]]
}
Rules use the first case-sensitive title substring match. Unknown projects sort stably after explicitly ordered ones. A null variant project exports all tasks; a named variant filters tasks and summary entries. Other report sections are preserved. Variant titles become filename suffixes and must be unique, filename-safe names. The default policy has no named projects or variants and produces one unfiltered report per requested format. Configuration is loaded per call; no global project registry is modified.
Development and release
Run python -m pytest -q tests. Build with python -m build --wheel, check with
python -m twine check --strict dist/*.whl and python scripts/check_dist.py dist.
Install the exact wheel and pytest in a separate virtual environment, then run
python scripts/verify_install.py 0.1.0 with that environment's interpreter.
The verifier copies tests outside the checkout and uses isolated Python mode.
Source is maintained in a private GitHub repository. Only the pure Python wheel
is published. Version tags trigger the publish.yml workflow after Linux and
Windows installation tests on Python 3.10 and 3.12. Publishing uses the pypi
environment and PyPI Trusted Publishing.
Metadata
Release files for estrellio-weekly-report-processor 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| estrellio_weekly_report_processor-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for estrellio_weekly_report_processor-0.1.0-py3-none-any.whl |
Release files / estrellio_weekly_report_processor-0.1.0-py3-none-any.whl
| Download URL | estrellio_weekly_report_processor-0.1.0-py3-none-any.whl |
|---|---|
| Size | 38.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3a4983227a5592c07cd38aa209bdb419b54be777c6df3412bdfe0864553f0187
|
|
BLAKE2b-256 checksum How to use checksums |
c66e6b9791b67261183f4444a5a4200bd63041f25a4462432d7aa7485b1a78e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logSecurity for estrellio-weekly-report-processor 0.1.0
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.
Full provenance
All 1 file in this release has been uploaded with provenance metadata.
Attestation for estrellio_weekly_report_processor-0.1.0-py3-none-any.whl
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logA 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.