A utility for managing logging directories.
Project description
LogDir
A Python library for managing logging directories.
Source | PyPI | Conda | CI/CD | Docs | Docs Status |
---|---|---|---|---|---|
GitHub | logdir.btjanaka.net |
Installation
To install from PyPI, run:
pip install logdir
To install from Conda, run:
conda install -c conda-forge logdir
To install from source, clone this repo, cd into it, and run:
pip install .
logdir is tested on Python 3.7+. Earlier Python versions may work but are not guaranteed.
Usage
If your experiment is called My Experiment
, you can create a logging directory
for it with:
from logdir import LogDir
logdir = LogDir("My Experiment")
This will create a logging directory of the form
./logs/YYYY-MM-DD_HH-MM-SS_my-experiment
; you can change ./logs
by
passing in a second argument for the root directory when initializing LogDir
,
i.e. LogDir("My Experiment", "./different-log-dir")
.
You now have access to useful methods for creating files and saving data in the
directory. For example, start writing to a file new.txt
in the directory with:
with logdir.pfile("new.txt").open() as file:
file.write("Hello World!")
This takes advantage of the
pfile() method, which
creates a pathlib.Path
to the new file. It also uses pathlib.Path.open()
.
pfile()
will also create intermediate directories, so this will work even if
foo/bar/
does not exist in the logging directory already:
with logdir.pfile("foo/bar/new.txt").open() as file:
file.write("Hello World!")
There is also save_data(), which saves data to a file. JSON, YAML, TOML, and pickle files are currently supported.
logdir.save_data({"a": 1, "b": 2, "c": 3}, "file.json")
Finally, readme() adds a README.md to the directory with multiple pieces of information. For instance, this command:
logdir.readme(date=True, git_commit=True)
Will create something like:
# My Experiment
- Date: 2020-10-04 23:04:05
- Git Commit: e3rftyt543rt5y67jhtgr4yhju
See the API for all available methods.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file logdir-0.13.0.tar.gz
.
File metadata
- Download URL: logdir-0.13.0.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.7.17 Linux/5.15.0-1039-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b04e4a58220489fbb7e6ba4781a3f45f872ffbd529aa295ba8b4495007f1a7b5 |
|
MD5 | d15a1a3b97ee3c002228a2a0214bb824 |
|
BLAKE2b-256 | 6b1db98e43359fb75d7c4e1fdfeb400df3440f2410ac86f72ce1906e6dbce477 |
File details
Details for the file logdir-0.13.0-py3-none-any.whl
.
File metadata
- Download URL: logdir-0.13.0-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.7.17 Linux/5.15.0-1039-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 702dcd4952d14c54086ac0b58c71816ca068a9e589db6d8a123746090ee318c9 |
|
MD5 | 8991ee84b185b5e9b3e4deab717d5c80 |
|
BLAKE2b-256 | c27b681636a7a7422c113354ce06422b3722a339624ea21e6a06d7e5ac98d3b4 |