{"id":18774713,"url":"https://github.com/firefly-cpp/toml-adapt","last_synced_at":"2025-06-17T09:07:11.019Z","repository":{"id":42076240,"uuid":"372271910","full_name":"firefly-cpp/toml-adapt","owner":"firefly-cpp","description":"A very simple Command-line interface for manipulating toml files.","archived":false,"fork":false,"pushed_at":"2025-03-06T05:00:17.000Z","size":217,"stargazers_count":4,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-13T14:20:56.974Z","etag":null,"topics":["toml"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/firefly-cpp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-05-30T17:08:23.000Z","updated_at":"2025-02-03T21:21:56.000Z","dependencies_parsed_at":"2023-12-13T13:41:55.195Z","dependency_job_id":"375dc11f-54d5-424d-b0cc-25d37a2d141e","html_url":"https://github.com/firefly-cpp/toml-adapt","commit_stats":{"total_commits":92,"total_committers":5,"mean_commits":18.4,"dds":0.4130434782608695,"last_synced_commit":"1b2062271d64225623a4135d8b9f5cf5e64a4914"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firefly-cpp%2Ftoml-adapt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firefly-cpp%2Ftoml-adapt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firefly-cpp%2Ftoml-adapt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firefly-cpp%2Ftoml-adapt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/firefly-cpp","download_url":"https://codeload.github.com/firefly-cpp/toml-adapt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firefly-cpp%2Ftoml-adapt/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258763670,"owners_count":22753759,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["toml"],"created_at":"2024-11-07T19:39:09.175Z","updated_at":"2025-06-17T09:07:10.982Z","avatar_url":"https://github.com/firefly-cpp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  toml-adapt\n\u003c/h1\u003e\n\n\u003ch2 align=\"center\"\u003e\n  A simple command-line interface (CLI) for manipulating toml files\n\u003c/h2\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://pypi.python.org/pypi\"\u003e\n    \u003cimg alt=\"PyPI Version\" src=\"https://img.shields.io/pypi/v/toml-adapt.svg\"\u003e\n  \u003c/a\u003e\n  \u003cimg alt=\"PyPI - Python Version\" src=\"https://img.shields.io/pypi/pyversions/toml-adapt.svg\"\u003e\n  \u003cimg alt=\"PyPI - Downloads\" src=\"https://img.shields.io/pypi/dm/toml-adapt.svg\"\u003e\n  \u003ca href=\"https://repology.org/project/toml-adapt/versions\"\u003e\n    \u003cimg alt=\"Packaging status\" src=\"https://repology.org/badge/tiny-repos/toml-adapt.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://src.fedoraproject.org/rpms/python-toml-adapt\"\u003e\n    \u003cimg alt=\"Fedora package\" src=\"https://img.shields.io/fedora/v/python3-toml-adapt?color=blue\u0026label=Fedora%20Linux\u0026logo=fedora\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://aur.archlinux.org/packages/toml-adapt\"\u003e\n    \u003cimg alt=\"AUR package\" src=\"https://img.shields.io/aur/version/toml-adapt?color=blue\u0026label=Arch%20Linux\u0026logo=arch-linux\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pepy.tech/project/toml-adapt\"\u003e\n    \u003cimg alt=\"Downloads\" src=\"https://pepy.tech/badge/toml-adapt\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/firefly-cpp/toml-adapt/blob/master/LICENSE\"\u003e\n    \u003cimg alt=\"GitHub license\" src=\"https://img.shields.io/github/license/firefly-cpp/toml-adapt.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/firefly-cpp/toml-adapt/actions/workflows/python-app.yml\"\u003e\n    \u003cimg alt=\"GitHub Actions\" src=\"https://github.com/firefly-cpp/toml-adapt/actions/workflows/python-app.yml/badge.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://toml-adapt.readthedocs.io/en/latest/?badge=latest\"\u003e\n    \u003cimg alt=\"Documentation Status\" src=\"https://readthedocs.org/projects/toml-adapt/badge/?version=latest\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"GitHub commit activity\" src=\"https://img.shields.io/github/commit-activity/w/firefly-cpp/toml-adapt.svg\"\u003e\n  \u003ca href='http://isitmaintained.com/project/firefly-cpp/toml-adapt \"Average time to resolve an issue\"'\u003e\n    \u003cimg alt=\"Average time to resolve an issue\" src=\"http://isitmaintained.com/badge/resolution/firefly-cpp/toml-adapt.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href='http://isitmaintained.com/project/firefly-cpp/toml-adapt \"Percentage of issues still open\"'\u003e\n    \u003cimg alt=\"Percentage of issues still open\" src=\"http://isitmaintained.com/badge/open/firefly-cpp/toml-adapt.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"#-contributors\"\u003e\n    \u003cimg alt=\"All Contributors\" src=\"https://img.shields.io/badge/all_contributors-4-orange.svg\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://doi.org/10.5281/zenodo.10467167\"\u003e\n    \u003cimg alt=\"DOI\" src=\"https://zenodo.org/badge/DOI/10.5281/zenodo.10467167.svg\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#-features\"\u003e🚀 Features\u003c/a\u003e •\n  \u003ca href=\"#️-supported-packaging-tools\"\u003e🛠️ Supported packaging tools\u003c/a\u003e •\n  \u003ca href=\"#-installation\"\u003e📦 Installation\u003c/a\u003e •\n  \u003ca href=\"#-usage\"\u003e🚀 Usage\u003c/a\u003e •\n  \u003ca href=\"#-cite-us\"\u003e📄 Cite us\u003c/a\u003e •\n  \u003ca href=\"#-license\"\u003e🔑 License\u003c/a\u003e •\n  \u003ca href=\"#-contributors\"\u003e✨ Contributors\u003c/a\u003e\n\u003c/p\u003e\n\nWorking with TOML files is becoming inevitable during the package maintenance process in different ecosystems. 🌐 Many times package maintainers must either change the version of dependency or add/remove dependencies when building their packages, due to the inconsistent base system. For example, solving this issue can be done either by using the provided patches or using sed commands. However, this may be slightly time-consuming and irritating. ⏳ A very simple yet user-friendly command line interface was developed in order to make this process easier. ⚙️📄🛠️\n\n* **Free software:** MIT license\n* **Python versions:** 3.8.x, 3.9.x, 3.10.x, 3.11.x, 3.12.x\n* **Documentation:** https://toml-adapt.readthedocs.io/en/latest\n* **Tested OS:** Windows, Ubuntu, Debian, Fedora, Alpine, Arch, macOS. **However, that does not mean it does not work on others.**\n\n## 🚀 Features\n\nCLI currently supports the following operations:\n\n- adding/removing dependencies\n- changing the  dependency version\n- changing the dependency versions of all packages concurrently\n- adding/removing/changing dev dependencies\n\n## 🛠️ Supported packaging tools\n\nThe following packaging tools are currently supported by this software:\n\n- poetry\n- flit\n- cargo\n- julia (partly)\n\n## 📦 Installation\n\n### pip3\n\nTo install `toml-adapt` with pip, use:\n\n```sh\npip install toml-adapt\n```\n\n### Fedora Linux\n\nTo install `toml-adapt` on Fedora, use:\n\n```sh\n$ dnf install python-toml-adapt\n```\n\n### Alpine Linux\n\nTo install `toml-adapt` on Alpine Linux, use:\n\n```sh\n$ apk add toml-adapt\n```\n\n### Arch Linux\n\nTo install `toml-adapt` on Arch Linux, use an [AUR helper](https://wiki.archlinux.org/title/AUR_helpers):\n\n```sh\n$ yay -Syyu toml-adapt\n```\n\n## 🚀 Usage\n\n`-a` Available actions are:\n- add\n- remove\n- change\n- add-dev\n- remove-dev\n- change-dev\n\n`-path` Specifies the path to the TOML file you wish to edit.\n\n`-dep` This option sets the name of dependency you wish to manipulate. Reserved keyword `ALL` will instead do action on all dependencies. \n\n`-ver` This option sets the version. With Python Poetry, there is reserved keyword `X`, which will become `*` (meaning it accepts any version of dependency).\n\nThe following are examples of usage:\n\n### Change dependency\n```sh\ntoml-adapt -path pyproject.toml -a change -dep niaclass -ver 0.1.0\n```\n\n### Add dependency\n```sh\ntoml-adapt -path pyproject.toml -a add -dep niaclass -ver 0.1.0\n```\n\n### Remove dependency\n```sh\ntoml-adapt -path pyproject.toml -a remove -dep niaclass -ver 0.1.0\n```\n\n### Other examples\n\nChange all existing dependencies in toml file\n```sh\ntoml-adapt -path pyproject.toml -a change -dep ALL -ver X\n```\nX represents a *\n\n### How to use it in SPEC files?\n\n```sh\n%prep\n...\n\t\n## Make dependencies consistent with Fedora dependencies\n\t\ntoml-adapt -path pyproject.toml -a change -dep ALL -ver X\n```\n\n## 📄 Cite us\n\nFister, Jr., I., \u0026 Strajnar, F. (2024). firefly-cpp/toml-adapt: 0.3.1 (0.3.1). Zenodo. [https://doi.org/10.5281/zenodo.10467167](https://doi.org/10.5281/zenodo.10467167)\n\n## 🔑 License\n\nThis package is distributed under the MIT License. This license can be found online at \u003chttp://www.opensource.org/licenses/MIT\u003e.\n\n## Disclaimer\n\nThis framework is provided as-is, and there are no guarantees that it fits your purposes or that it is bug-free. Use it at your own risk!\n\n## ✨ Contributors\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://www.iztok-jr-fister.eu/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1633361?v=4?s=100\" width=\"100px;\" alt=\"Iztok Fister Jr.\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eIztok Fister Jr.\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/firefly-cpp/toml-adapt/commits?author=firefly-cpp\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#platform-firefly-cpp\" title=\"Packaging/porting to new platform\"\u003e📦\u003c/a\u003e \u003ca href=\"#example-firefly-cpp\" title=\"Examples\"\u003e💡\u003c/a\u003e \u003ca href=\"#ideas-firefly-cpp\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#mentoring-firefly-cpp\" title=\"Mentoring\"\u003e🧑‍🏫\u003c/a\u003e \u003ca href=\"https://github.com/firefly-cpp/toml-adapt/commits?author=firefly-cpp\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/StrajnarFilip\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/46705237?v=4?s=100\" width=\"100px;\" alt=\"StrajnarFilip\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eStrajnarFilip\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/firefly-cpp/toml-adapt/commits?author=StrajnarFilip\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/firefly-cpp/toml-adapt/commits?author=StrajnarFilip\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"#ideas-StrajnarFilip\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#example-StrajnarFilip\" title=\"Examples\"\u003e💡\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/musicinmybrain\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/6898909?v=4?s=100\" width=\"100px;\" alt=\"Ben Beasley\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBen Beasley\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/firefly-cpp/toml-adapt/commits?author=musicinmybrain\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#platform-musicinmybrain\" title=\"Packaging/porting to new platform\"\u003e📦\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/kloczek\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/31284574?v=4?s=100\" width=\"100px;\" alt=\"Tomasz Kłoczko\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTomasz Kłoczko\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/firefly-cpp/toml-adapt/issues?q=author%3Akloczek\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://carlosal1015.github.io\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/21283014?v=4?s=100\" width=\"100px;\" alt=\"Oromion\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eOromion\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#platform-carlosal1015\" title=\"Packaging/porting to new platform\"\u003e📦\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/lahovniktadej\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/57890734?v=4?s=100\" width=\"100px;\" alt=\"Tadej Lahovnik\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTadej Lahovnik\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/firefly-cpp/toml-adapt/commits?author=lahovniktadej\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#tutorial-lahovniktadej\" title=\"Tutorials\"\u003e✅\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirefly-cpp%2Ftoml-adapt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffirefly-cpp%2Ftoml-adapt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirefly-cpp%2Ftoml-adapt/lists"}