tomcli
CLI for working with TOML files. Pronounced "tom clee."
Links
- tomcli docsite
- tomcli project hub
- tomcli git.sr.ht repo
- tomcli tracker
- tomcli mailing list (~gotmax/tomcli@lists.sr.ht)
Examples
tomcli get
Query TOML files
Print a TOML table:
$ tomcli get pyproject.toml build-system
[build-system]
requires = ["flit_core >=3.2,<4"]
build-backend = "flit_core.buildapi"
Get a newline-separated list of strings:
$ tomcli get pyproject.toml --formatter newline-list project.dependencies
click
importlib_metadata; python_version<'3.11'
List all available formatters for use
with tomcli get -F / tomcli get --formatter:
$ tomcli-formatters
default
Use the `toml` formatter if the object is a Mapping and fall back to
`string`.
json
Return the JSON representation of the object
newline-keys
Return a newline-separated list of Mapping keys
newline-list
Return a newline separated list
newline-values
Return a newline-separated list of Mapping values
string
Print the Python str() representation of the object
toml
Return the TOML mapping of the object
tomcli set
Modify TOML files
Delete a TOML value:
$ tomcli set pyproject.toml del 'project.dependencies'
Set a value to true or false:
$ tomcli set pyproject.toml true 'tool.mypy.check_untyped_defs'
$ tomcli set pyproject.toml false 'tool.mypy.check_untyped_defs'
Set a float or int value:
$ tomcli set pyproject.toml float 'tool.coverage.run.fail_under' '90.0'
$ tomcli set pyproject.toml int 'tool.coverage.run.fail_under' '90'
Set a string value:
$ tomcli set pyproject.toml str 'project.readme' 'README.rst'
tomcli get arrays
Modify arrays within a TOML file
Remove all values that match a Python regex:
NOTE: The regex must match the entire string
$ tomcli set pyproject.toml arrays delitem \
'project.classifiers' 'Programming Language :: Python.*'
Remove all values that match an fnmatch-style pattern:
$ tomcli set pyproject.toml arrays delitem --type fnmatch \
'project.optional-dependencies.dev' '*cov*'
Replace values that match a Python regex:
NOTE: The regex must match the entire string
$ tomcli set pyproject.toml arrays replace \
'project.optional-dependencies.test' '(.+)==(.+)' '\1>=\2'
Create a list of strings:
## Create the new file
$ touch plays.toml
## Automatically creates the "Romeo and Juliet" table
$ tomcli set plays.toml arrays str \
'"Romeo and Juliet".characters' 'Romeo' 'Juliet' 'Mercuitio' 'Nurse'
Contributing
See CONTRIBUTING.md.
License
This repository is licensed under
SPDX-License-Identifer: MIT
Metadata
Release files for tomcli 0.10.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tomcli-0.10.1.tar.gz | 36.1 kB | Without provenance | Details for tomcli-0.10.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tomcli-0.10.1-py3-none-any.whl | Python 3 | none | any | Details for tomcli-0.10.1-py3-none-any.whl |
Total release size: 57.1 kB
Release files / tomcli-0.10.1.tar.gz
| Download URL | tomcli-0.10.1.tar.gz |
|---|---|
| Size | 36.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0a27c685620b10a0f389b1d55dc66ea904054b178176d41440de55d296e1109d
|
|
BLAKE2b-256 checksum How to use checksums |
27ded8dcb1700bc8339b93f2efd3b6ba1c0e990262ae2da51516424e2453e466
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Release files / tomcli-0.10.1-py3-none-any.whl
| Download URL | tomcli-0.10.1-py3-none-any.whl |
|---|---|
| Size | 21.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c6cb59a795544b291d001faa452039b10cc37f4395d168b16c79d1ec13b64bfc
|
|
BLAKE2b-256 checksum How to use checksums |
37c6d1316f907207ea3a5081175c37d04a7ebbe343247b73e213dc96fb2cb26f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Security for tomcli 0.10.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.