Automatically translates .ini/.cfg files into TOML
Project description
ini2toml
Automatically translates .ini/.cfg files into TOML
Description
The original purpose of this project is to help migrating setup.cfg files to PEP 621, but by extension it can also be used to convert any compatible .ini/.cfg file to TOML.
Please notice, the provided .ini/.cfg files should follow the same syntax supported by Python’s ConfigParser library (here referred to as INI syntax) and more specifically abide by ConfigUpdater restrictions (e.g., no interpolation or repeated fields).
Usage
ini2toml comes in two flavours: “lite” and “full”. The “lite” flavour will create a TOML document that does not contain any of the comments from the original .ini/.cfg file. On the other hand, the “full” flavour will make an extra effort to translate these comments into a TOML-equivalent (please notice sometimes this translation is not perfect, so it is always good to check the TOML document afterwards).
To get started, you need to install the package, which can be easily done using pipx:
$ pipx install 'ini2toml[lite]'
# OR
$ pipx install 'ini2toml[full]'
Now you can use ini2toml as a command line:
# in you terminal
$ ini2toml --help
$ ini2toml path/to/ini/or/cfg/file
You can also use ini2toml in your Python scripts or projects:
# in your python code
from ini2toml.api import Translator
profile_name = "setup.cfg"
toml_str = Translator().translate(original_contents_str, profile_name)
To do so, don’t forget to add it to your virtual environment or specify it as a project dependency.
More details about ini2toml and its Python API can be found in our docs.
Making Changes & Contributing
This project uses pre-commit, please make sure to install it before making any changes:
pip install pre-commit cd ini2toml pre-commit install
It is a good idea to update the hooks to the latest version:
pre-commit autoupdate
Don’t forget to tell your contributors to also install and use pre-commit.
Note
This project has been set up using PyScaffold 4.1rc1. For details and usage information on PyScaffold see https://pyscaffold.org/.
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 ini2toml-0.0.2.tar.gz
.
File metadata
- Download URL: ini2toml-0.0.2.tar.gz
- Upload date:
- Size: 79.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1fe461394d989f341f5ba41a5206a8e556f19ea7ff84889e9d9c688ace4ba62 |
|
MD5 | 01c5b582c4f1f80060a79d5610b87dd9 |
|
BLAKE2b-256 | c1580d76e8bab2f3ccc67474ca98b1d85b39b162135fa19731246ef32c496d73 |
File details
Details for the file ini2toml-0.0.2-py2.py3-none-any.whl
.
File metadata
- Download URL: ini2toml-0.0.2-py2.py3-none-any.whl
- Upload date:
- Size: 42.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2fe7adf18449785a42f9fb588ae1895c3637e8054ae7104e44000fbe6d7970b |
|
MD5 | cde50b390cbdd692fcc219cf1e920412 |
|
BLAKE2b-256 | 428b4ee49af2cef858ca2b14ad90b0faf13c24d30fbb5f1079f1a0e401bb2f3d |