Skip to main content

PyLog2PDF

PyPI Python Test License

PDF, a visualisation of your calculation, can have essentials of your code.

Features

This library provides:

  • Log of Python classes and/or functions you employed.
  • Interface to save the log to PDF file.

Installation

pip install pylog2pdf

Usage

Log your classes and/or functions

>>> from pylog2pdf import LoggedClass, LoggedFunction

# Define your class or function with decorator
>>> @LoggedClass
... class MyNewClass:
...     pass

>>> @LoggedFunction
... def my_new_function():
...     pass

# Or using them as normal functions
>>> OtherLoggedClass = LoggedClass(OtherClass)
>>> other_logged_function = LoggedFunction(other_function)

I strongly recommend the use of class inheritance like the following. It's quite useful when determining which parameter is employed in calculation.

@LoggedClass
class Sun:

    distance: u.Quantity
    radius: u.Quantity

    def some_calculation(self, ...):
        pass

    def other_calculation(self, ...):
        pass


class ThisThesis(Sun):
    distance = 1.5e8 << u.m
    radius = 696e3 << u.km

class OtherThesis(Sun):
    distance = 1 << u.AU
    radius = 695e3 << u.km

When you use ThisThesis class, the log will be:

>>> pylog2pdf.LOG
{'Sun': 'ThisThesis'}

Of cource you can manually add anything you want to save:

>>> pylog2pdf["ThisParameter"] = 100 << u.K

Save the log to PDF file

Write the log to pdf file:

>>> pdf_path = "path/to/figure.pdf"
>>> fig.savefig(pdf_path)  # Create a pdf file first
>>> pylog2pdf.write_log(pdf_path)

Then you can read the log:

>>> pdf_path = "path/to/pdf/you/saved.pdf"
>>> pylog2pdf.read_log(pdf_path)
{'Sun': 'ThisThesis'}

This library is using Semantic Versioning.

Release files for pylog2pdf 0.1.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 pylog2pdf 0.1.0
File Size Uploaded
pylog2pdf-0.1.0.tar.gz 4.1 kB Details

Built distribution (wheel)

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

Total release size: 8.6 kB

Release files / pylog2pdf-0.1.0.tar.gz

Download URL pylog2pdf-0.1.0.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c26e87b1f2efd6a14c30138ca157a79ea4c113bd6b003a17008c917ed4e32e0e
BLAKE2b-256 checksum
How to use checksums
168869a11d4ef55f9c1f73680ae23116024d082dbe417cede5fe62e3e6ddbf28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.11 CPython/3.8.12 Linux/5.8.0-1042-azure

Release files / pylog2pdf-0.1.0-py3-none-any.whl

Download URL pylog2pdf-0.1.0-py3-none-any.whl
Size 4.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a67a9698ed1328a8d383b6d1cbe531a89723792e38bae0e8b8398563134a7a0f
BLAKE2b-256 checksum
How to use checksums
25e15dfa51cf8c5580f670c3c3855dea4dbe807200833c2350559078c1f35ee4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.11 CPython/3.8.12 Linux/5.8.0-1042-azure

Release history Release notifications | RSS feed

This release

0.1.0 This release

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