Skip to main content

Magazine

PyPi Version MIT License Read the Docs Issues
Let your code take comprehensive notes and publish notes and figures as a beautiful consolidated PDF document.

Idea

The magazine package helps you to create beautiful PDF reports of what has been done during the execution of your app.

  1. Your scripts or submodules can write topical reports in plain human-readable text, which could also include numerical results, data tables, figures, or citations.
  2. The collection of topics can be used to publish a glossy PDF document.

Example

from magazine import Magazine, Publish

E = 42
Magazine.report("Experiment", "The analysis found that energy equals {} Joule.", E)
Magazine.cite("10.1002/andp.19163540702")

with Publish("Report.pdf", "My physics report", info="Version 0.1") as M:
    M.add_topic("Experiment")
    M.add_references()

Instead of inline commands, you can also use a decorator to automatically write and format the content of the docstring section "Report" and its "References" section into the report.

@Magazine.reporting("Physics")
def Method_A(a, b, c=3):
    """
    A complex method to calculate the sum of numbers.

    Report
    ------
    The method "{function}" used input parameters a={a}, b={b}, and c={c}.
    Calculations have been performed following Einstein et al. (1935).
    The result was: {return}. During the process, the magic number {magic} appeared.

    References
    ----------
    Einstein, A., Podolsky, B., & Rosen, N. (1935). Can Quantum-Mechanical Description of Physical Reality Be Considered Complete? Physical Review, 47(10), 777–780. https://doi.org/10.1103/physrev.47.777

    """
    result = a + b + c

    # Function "_report" is provided by the decorator to communicate more variables
    magic = 42

    return result

# When the function is called, it is automatically reported.
Method_A(2, 3, c=4)

Output in the PDF:

The method "Method_A" used input parameters (2, 3), and c=4. Calculations have been performed following Einstein et al. (1935). The result was: 9. During the process, the magic number 42 appeared.

Check also example.py and output/Magazine.pdf for more full examples.

Example output PDF report

Documentation

A documentation and API reference can be found on ReadTheDocs:

Install

pip install magazine

If you are working with uv, use uv add magazine.

Requires:

  • fpdf2
  • habanero (optional, for academic citations)
  • neatlogger (wrapper for loguru)

Acknowledgements

  • Uses the Google font Roboto as it just looks great in PDFs.

Metadata

Release files for Magazine 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Magazine 0.4.0
File Size Uploaded
magazine-0.4.0.tar.gz 292.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Magazine 0.4.0
File Interpreter ABI Platform
magazine-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 585.9 kB

Release files / magazine-0.4.0.tar.gz

Download URL magazine-0.4.0.tar.gz
Size 292.7 kB
Tags Source
SHA-256 checksum
How to use checksums
99c0ed467ba0f8d0a5bd755de857ec9d024a80409815ba3906eeee0522f37535
BLAKE2b-256 checksum
How to use checksums
eba6ca03814468e38a07c7ae699961ffa34c22bbad76c461cf6d9d0c63873bef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.5

Release files / magazine-0.4.0-py3-none-any.whl

Download URL magazine-0.4.0-py3-none-any.whl
Size 293.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
97d88d091667593771973c0b04e02f8ca7826cd44b6aa35064a53eeec608bd4e
BLAKE2b-256 checksum
How to use checksums
4fb04d8ae073eac89edefa334aab00254c1a4226607e2a552e095b567bc7093d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.5

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1

2 release files

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