{"id":23473009,"url":"https://github.com/caltechlibrary/crossrefapi","last_synced_at":"2025-04-14T18:42:25.807Z","repository":{"id":57524025,"uuid":"139887370","full_name":"caltechlibrary/crossrefapi","owner":"caltechlibrary","description":"This is a Go package fork working politely with the CrossRef API.","archived":false,"fork":false,"pushed_at":"2025-01-16T22:08:07.000Z","size":661,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-11T12:46:20.489Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://caltechlibrary.github.io/crossrefapi","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/caltechlibrary.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":null}},"created_at":"2018-07-05T18:36:01.000Z","updated_at":"2025-01-16T22:06:59.000Z","dependencies_parsed_at":"2024-02-26T23:44:45.710Z","dependency_job_id":"f34b120d-c5c8-4077-9e5c-002d75a3669b","html_url":"https://github.com/caltechlibrary/crossrefapi","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caltechlibrary%2Fcrossrefapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caltechlibrary%2Fcrossrefapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caltechlibrary%2Fcrossrefapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caltechlibrary%2Fcrossrefapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caltechlibrary","download_url":"https://codeload.github.com/caltechlibrary/crossrefapi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248938379,"owners_count":21186396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-24T17:14:43.099Z","updated_at":"2025-04-14T18:42:25.799Z","avatar_url":"https://github.com/caltechlibrary.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# crossrefapi\n\nThis is a go package for working with the Crossref API. It is inspired by\nthe an excellent CrossRefAPI Python package listed in the Crossref API docs.\nThis package is meant to follow the \"polite\" guidelines for interacting \nwith the public API at api.crossref.org.\n\n## Go package example\n\n```go\n    appName := path.Base(os.Args[0])\n    client, err := crossrefapi.NewCrossRefClient(appName, \"jane.doe@library.example.edu\")\n    if err != nil {\n        // handle error...\n    }\n    works, err := client.Works(\"10.1037/0003-066x.59.1.29\")\n   \n    if err != nil {\n        // handle error...\n    }\n    // continue processing your \"works\" result...\n```\n\nYou can compare two copies of a \"works\" response and see what has changed.\n\n```go\n\n    appName := path.Base(os.Args[0])\n    client, err := crossrefapi.NewCrossRefClient(appName, \"jane.doe@library.example.edu\")\n    if err != nil {\n        // handle error...\n    }\n    newWorks, err := client.Works(\"10.1037/0003-066x.59.1.29\")\n    if err != nil {\n        // handle error...\n    }\n    // Fetch our previously saved works document.\n    src, err := os.ReadFile(\"0003-066x.59.1.29.json\")\n    if err != nil {\n        // handle error...\n    }\n    oldWorks := new(crossrefapi.Works)\n    if err := json.Unmarshal(src, \u0026oldWorks); err != nil {\n        // handle error...\n    }\n    src, err = oldWorks.DiffAsJSON(newWorks)\n    if err != nil {\n        // handle error...\n    }\n    fmt.Println(\"Diff for 10.1037/0003-066x.59.1.29\")\n    fmt.Printf(\"\\n%s\\n\", src)\n```\n\n## Command line example\n\n```\n    crossrefapi -mailto=\"jane.doe@library.example.edu\" works \"10.1037/0003-066x.59.1.29\"\n```\n\n## Reference\n\n- [Crossref API Docs](https://api.crossref.org/)\n- [Crossref Schemas](https://www.crossref.org/documentation/schema-library/)\n- [CrossRefAPI](https://github.com/fabiobatalha/crossrefapi) - Python implementation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaltechlibrary%2Fcrossrefapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaltechlibrary%2Fcrossrefapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaltechlibrary%2Fcrossrefapi/lists"}