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 0s 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"strfor string parameters.str*for string parameters with * characters padded with 0 in the end.*strfor string parameters with * characters padded with 0 in the beginning.boolfor boolean parameters.*intfor 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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|