A simple library to handle filenames automatically for artifacts..
Project description
Filename-Manager
A simple Python library to handle filenames automatically for artifacts.
Install
pip install filenamemanager
Features
This library helps to convert a set of parameters into filenames and vice versa.
When running a script depending on parameters par1
(str) and par2
(float), you might want to save artifacts with a filename generated by these parameters.
You can decide how to format each parameter in the saved filename, e.g. fp4.4
will padd the float with leading 0
s and with 4 digits. For example, 1.2
will be 0001.2000
.
Save artifacts
from filename_manager import FilenameManager
fm = FilenameManager({"par1": "str", "par2": "fp.4.4}"}, prefix="subfolder/prefix", postfix=".csv")
# define your parameters
par1 = "Hello"
par2 = "3.11"
# super fancy script
results = "placeholder"
# create filename
filename=fm.encode(par1=par1, par2=par2)
# save
...
the filename will be subfolder/prefix_par1_Hello_par2_0003.1100.csv
.
Load artifacts
from filename_manager import FilenameManager
fm = FilenameManager({"par1": "str", "par2": "fp.4.4}"}, prefix="subfolder/prefix", postfix=".csv")
# get your filename
filename = "subfolder/prefix_par1_Hello_par2_0003.1100.csv"
# parse filename
pars = fm.decode(filename)
The variable pars
is a dictionary with {"par1": "Hello", "par2": 3.11}
.
Documentation
The documentation is given in the docstrings. Only two classes exist. Parameter
and FilenameManager
.
The supported formats are
fp*.*
for floating point parameters. E.g. "fp4.3" formats 1.2 as "0001.200"str
for string parameters.str*
for string parameters with * characters padded with 0 in the end.*str
for string parameters with * characters padded with 0 in the beginning.bool
for boolean parameters.*int
for integer parameters with * leading zeros.
Credits
This package was created with Cookiecutter and the waynerv/cookiecutter-pypackage project template.
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
Hashes for filenamemanager-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fd8016697fa5803c3423903b689c8c5cd03df3f814606080cb7b6cb78f4827e |
|
MD5 | 3d455f5fa83698e8cee0c7eda3c87db0 |
|
BLAKE2b-256 | 091a5a34966c350e5df076836413d333884192a3f1b984fa3e6ded67cf987317 |