Skip to main content

Filename-Manager

pypi python Build Status codecov

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"
  • 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.

Metadata

Release files for filenamemanager 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for filenamemanager 0.3.0
File Size Uploaded
filenamemanager-0.3.0.tar.gz 7.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for filenamemanager 0.3.0
File Interpreter ABI Platform
filenamemanager-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.6 kB

Release files / filenamemanager-0.3.0.tar.gz

Download URL filenamemanager-0.3.0.tar.gz
Size 7.4 kB
Tags Source
SHA-256 checksum
How to use checksums
1fc3015debe073eeba454d07cd27022a9bbef5ef2af1f1efb6c75a498f880c47
BLAKE2b-256 checksum
How to use checksums
51bd81830f0ebc3e7f51ad4235501716327dd9b79ecaa0bcf6e6559208c33233
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / filenamemanager-0.3.0-py3-none-any.whl

Download URL filenamemanager-0.3.0-py3-none-any.whl
Size 6.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6fd8016697fa5803c3423903b689c8c5cd03df3f814606080cb7b6cb78f4827e
BLAKE2b-256 checksum
How to use checksums
091a5a34966c350e5df076836413d333884192a3f1b984fa3e6ded67cf987317
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page