toml-adapt

A very simple Command-line interface for manipulating toml files.

https://github.com/firefly-cpp/toml-adapt

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.2%) to scientific vocabulary

Keywords

toml

Keywords from Contributors

swarm-intelligence evolutionary-algorithms optimization-algorithms association-rule-mining association-rules data-mining microframework nature-inspired-algorithms metaheuristics interactive
Last synced: 4 months ago · JSON representation ·

Repository

A very simple Command-line interface for manipulating toml files.

Basic Info
  • Host: GitHub
  • Owner: firefly-cpp
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 246 KB
Statistics
  • Stars: 4
  • Watchers: 3
  • Forks: 3
  • Open Issues: 3
  • Releases: 24
Topics
toml
Created over 4 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog License Code of conduct Citation Authors

README.md

toml-adapt

A simple command-line interface (CLI) for manipulating toml files

PyPI Version PyPI - Python Version PyPI - Downloads Packaging status Fedora package AUR package Downloads GitHub license GitHub Actions Documentation Status

GitHub commit activity Average time to resolve an issue Percentage of issues still open All Contributors

DOI

🚀 Features🛠️ Supported packaging tools📦 Installation🚀 Usage📄 Cite us🔑 License✨ Contributors

Working 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. ⚙️📄🛠️

  • Free software: MIT license
  • Python versions: 3.8.x, 3.9.x, 3.10.x, 3.11.x, 3.12.x
  • Documentation: https://toml-adapt.readthedocs.io/en/latest
  • Tested OS: Windows, Ubuntu, Debian, Fedora, Alpine, Arch, macOS. However, that does not mean it does not work on others.

🚀 Features

CLI currently supports the following operations:

  • adding/removing dependencies
  • changing the dependency version
  • changing the dependency versions of all packages concurrently
  • adding/removing/changing dev dependencies

🛠️ Supported packaging tools

The following packaging tools are currently supported by this software:

  • poetry
  • flit
  • cargo
  • julia (partly)

📦 Installation

pip3

To install toml-adapt with pip, use:

sh pip install toml-adapt

Fedora Linux

To install toml-adapt on Fedora, use:

sh $ dnf install python-toml-adapt

Alpine Linux

To install toml-adapt on Alpine Linux, use:

sh $ apk add toml-adapt

Arch Linux

To install toml-adapt on Arch Linux, use an AUR helper:

sh $ yay -Syyu toml-adapt

🚀 Usage

-a Available actions are: - add - remove - change - add-dev - remove-dev - change-dev

-path Specifies the path to the TOML file you wish to edit.

-dep This option sets the name of dependency you wish to manipulate. Reserved keyword ALL will instead do action on all dependencies.

-ver This option sets the version. With Python Poetry, there is reserved keyword X, which will become * (meaning it accepts any version of dependency).

The following are examples of usage:

Change dependency

sh toml-adapt -path pyproject.toml -a change -dep niaclass -ver 0.1.0

Add dependency

sh toml-adapt -path pyproject.toml -a add -dep niaclass -ver 0.1.0

Remove dependency

sh toml-adapt -path pyproject.toml -a remove -dep niaclass -ver 0.1.0

Other examples

Change all existing dependencies in toml file sh toml-adapt -path pyproject.toml -a change -dep ALL -ver X X represents a *

How to use it in SPEC files?

```sh %prep ...

Make dependencies consistent with Fedora dependencies

toml-adapt -path pyproject.toml -a change -dep ALL -ver X ```

📄 Cite us

Fister, Jr., I., & Strajnar, F. (2024). firefly-cpp/toml-adapt: 0.3.1 (0.3.1). Zenodo. https://doi.org/10.5281/zenodo.10467167

🔑 License

This package is distributed under the MIT License. This license can be found online at http://www.opensource.org/licenses/MIT.

Disclaimer

This 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!

✨ Contributors

Thanks goes to these wonderful people (emoji key):

Iztok Fister Jr.
Iztok Fister Jr.

💻 📦 💡 🤔 🧑‍🏫 📖
StrajnarFilip
StrajnarFilip

💻 ⚠️ 🤔 💡
Ben Beasley
Ben Beasley

📖 📦
Tomasz Kłoczko
Tomasz Kłoczko

🐛
Oromion
Oromion

📦
Tadej Lahovnik
Tadej Lahovnik

📖

This project follows the all-contributors specification. Contributions of any kind welcome!

Owner

  • Name: Iztok Fister Jr.
  • Login: firefly-cpp
  • Kind: user
  • Location: Slovenia

Citation (CITATION.cff)

authors:
- family-names: Fister, Jr.
  given-names: Iztok
  orcid: 0000-0002-6418-1272
- family-names: Strajnar
  given-names: Filip
- family-names: Beasley
  given-names: Ben
cff-version: 1.2.0
date-released: '2024-01-07'
doi: 10.5281/zenodo.10467167
license:
- mit
repository-code: https://github.com/firefly-cpp/toml-adapt/tree/0.3.1
title: 'firefly-cpp/toml-adapt: 0.3.1'
type: software
version: 0.3.1

GitHub Events

Total
  • Create event: 3
  • Release event: 1
  • Issues event: 1
  • Watch event: 1
  • Delete event: 1
  • Issue comment event: 1
  • Push event: 3
  • Pull request event: 2
Last Year
  • Create event: 3
  • Release event: 1
  • Issues event: 1
  • Watch event: 1
  • Delete event: 1
  • Issue comment event: 1
  • Push event: 3
  • Pull request event: 2

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 120
  • Total Committers: 7
  • Avg Commits per committer: 17.143
  • Development Distribution Score (DDS): 0.4
Past Year
  • Commits: 4
  • Committers: 3
  • Avg Commits per committer: 1.333
  • Development Distribution Score (DDS): 0.5
Top Committers
Name Email Commits
firefly-cpp i****k@i****u 72
allcontributors[bot] 4****] 18
Filip Strajnar f****r@g****m 17
Tadej Lahovnik t****k@s****i 5
Benjamin A. Beasley c****e@m****t 4
dependabot[bot] 4****] 3
Carlos Aznarán Laos c****l@u****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 15
  • Total pull requests: 38
  • Average time to close issues: 27 days
  • Average time to close pull requests: 3 days
  • Total issue authors: 2
  • Total pull request authors: 7
  • Average comments per issue: 2.13
  • Average comments per pull request: 0.5
  • Merged pull requests: 34
  • Bot issues: 0
  • Bot pull requests: 20
Past Year
  • Issues: 0
  • Pull requests: 7
  • Average time to close issues: N/A
  • Average time to close pull requests: 25 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 5
Top Authors
Issue Authors
  • firefly-cpp (13)
  • kloczek (2)
Pull Request Authors
  • dependabot[bot] (11)
  • allcontributors[bot] (9)
  • StrajnarFilip (7)
  • lahovniktadej (5)
  • musicinmybrain (4)
  • firefly-cpp (1)
  • carlosal1015 (1)
Top Labels
Issue Labels
enhancement (3) good first issue (1)
Pull Request Labels
dependencies (11) python (5)

Packages

  • Total packages: 21
  • Total downloads:
    • pypi 75 last-month
  • Total docker downloads: 34
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 65
  • Total maintainers: 2
alpine-v3.18: toml-adapt-doc

A simple command-line interface (CLI) for manipulating toml files (documentation)

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 14.4%
Forks count: 28.6%
Stargazers count: 29.2%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.18: toml-adapt-pyc

Precompiled Python bytecode for toml-adapt

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 14.4%
Forks count: 28.6%
Stargazers count: 29.2%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.18: toml-adapt

A simple command-line interface (CLI) for manipulating toml files

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 14.4%
Forks count: 28.6%
Stargazers count: 29.2%
Maintainers (1)
Last synced: 4 months ago
pypi.org: toml-adapt

A simple command-line interface for manipulating toml files

  • Versions: 17
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 75 Last month
  • Docker Downloads: 34
Rankings
Docker downloads count: 3.2%
Dependent packages count: 10.0%
Average: 16.1%
Forks count: 16.9%
Downloads: 19.9%
Dependent repos count: 21.8%
Stargazers count: 25.1%
Maintainers (1)
Last synced: 4 months ago
alpine-edge: toml-adapt-doc

A simple command-line interface (CLI) for manipulating toml files (documentation)

  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 14.6%
Average: 18.7%
Forks count: 29.5%
Stargazers count: 30.6%
Maintainers (1)
Last synced: 4 months ago
alpine-edge: toml-adapt

A simple command-line interface (CLI) for manipulating toml files

  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 14.6%
Average: 18.7%
Forks count: 29.5%
Stargazers count: 30.6%
Maintainers (1)
Last synced: 4 months ago
alpine-edge: toml-adapt-pyc

Precompiled Python bytecode for toml-adapt

  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 13.9%
Average: 19.3%
Forks count: 31.3%
Stargazers count: 32.2%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.17: toml-adapt-doc

A simple command-line interface (CLI) for manipulating toml files (documentation)

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 19.6%
Forks count: 25.1%
Stargazers count: 25.9%
Dependent packages count: 27.3%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.17: toml-adapt

A simple command-line interface (CLI) for manipulating toml files

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 19.6%
Forks count: 25.1%
Stargazers count: 25.9%
Dependent packages count: 27.3%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.19: toml-adapt-doc

A simple command-line interface (CLI) for manipulating toml files (documentation)

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.19: toml-adapt

A simple command-line interface (CLI) for manipulating toml files

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.20: toml-adapt

A simple command-line interface (CLI) for manipulating toml files

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.22: toml-adapt-pyc

Precompiled Python bytecode for toml-adapt

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.20: toml-adapt-doc

A simple command-line interface (CLI) for manipulating toml files (documentation)

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.22: toml-adapt-doc

A simple command-line interface (CLI) for manipulating toml files (documentation)

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.20: toml-adapt-pyc

Precompiled Python bytecode for toml-adapt

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.22: toml-adapt

A simple command-line interface (CLI) for manipulating toml files

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.21: toml-adapt-doc

A simple command-line interface (CLI) for manipulating toml files (documentation)

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.21: toml-adapt

A simple command-line interface (CLI) for manipulating toml files

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.19: toml-adapt-pyc

Precompiled Python bytecode for toml-adapt

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Last synced: 4 months ago
alpine-v3.21: toml-adapt-pyc

Precompiled Python bytecode for toml-adapt

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago