cff2toml

A module to synchronize metadata between TOML and CFF files, including between pyproject.toml and CITATION.cff files.

https://github.com/willynilly/cff2toml

Science Score: 44.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
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary
Last synced: 8 months ago · JSON representation ·

Repository

A module to synchronize metadata between TOML and CFF files, including between pyproject.toml and CITATION.cff files.

Basic Info
  • Host: GitHub
  • Owner: willynilly
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 80.1 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created about 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

cff2toml

A module to synchronize metadata between TOML and CFF files, including between pyproject.toml and CITATION.cff files.

PyPI - Version PyPI - Python Version


Table of Contents

Installation

console pip install cff2toml

Usage

This package offers a CLI and classes to manipulate metadata in CFF and TOML files.

One common use case is to synchronize metadata between pyproject.toml and CITATION.cff files in a Python software project.

CLI

The CLI allows you to view and change common metadata between CITATION.cff and pyproject.toml files, including the Python project's:

  • title
  • description
  • license
  • version
  • repo

You can learn more about the CLI options and commands by running the following help option:

console cff2toml --help

Viewing metadata in CITATION.cff and pyproject.toml

Here is how you view the version in both CITATION.cff and pyproject.toml, assuming they are in the same directory

cff2toml view version

You can also view other common metadata. See the help.

Changing metadata in both CITATION.cff and pyproject.toml

Here is how you change the version in both CITATION.cff and pyproject.toml, assuming they are in the same directory

cff2toml change version 2.30.1

You can also change other common metadata. See the help.

Limitations

The CLI and its underlying classes are in early and active development, so they should not be used yet for production systems. The classed used by the CLI may have more functionality than what is currently exposed through the CLI.

Roadmap

  1. Improve CLI tool to view and change other metadata fields.
  2. Improve documentation of the underlying classes.

License

cff2toml is distributed under the terms of the Apache 2.0 license

Contribution

Contributions in the form of feature requests, bug reports, bug fixes, tests, and feature implementations are welcome. To contribute code, please fork the project, and then do a pull request.

Developer Notes

Buildiing Locally

To build the tool locally, please follow the general advice from here.

python3 -m pip install --upgrade build python3 -m build

Deploying

To deploy the tool, use the Github Action defined in .github/workflows/python-publish.yml

Owner

  • Name: Will Riley
  • Login: willynilly
  • Kind: user
  • Location: Arnhem, The Nederlands
  • Company: Wageningen University & Research

Ph.D. in Educational Psychology (Applied Cognition and Development) from University of Georgia

Citation (CITATION.cff)

cff-version: 1.2.0
title: cff2toml
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Will
    family-names: Riley
    email: wanderingwill@gmail.com
    orcid: "https://orcid.org/0000-0003-1822-6756"
repository-code: >-
  https://github.com/willynilly/cff2toml
abstract: >-
  A module to synchronize metadata between TOML and CFF files, including between pyproject.toml and CITATION.cff files.
keywords:
  - Citation File Format
  - TOML
  - pyproject.toml
  - CITATION.cff
license: Apache-2.0
version: "3.2.2"

GitHub Events

Total
  • Issues event: 2
  • Pull request event: 2
  • Fork event: 1
Last Year
  • Issues event: 2
  • Pull request event: 2
  • Fork event: 1

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 1
  • Total pull requests: 1
  • Average time to close issues: 3 months
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 1
  • Average time to close issues: 3 months
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • willynilly (5)
  • hunterhogan (1)
Pull Request Authors
  • hunterhogan (1)
Top Labels
Issue Labels
enhancement (3) bug (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 41 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 18
  • Total maintainers: 1
pypi.org: cff2toml

A module to synchronize metadata between TOML and CFF files, including between pyproject.toml and CITATION.cff files.

  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 41 Last month
Rankings
Dependent packages count: 9.6%
Average: 36.5%
Dependent repos count: 63.4%
Maintainers (1)
Last synced: 8 months ago

Dependencies

.github/workflows/python-publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite
pyproject.toml pypi
  • PyYAML ==6.0.1
  • toml ==0.10.2