- Fix validation of
--reader,--writer, and--patternoptions. This addresses a regression introduced in v0.10.0 while adding compatibility forclick8.2.
- toml: treat tomli as a separate entity from tomllib. This allows using tomli instead of tomllib from the stdlib on newer Python versions to take advantage of the mypyc speedups in tomli.
- Support Python 3.14
- cli: fix compatibility with click 8.2
- set: add top-level
replacecommand based onarrays replacethat operates on a single string key instead of an array of strings - set: add
--requiredflag to[arrays] replaceandarrays delitemsubcommands - set: add
regex_fullmatch,regex_partial, andregex_searchpattern types to[arrays] replaceandarrays delitem
- arrays delitem: add
--keyflag to access arrays of tables (see https://todo.sr.ht/~gotmax23/tomcli/9 andman tomcli-set-arraysfor more details!). - packaging: declare support for Python 3.13
- all: parsing of
SELECTORs is now more strict. Keys must be quoted if they contain characters that are not allowed as TOML keys without quotes. For example,tomcli-get foo.toml "multiple words", given thatfoo.tomlcontains"multiple words" = 1234, used to return1234but now errors. Usetomcli-get foo.toml "'multiple words'"instead. Trailing quotes are now handled properly, as well. - lists: the
listssubcommand has been renamed toarrays, to align with the TOML standard's name for that data type.listswill perpetually remain an alias to thearrayscommand; backwards compatibility is important to the tomcli project.
- doc: use proper unicode dashes in manpages
cli set del: allow removing multiple keys in one invocationformatters: add-F newline-keysand-F newline-values
- Remove support for Python 3.8
cli main: add command descriptioncli set: allow passing multiple values to the append commandcli: supportpython -m tomclidoc: add manpagesdoc: add mkdocs configuration
cli set: remove unnecessaryresilient_parsingconditionalcli get: properly handleFormatterErrorexceptions
- README.md: add usage examples
- tomcli.spec: add smoke tests
- tomcli.spec: add minimal py3_test_envvars def for EPEL 9
- build: use flit_core instead of hatchling as build backend
- cli: use click instead of typer as CLI framework
- cli: allow accessing keys containing dots
- cli set: add
truesubcommand - cli set: add
falsesubcommand - cli: add
--versionargument - cli: add parent
tomclicommand withsetandgetsubcommands - cli get: add
-F/--formatterarg to customize output - cli: add
tomcli-formatters/tomcli formatterscommand to list availablegetformatters
- cli set: add
lists delitemsubcommand
- Fully drop support for Python 3.7. Support for 3.7 was officially removed in the previous release, but the metadata was not updated correctly.
- add py.typed file
- declare support for Python 3.12
- cli set: add missing help messages
- cli set: add
lists replaceandlists strcommands
- cli: improve error handling
- drop support for Python 3.7
- tomcli-set: fix typo in error message
- tomcli-set: fix recursive dictionary creation
- tomcli.spec: add gnupg2 BuildRequires
- tomcli.spec: add missing extras subpackages
- tomcli.spec: include NEWS.md
- tomcli-get: fix broken toml backend fallback
- fix pronunciation description in packaging metadata and README
- cli: add tomcli-set subcommand
- packaging: add RPM specfile
- packaging: wire up automated copr builds.
- packaging: include shell completions in the RPM specfile
- internal: cleanup and increase tomlkit compat.
Dev builds are available at
gotmax23/tomcli-devand releases atgotmax23/tomcli.
Initial release of tomcli, a CLI tool for working with TOML files.
Pronounced "tohm-clee."
Currently, tomcli only provides tomcli-get command but more are planned!