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
File details
Details for the file filenamemanager-0.3.0.tar.gz
.
File metadata
- Download URL: filenamemanager-0.3.0.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fc3015debe073eeba454d07cd27022a9bbef5ef2af1f1efb6c75a498f880c47 |
|
MD5 | 68dc2b63c93aa22a8e082cb87601051c |
|
BLAKE2b-256 | 51bd81830f0ebc3e7f51ad4235501716327dd9b79ecaa0bcf6e6559208c33233 |
File details
Details for the file filenamemanager-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: filenamemanager-0.3.0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fd8016697fa5803c3423903b689c8c5cd03df3f814606080cb7b6cb78f4827e |
|
MD5 | 3d455f5fa83698e8cee0c7eda3c87db0 |
|
BLAKE2b-256 | 091a5a34966c350e5df076836413d333884192a3f1b984fa3e6ded67cf987317 |