https://github.com/datacite/cirneco

Command-line client for the DataCite Metadata Store (MDS)

https://github.com/datacite/cirneco

Science Score: 13.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 10 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.7%) to scientific vocabulary

Keywords

datacite
Last synced: 5 months ago · JSON representation

Repository

Command-line client for the DataCite Metadata Store (MDS)

Basic Info
  • Host: GitHub
  • Owner: datacite
  • License: mit
  • Language: Ruby
  • Default Branch: master
  • Homepage: https://mds.datacite.org
  • Size: 383 KB
Statistics
  • Stars: 17
  • Watchers: 2
  • Forks: 1
  • Open Issues: 3
  • Releases: 0
Topics
datacite
Created about 9 years ago · Last pushed almost 5 years ago
Metadata Files
Readme License

README.md

Cirneco: command-line client for DataCite MDS

Gem Version Build Status Code Climate Test Coverage

Cirneco is a command-line client for the DataCite Metadata Store (MDS), written as Ruby gem. Uses the MDS API, and includes several utlity functions.

Features

The following functionality is supported:

  • the MDS API (DOI, Metadata and Media APIs) is fully supported
  • generates valid metadata, using Schema 4.0 (currently only partial support of available metadata fields)
  • generates a DOI name to be used for registration, using a random number that is Base32 Crockford encoded and includes a checksum

Requirements

  • valid username and password for DataCite MDS account (production and/or test system)

Installation

The usual way with Bundler: add the following to your Gemfile to install the current version of the gem:

ruby gem 'cirneco'

Then run bundle install to install into your environment.

You can also install the gem system-wide in the usual way:

bash gem install cirneco

Configuration

Configure ENV variables MDS_USERNAME, MDS_PASSWORD and PREFIX, e.g. by storing them in file .env (see .env.xample) in same directory you run the command.

DataCite MDS API Commands

The commands map to the commands available in the DataCite MDS API.

Return all DOIs registered for the data center cirneco doi get all

Return URL registered for DOI in the handle system cirneco doi get 10.5555/1234

Save metadata for DOI into file 1234.xml in same directory cirneco metadata get 10.5555/1234

Post metadata from file 1234.xml in same directory cirneco metadata post 1234.xml

Delete metadata for DOI (set is_active flag to false) cirneco metadata delete 10.5555/1234

Save media information for DOI into file 1234.txt in same directory cirneco media get 10.5555/1234

Post media information from file 1234.txt in same directory cirneco media post 1234.xml

Utility Commands

Commands to generate and check random DOIs, and for registering DOIs using markdown files with metadata in YAML frontmatter

Generate a random DOI in the format xxxx-xxxy where y is the checksum cirneco doi generate

Decode DOI cirneco doi decode 10.5072/0000-03VC

Check DOI for valid checksum cirneco doi check 10.5072/0000-03VC

Mint a DOI with metadata from a markdown file with YAML frontmatter cirneco doi mint /source/posts/cool-dois.html.md

Mint DOIs with metadata for all markdown files in a folder cirneco doi mint /source/posts

Mint a DOI and hide metadata from a markdown file with YAML frontmatter cirneco doi mint_and_hide /source/posts/cool-dois.html.md

Mint DOIs and hide metadata for all markdown files in a folder cirneco doi mint_and_hide /source/posts

Hide DOI metadata for a markdown file with YAML frontmatter cirneco doi hide /source/posts/cool-dois.html.md

Hide DOIs with metadata for all markdown files in a folder cirneco doi hide /source/posts

Bulk Operations

Transfer a list of DOIs. A list of DOIs must be provided in a file

10.5438/5aep-2n86 10.5438/cd2b-xj80

shell cirneco doi transfer --target DATACITE.DATACITE --jwt {YOUR-JSON-WEB-TOKEN} ./doi_transfer.txt

Change the state of a list of DOIs. Note that all DOIS in the list must be in the previous state. A list of DOIs must be provided in a file

10.5438/5aep-2n86 10.5438/cd2b-xj80

In this example, we change alist of registered DOI to findable DOIS.

shell cirneco doi bulk_state_change --operation publish ./test_doi_status_change.csv

Development

We use rspec for unit testing:

bundle exec rspec

Follow along via Github Issues.

Note on Patches/Pull Requests

  • Fork the project
  • Write tests for your new feature or a test that reproduces a bug
  • Implement your feature or make a bug fix
  • Do not mess with Rakefile, version or history
  • Commit, push and make a pull request. Bonus points for topical branches.

License

cirneco is released under the MIT License.

Owner

  • Name: DataCite
  • Login: datacite
  • Kind: organization
  • Email: info@datacite.org

Connecting research, identifying knowledge

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 140
  • Total Committers: 3
  • Avg Commits per committer: 46.667
  • Development Distribution Score (DDS): 0.157
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Martin Fenner m****r@d****g 118
Kristian Garza k****a@g****m 17
Martin Fenner m****r@d****g 5
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 6
  • Total pull requests: 3
  • Average time to close issues: 4 months
  • Average time to close pull requests: 2 days
  • Total issue authors: 6
  • Total pull request authors: 2
  • Average comments per issue: 1.17
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • daslerr (1)
  • stefanjakobsson (1)
  • vaganuru (1)
  • svogt0511 (1)
  • kjgarza (1)
  • mfenner (1)
Pull Request Authors
  • kjgarza (2)
  • vaganuru (1)
Top Labels
Issue Labels
bug (1) feature (1) enhancement (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • rubygems 150,457 total
  • Total dependent packages: 0
  • Total dependent repositories: 3
  • Total versions: 70
  • Total maintainers: 2
rubygems.org: cirneco

Ruby client library for the DataCite Metadata Store (MDS) API.

  • Versions: 70
  • Dependent Packages: 0
  • Dependent Repositories: 3
  • Downloads: 150,457 Total
Rankings
Downloads: 7.0%
Stargazers count: 12.4%
Dependent repos count: 12.7%
Average: 14.0%
Dependent packages count: 15.8%
Forks count: 22.1%
Maintainers (2)
Last synced: 6 months ago