A command-line tool to quickly run various types of query relating to DOIs (Digital Object Identifiers)
- Rust 80.9%
- Nix 19.1%
|
Jez Cope
c726f8ba67
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
|
||
|---|---|---|
| src | doi: parse and validate DOIs | |
| .gitignore |
meta: ignore target folder
|
|
| .rustfmt.toml | meta: set Rust edition to 2021 | |
| .woodpecker.yaml | add Woodpecker CI configuration | |
| Cargo.lock | lib: add error handling | |
| Cargo.toml | add repository and description to Cargo.toml | |
| flake.lock | update nixpkgs snapshot used | |
| flake.nix | update nixpkgs snapshot used | |
| README.md | add jq example to README.md | |
DOITools CLI
This is a command-line tool to quickly run various types of query relating to DOIs (Digital Object Identifiers). In most cases it simply produces output in machine-readable format, mostly JSON or XML, so use of other tools such as fx, jq or a suitable text editor is recommended.
Examples of use
Fetch metadata for a single DOI from the central DOI resolver (doi.org) in CitationStyles JSON format, and explore it visually using fx:
doitools doi 10.5281/zenodo.3372333 | fx
Use jq to extract all contributor names from the DataCite Metadata Schema v4.5 via the DataCite API:
doitools datacite doi 10.14454/g8e5-6293 | jq '[.data.attributes.contributors[] | .name]'
Current and planned features
- General DOI metadata fetching (via doi.org resolver)
- Fetch metadata in CSL JSON format (supported by all providers)
- Request alternative metadata format via Content Negotiation (see DOI Content Negotiation docs for supported MIME types)
- DataCite API
- Query detailed DOI information
- Fetch multiple DOIs
- Search/filter DOIs
- Fetch member (Direct, Consortium Lead, Consortium Organisation) information
- Authentication (quicker HTTP responses, access private data)
- Create/update DOI
- Query provenance information
- DataCite/Crossref Event Data API
- Crossref API: not currently planned
- Other features
- Parse and validate DOIs