{"id":23473016,"url":"https://github.com/caltechlibrary/eprinttools","last_synced_at":"2026-01-05T22:18:25.316Z","repository":{"id":42072175,"uuid":"53704950","full_name":"caltechlibrary/eprinttools","owner":"caltechlibrary","description":"EPrintTools is a Go package, command line utilities and a service for working with EPrints 3.3.x EPrint XML and REST API","archived":false,"fork":false,"pushed_at":"2024-12-17T21:36:12.000Z","size":3847,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-12T14:17:32.171Z","etag":null,"topics":["eprints"],"latest_commit_sha":null,"homepage":"https://caltechlibrary.github.io/eprinttools","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.html","changelog":"CHANGES.html","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":"ROADMAP.html","authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":null}},"created_at":"2016-03-12T00:24:02.000Z","updated_at":"2025-03-16T16:57:42.000Z","dependencies_parsed_at":"2024-01-09T02:24:16.163Z","dependency_job_id":"f45dacff-5c1b-4543-a4dc-cf9f81a072e1","html_url":"https://github.com/caltechlibrary/eprinttools","commit_stats":{"total_commits":991,"total_committers":5,"mean_commits":198.2,"dds":0.065590312815338,"last_synced_commit":"e3c0993e0b7e5e6bbd4b893484c7f62c7dcfdd19"},"previous_names":["caltechlibrary/epgo","caltechlibrary/ep"],"tags_count":98,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caltechlibrary%2Feprinttools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caltechlibrary%2Feprinttools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caltechlibrary%2Feprinttools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caltechlibrary%2Feprinttools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caltechlibrary","download_url":"https://codeload.github.com/caltechlibrary/eprinttools/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248938434,"owners_count":21186408,"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":["eprints"],"created_at":"2024-12-24T17:14:43.566Z","updated_at":"2026-01-05T22:18:25.310Z","avatar_url":"https://github.com/caltechlibrary.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n\u003chead\u003e\n    \u003ctitle\u003eeprinttools - README.html\u003c/title\u003e\n    \u003clink href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'\u003e\n    \u003clink rel=\"stylesheet\" href=\"/css/site.css\"\u003e\n\t\u003cscript type=\"module\" src=\"https://caltechlibrary.github.io/CL-web-components/src/footer-global.js\"\u003e\u003c/script\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n\u003cheader\u003e\n\u003ca href=\"http://library.caltech.edu\" title=\"link to Caltech Library Homepage\"\u003e\u003cimg src=\"/assets/liblogo.gif\" alt=\"Caltech Library logo\"\u003e\u003c/a\u003e\n\u003c/header\u003e\n\u003cnav\u003e\n\u003cul\u003e\n    \u003cli\u003e\u003ca href=\"/\"\u003eHome\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"README.html\"\u003eREADME\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"LICENSE\"\u003eLICENSE\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"install.html\"\u003eINSTALL\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"user-manual.html\"\u003eUser Manual\u003c/a\u003e\u003c/li\u003e\n\t\u003cli\u003e\u003ca href=\"search.html\"\u003eSearch Docs\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"about.html\"\u003eAbout\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://github.com/caltechlibrary/eprinttools\"\u003eGitHub\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/nav\u003e\n\n\u003csection\u003e\n\u003ch1 id=\"eprinttools\"\u003eeprinttools\u003c/h1\u003e\n\u003cp\u003eThis is a collection of command line tools and a web service written\nin Go for working with EPrints 3.3.x EPrint XML, the EPrint REST API and\ndirectly with the EPrints MySQL repository database(s). It is used by\nCaltech Library to render our \u003ca\nhref=\"https://feeds.library.caltech.edu\"\nclass=\"uri\"\u003ehttps://feeds.library.caltech.edu\u003c/a\u003e website as well as for\nmigrating content into a new repository system. Some of the command line\ntools maybe of more generatl interest while others are specific to\nCaltech Library’s needs. Much of the test code presumes access to our\nrepositories so is specific to our needs.\u003c/p\u003e\n\u003ch2 id=\"go-base-code\"\u003eGo base code\u003c/h2\u003e\n\u003cp\u003eThe programs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"eputil.1.html\"\u003eeputil\u003c/a\u003e is a command line utility for\ninteracting (e.g. harvesting) JSON and XML from EPrints’ REST API\n\u003cul\u003e\n\u003cli\u003eminimal configuration (because it does so much less!)\u003c/li\u003e\n\u003c/ul\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"epfmt.1.html\"\u003eepfmt\u003c/a\u003e is a command line utility to pretty\nprint EPrints XML and convert to/from JSON including a simplified JSON\ninspired by DataCite and Invenion 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"doi2eprintxml.1.html\"\u003edoi2eprintxml\u003c/a\u003e is a command line\nprogram for turning metadata harvested from CrossRef and DataCite into\nan EPrint XML document based on one or more supplied DOI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"ep3apid.1.html\"\u003eep3apid\u003c/a\u003e is a Unix style web service for\ninteracting with an EPrint repository via a localhost proxy. It includes\nthe ability to get restricted key lists as well as retrieve a simplified\nJSON record representing an EPrints record\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"ep3harvester.1.html\"\u003eep3harvester\u003c/a\u003e is an EPrints 3.x\nmetadata harvesting tool working at the MySQL 8 level for EPrints\ncontent. It harvests the contents into a MySQL 8 database, one table per\neprints repository storing the harvested metadata in JSON columns. This\ntool can also harvest CSV files with information for people and groups\nreferenced in the EPrints repositories.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"ep3genfeeds.1.html\"\u003eep3genfeeds\u003c/a\u003e is used to genate the\nJSON documents that drive our feeds website.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"ep3datasets.1.html\"\u003eep3datasets\u003c/a\u003e is a tool to generate\n\u003ca href=\"https://github.com/caltechlibrary/dataset\"\u003edataset\ncollections\u003c/a\u003e from previously harvested EPrints repositories\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"use-cases\"\u003eUse cases\u003c/h2\u003e\n\u003cp\u003eTwo primary use cases have driven development of EPrinttools\u003c/p\u003e\n\u003col type=\"1\"\u003e\n\u003cli\u003eReusing the metadata and content in our EPrints 3.3.16 repositories\n(see \u003ca href=\"https://feeds.library.caltech.edu\"\u003eCaltech Library\nFeeds\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePopulating our EPrints repository from standardize data sources (see\n\u003ca href=\"https://github.com/caltechlibrary/Acacia\"\u003eAcacia\nProject\u003c/a\u003e).\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"related-github-projects\"\u003eRelated GitHub projects\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref=\"https://github.com/caltechlibrary/py_dataset\"\u003epy_dataset\u003c/a\u003e, This\nPython module provides access to dataset collections which we use as\nintermediate storage for JSON documents and related attachments.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caltechlibrary/ames\"\u003eAMES\u003c/a\u003e, The\neprintools command line programs have been made available to Python via\nthe AMES project. This include support for both read and write to\nEPrints repository systems.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/section\u003e\n\n\u003cfooter-global\u003e\u003c/footer-global\u003e\n\u003c!-- START: PrettyFi from https://github.com/google/code-prettify --\u003e\n\u003cscript\u003e\n/* We want to add the class \"prettyprint\" to all the pre elements */\nvar pre_list = document.querySelectorAll(\"pre\");\n\npre_list.forEach(function(elem) {\n    elem.classList.add(\"prettyprint\");\n    elem.classList.add(\"linenums\");/**/\n    elem.classList.add(\"json\"); /**/\n});\n\u003c/script\u003e\n\u003cstyle\u003e\nli.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9\n{\n    color: #555;\n    list-style-type: decimal;\n}\n\u003c/style\u003e\n\u003clink rel=\"stylesheet\" type=\"text/css\" href=\"/css/prettify.css\"\u003e\n\u003cscript src=\"https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_\nprettify.js\"\u003e\u003c/script\u003e\n\u003c!--  END: PrettyFi from https://github.com/google/code-prettify --\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaltechlibrary%2Feprinttools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaltechlibrary%2Feprinttools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaltechlibrary%2Feprinttools/lists"}