crossrefapi
This is a Go package fork working politely with the CrossRef API.
Science Score: 65.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
Found 4 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
✓Institutional organization owner
Organization caltechlibrary has institutional domain (www.library.caltech.edu) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (4.7%) to scientific vocabulary
Repository
This is a Go package fork working politely with the CrossRef API.
Basic Info
- Host: GitHub
- Owner: caltechlibrary
- License: other
- Language: Go
- Default Branch: main
- Homepage: https://caltechlibrary.github.io/crossrefapi
- Size: 738 KB
Statistics
- Stars: 7
- Watchers: 6
- Forks: 2
- Open Issues: 0
- Releases: 15
Metadata Files
README.md
crossrefapi
This is a go package for working with the Crossref API. It is inspired by the an excellent CrossRefAPI Python package listed in the Crossref API docs. This package is meant to follow the "polite" guidelines for interacting with the public API at api.crossref.org.
Go package example
```go appName := path.Base(os.Args[0]) client, err := crossrefapi.NewCrossRefClient(appName, "jane.doe@library.example.edu") if err != nil { // handle error... } works, err := client.Works("10.1037/0003-066x.59.1.29")
if err != nil {
// handle error...
}
// continue processing your "works" result...
```
You can compare two copies of a "works" response and see what has changed.
```go
appName := path.Base(os.Args[0])
client, err := crossrefapi.NewCrossRefClient(appName, "jane.doe@library.example.edu")
if err != nil {
// handle error...
}
newWorks, err := client.Works("10.1037/0003-066x.59.1.29")
if err != nil {
// handle error...
}
// Fetch our previously saved works document.
src, err := os.ReadFile("0003-066x.59.1.29.json")
if err != nil {
// handle error...
}
oldWorks := new(crossrefapi.Works)
if err := json.Unmarshal(src, &oldWorks); err != nil {
// handle error...
}
src, err = oldWorks.DiffAsJSON(newWorks)
if err != nil {
// handle error...
}
fmt.Println("Diff for 10.1037/0003-066x.59.1.29")
fmt.Printf("\n%s\n", src)
```
Command line example
crossrefapi -mailto="jane.doe@library.example.edu" works "10.1037/0003-066x.59.1.29"
Reference
- Crossref API Docs
- Crossref Schemas
- CrossRefAPI - Python implementation
Owner
- Name: Caltech Library
- Login: caltechlibrary
- Kind: organization
- Email: helpdesk@library.caltech.edu
- Location: Pasadena, CA 91125
- Website: https://www.library.caltech.edu/
- Repositories: 84
- Profile: https://github.com/caltechlibrary
We manage the physical and digital holdings of the California Institute of Technology, provide services and training, and develop open-source software.
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
type: software
title: "crossrefapi"
abstract: "A Golang package and command line tool for working with the
public CrossRef API"
authors:
- family-names: Doiel
given-names: Robert
orcid: "https://orcid.org/0000-0003-0900-6903"
maintainers:
- family-names: Doiel
given-names: Robert
orcid: "https://orcid.org/0000-0003-0900-6903"
- family-names: Morrell
given-names: Thomas E
orcid: "https://orcid.org/0000-0001-9266-5146"
repository-code: "https://github.com/caltechlibrary/crossrefapi"
version: 1.0.9
license-url: "https://caltechlibrary/crossrefapi/LICENSE"
keywords: [ "CrossRef", "DOI", "metadata" ]
date-released: 2025-01-16
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"description": "A Golang package and command line tool for working with the public CrossRef API",
"releaseNotes": "Merged contributions with improvement for complex API queries",
"name": "crossrefapi",
"codeRepository": "https://github.com/caltechlibrary/crossrefapi",
"issueTracker": "https://github.com/caltechlibrary/crossrefapi/issues",
"license": "https://caltechlibrary/crossrefapi/LICENSE",
"datePublished": "2025-01-16",
"dateModified": "2025-01-16",
"version": "1.0.9",
"author": [
{
"@type": "Person",
"givenName": "Robert",
"familyName": "Doiel",
"affiliation": {
"@type": "Organization",
"name": "Caltech Library"
},
"email": "rsdoiel@caltech.edu",
"@id": "https://orcid.org/0000-0003-0900-6903"
}
],
"developmentStatus": "active",
"downloadUrl": "https://github.com/caltechlibrary/crossrefapi/releases",
"keywords": [
"CrossRef",
"DOI",
"metadata"
],
"maintainer": [
{
"@type": "Person",
"givenName": "Robert",
"familyName": "Doiel",
"affiliation": {
"@type": "Organization",
"name": "Caltech Library"
},
"email": "rsdoiel@caltech.edu",
"@id": "https://orcid.org/0000-0003-0900-6903"
},
{
"@type": "Person",
"givenName": "Thomas E",
"familyName": "Morrell",
"affiliation": {
"@type": "Organization",
"name": "Caltech Library"
},
"email": "tmorrell@caltech.edu",
"@id": "https://orcid.org/0000-0001-9266-5146"
}
],
"contributor": [
{
"@type": "Person",
"givenName": "Louis",
"familyName": "Duchemin",
"affiliation": {
"@type": "Organization",
"name": "Claude Bernard University"
},
"@id": "https://orcid.org/0000-0002-7984-9554"
}
],
"programmingLanguage": [
"Go >= 1.23.4"
]
}
GitHub Events
Total
- Release event: 2
- Watch event: 2
- Issue comment event: 1
- Push event: 12
- Pull request review event: 1
- Pull request event: 6
- Fork event: 2
- Create event: 2
Last Year
- Release event: 2
- Watch event: 2
- Issue comment event: 1
- Push event: 12
- Pull request review event: 1
- Pull request event: 6
- Fork event: 2
- Create event: 2
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 1
- Total pull requests: 6
- Average time to close issues: 3 minutes
- Average time to close pull requests: about 18 hours
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 1.0
- Average comments per pull request: 0.17
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 6
- Average time to close issues: N/A
- Average time to close pull requests: about 18 hours
- Issue authors: 0
- Pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.17
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- rsdoiel (1)
Pull Request Authors
- lsdch (3)
- luismmontilla (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 6
- Total dependent repositories: 1
- Total versions: 15
proxy.golang.org: github.com/caltechlibrary/crossrefapi
- Homepage: https://github.com/caltechlibrary/crossrefapi
- Documentation: https://pkg.go.dev/github.com/caltechlibrary/crossrefapi#section-documentation
- License: BSD-3-Clause
-
Latest release: v1.0.9
published about 1 year ago
Rankings
Dependencies
- github.com/caltechlibrary/doitools v0.0.0-20190910184449-c524f84bb2b3
- github.com/caltechlibrary/doitools v0.0.0-20190910184449-c524f84bb2b3