Skip to main content

Provides tools for managing config files.

Project description

cfgtools

Provides tools for managing config files.

Installation

$ pip install cfgtools

Requirements

pyyaml
lazyr
Faker
htmlmaster
toml
click

Usage

Save to a config file

>>> import cfgtools as cfg
>>> f = cfg.config({"foo": "bar", "this": ["is", "an", "example"]})
>>> f.save("test.cfg", "yaml") # or: f.to_yaml("test.cfg")

If not specifeid, the format of the file will be automatically detected according to the file suffix. Valid formats include ini, json, yaml, pickle, toml, etc. For example:

>>> f.save("test.yaml") # a yaml file is created
>>> f.save("test.pkl") # a pickle file is created
>>> f.save("unspecified.cfg") # by default a json file is created

Read from a config file

>>> cfg.read("test.cfg")
cfgtools.config({'foo': 'bar', 'this': ['is', 'an', 'example']})

The encoding and format of the file will be automatically detected if not specified.

Modify configs

>>> f["foo"] = None
>>> f["that"] = {"is": ["also", "an", "example"]}
>>> f
cfgtools.config({
    'foo': None, 'this': ['is', 'an', 'example'],
    'that': {'is': ['also', 'an', 'example']},
})

If user wants to check the changed items, run:

>>> f.view_change()         # auto mode now uses light style
>>> f.view_change("light")  # optimized for light/white backgrounds
>>> f.view_change("dark")   # optimized for dark/black backgrounds

See Also

Github repository

PyPI project

License

This project falls under the BSD 3-Clause License.

History

v0.1.0

  • Improved HTML rendering for large trees by collapsing/paginating overflow nodes for better readability.
  • Enhanced view_change() display styles with explicit light / dark themes and refined auto-mode behavior for consistent output.

v0.0.9

  • Bugfix when reading text files.

v0.0.8

  • Added a simple cli command cfg [OPTIONS] FILENAME.
  • Renamed ConfigIOWrapper.safematch() to ConfigIOWrapper.adapt().

v0.0.7

  • New method for BasicWrapper: *.asstr(), *.asint(), *.asfloat(), *.asbool(), *.asnone().

v0.0.6

  • Beautified the output of ConfigIOWrapper.view_change() through _repr_mimebundle_().

v0.0.5

  • Added support for .toml files.
  • New method for ConfigIOWrapper: *.view_change(), *.asdict(), *.aslist().

v0.0.4

  • Fixed a bug in path resolution.

v0.0.3

  • Added reliance on htmlmaster.

v0.0.2

  • New method ConfigIOWrapper.safematch().

v0.0.1

  • Initial release.

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

cfgtools-0.1.0.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cfgtools-0.1.0-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file cfgtools-0.1.0.tar.gz.

File metadata

  • Download URL: cfgtools-0.1.0.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for cfgtools-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a4c9b63b08088836d7d38d739014ae3f22fda9c72854cf8cef10fd7b61c88421
MD5 18f45b1acf47d621c7aa33b28ede5510
BLAKE2b-256 9916765ea5b5dc9fb0bcb75dabc4462d343d7313f91b52b9a159861fb8ab5c15

See more details on using hashes here.

File details

Details for the file cfgtools-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cfgtools-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for cfgtools-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 84b078dd5b7f144d9bb1fb45143600141fcebd25643b7520dff45141f0f28536
MD5 dbb7664b580712b27e324fda5fcbfbc7
BLAKE2b-256 014b56197f593b8958f538543e0037221b930c7d961b6fade13c3f5e4584851b

See more details on using hashes here.

Supported by

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