https://github.com/alexlancaster/cffconvert
Command line program to validate and convert CITATION.cff files.
Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 18 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.9%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
Command line program to validate and convert CITATION.cff files.
Basic Info
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Fork of citation-file-format/cffconvert
Created over 2 years ago
· Last pushed over 1 year ago
https://github.com/alexlancaster/cffconvert/blob/main/
# `cffconvert`
[](https://doi.org/10.5281/zenodo.1162057)
[](https://github.com/citation-file-format/cffconvert/actions/workflows/testing.yml)
[](https://github.com/citation-file-format/cffconvert/actions/workflows/linting.yml)
[](https://sonarcloud.io/dashboard?id=cffconvert)
[](https://pypi.python.org/pypi/cffconvert/)
[](https://bestpractices.coreinfrastructure.org/projects/1811)
[](https://research-software.nl/software/cffconvert)
[](https://fair-software.eu)
[](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=32100&r=113)
[](https://hub.docker.com/r/citationcff/cffconvert)
[](https://pypistats.org/packages/cffconvert)
[](https://pepy.tech/project/cffconvert)
[](https://github.com/citation-file-format/cffconvert/compare/2.0.0...HEAD)
Command line program to validate and convert [`CITATION.cff`](https://github.com/citation-file-format/citation-file-format) files.
## Supported input versions of the Citation File Format
| Citation File Format schema version | Link to Zenodo release |
|-------------------------------------|------------------------------------------------------------------------------------------------------------------|
| `1.3.0` | unreleased |
| `1.2.0` | [](https://doi.org/10.5281/zenodo.5171937) |
| `1.1.0` | [](https://doi.org/10.5281/zenodo.4813122) |
| `1.0.3` | [](https://doi.org/10.5281/zenodo.1222163) |
| `1.0.2` | [](https://doi.org/10.5281/zenodo.1120256) |
| `1.0.1` | [](https://doi.org/10.5281/zenodo.1117789) |
## Supported output formats
1. APA-like plaintext
2. BibTeX
3. CodeMeta
4. EndNote
5. RIS
6. schema.org JSON
7. Zenodo JSON
`cffconvert` does not support converting items from `references` or `preferred-citation` keys at the moment.
## Installing
To install in user space,
```shell
python3 -m pip install --user cffconvert
```
Ensure that the user space directory `~/.local/bin/` is on the `PATH`.
```shell
which cffconvert
```
should now return the location of the program.
See [docs/alternative-install-options.md](docs/alternative-install-options.md) for alternative install options.
## Docker
`cffconvert` is available from DockerHub: https://hub.docker.com/r/citationcff/cffconvert
Example usage:
```shell
docker run --rm -v $PWD:/app citationcff/cffconvert --validate
docker run --rm -v $PWD:/app citationcff/cffconvert --version
docker run --rm -v $PWD:/app citationcff/cffconvert --help
# etc
```
## `pre-commit` hook
`cffconvert` is also available as a [pre-commit](https://pre-commit.com) hook. Add the following to your
`.pre-commit-config.yaml` file to start validating your CITATION.cff automatically whenever you issue a `git commit`:
```yaml
repos:
- repo: https://github.com/citation-file-format/cffconvert
rev: 054bda51dbe278b3e86f27c890e3f3ac877d616c
hooks:
- id: validate-cff
```
## Command line interface
See `cffconvert`'s options:
```shell
cffconvert --help
```
Shows:
```shell
Usage: cffconvert [OPTIONS]
Command line program to validate and convert CITATION.cff files.
Options:
-i, --infile PATH Path to the CITATION.cff input file. If this
option is omitted, './CITATION.cff' is used.
-o, --outfile PATH Path to the output file.
-f, --format [apalike|bibtex|cff|codemeta|endnote|ris|schema.org|zenodo]
Output format.
-u, --url TEXT URL to the CITATION.cff input file.
-h, --help Show help and exit.
--show-trace Show error trace.
--validate Validate the CITATION.cff file and exit.
--version Print version and exit.
--verbose Control output verbosity.
If this program is useful to you, consider giving it a star on GitHub:
https://github.com/citation-file-format/cffconvert
```
## Example usage
### Validating a local CITATION.cff file
```shell
cffconvert --validate
cffconvert --validate -i CITATION.cff
cffconvert --validate -i ${PWD}/CITATION.cff
cffconvert --validate -i ../some-other-dir/CITATION.cff
```
### Validating a remote CITATION.cff file
```shell
cffconvert --validate --url https://github.com//
cffconvert --validate --url https://github.com///commit/
cffconvert --validate --url https://github.com///tree/
cffconvert --validate --url https://github.com///tree/
cffconvert --validate --url https://github.com///tree/
```
### Converting metadata to other formats
If there is a valid `CITATION.cff` file in the current directory, you can convert to various other formats and
print the result on standard out with:
```shell
cffconvert -f bibtex
cffconvert -f codemeta
cffconvert -f endnote
cffconvert -f ris
cffconvert -f schema.org
cffconvert -f zenodo
cffconvert -f apalike
```
### Writing to a file
```shell
# with i/o redirection:
cffconvert -f bibtex > bibtex.bib
cffconvert -f zenodo > .zenodo.json
cffconvert -f endnote > ${PWD}/endnote.enw
# etc
# without i/o redirection
cffconvert -f bibtex -o bibtex.bib
cffconvert -f zenodo -o .zenodo.json
cffconvert -f endnote -o ${PWD}/endnote.enw
# etc
```
Owner
- Name: Alex Lancaster
- Login: alexlancaster
- Kind: user
- Location: Boston
- Company: @amberbiology
- Website: amberbiology.com
- Repositories: 2
- Profile: https://github.com/alexlancaster
biology: evol, sys, comp // complex systems: agent-based models, netsci // open science // open research
GitHub Events
Total
- Push event: 7
- Create event: 1
Last Year
- Push event: 7
- Create event: 1