Metadata-Version: 2.3
Name: cff2toml
Version: 3.2.1
Summary: A module to synchronize metadata between TOML and CFF files, including between pyproject.toml and CITATION.cff files.
Project-URL: Documentation, https://github.com/willynilly/cff2toml#readme
Project-URL: Issues, https://github.com/willynilly/cff2toml/issues
Project-URL: Source, https://github.com/willynilly/cff2toml
Author-email: Will Riley <wanderingwill@gmail.com>
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Requires-Dist: pydantic>=2.6.4
Requires-Dist: pydash>=8.0.0
Requires-Dist: pyyaml>=6.0.1
Requires-Dist: toml>=0.10.2
Requires-Dist: typer>=0.12.1
Provides-Extra: testing
Requires-Dist: pytest>=8.1.1; extra == 'testing'
Description-Content-Type: text/markdown

# cff2toml

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

[![PyPI - Version](https://img.shields.io/pypi/v/cff2toml.svg)](https://pypi.org/project/cff2toml)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/cff2toml.svg)](https://pypi.org/project/cff2toml)

---

**Table of Contents**

- [Installation](#installation)
- [Usage](#usage)
- [Limitations](#limitations)
- [Roadmap](#roadmap)
- [License](#license)

## Installation

```console
pip install cff2toml
```

## Usage

```console
cff2toml --help
```

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 project.

### 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 tool is in early and active development, so it should not be used yet for production systems. The CLI only supports version and license at the moment, but the underlying libraries support more.

## Roadmap

1. Improve CLI tool to view and change other metadata fields.
2. Improve documentation of the underlying classes.
3. Fix the output order so that it creates a more useful semantic ordering of propreties (not alphabetical).

## License

`cff2toml` is distributed under the terms of the [Apache 2.0](https://spdx.org/licenses/Apache-2.0.html) license
