Skip to main content

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)

Table of built distributions (wheels) for estrellio-weekly-report-processor 0.1.0
File Interpreter ABI Platform Actions
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 log

Security 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 log

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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page