PyLog2PDF
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)
| File | Size | Uploaded | |
|---|---|---|---|
| pylog2pdf-0.1.0.tar.gz | 4.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|