Skip to main content

A simple library to handle filenames automatically for artifacts..

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

filenamemanager-0.3.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

filenamemanager-0.3.0-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

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

Hashes for filenamemanager-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1fc3015debe073eeba454d07cd27022a9bbef5ef2af1f1efb6c75a498f880c47
MD5 68dc2b63c93aa22a8e082cb87601051c
BLAKE2b-256 51bd81830f0ebc3e7f51ad4235501716327dd9b79ecaa0bcf6e6559208c33233

See more details on using hashes here.

File details

Details for the file filenamemanager-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for filenamemanager-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6fd8016697fa5803c3423903b689c8c5cd03df3f814606080cb7b6cb78f4827e
MD5 3d455f5fa83698e8cee0c7eda3c87db0
BLAKE2b-256 091a5a34966c350e5df076836413d333884192a3f1b984fa3e6ded67cf987317

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page