{"id":13738678,"url":"https://github.com/thoth-pub/thoth","last_synced_at":"2026-04-03T08:04:57.354Z","repository":{"id":37928051,"uuid":"239727725","full_name":"thoth-pub/thoth","owner":"thoth-pub","description":"Metadata management and dissemination system for Open Access books","archived":false,"fork":false,"pushed_at":"2025-05-03T08:44:01.000Z","size":6599,"stargazers_count":52,"open_issues_count":89,"forks_count":9,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-03T09:42:15.213Z","etag":null,"topics":["bibliographic-data","books","graphql","metadata","openaccess","rust","webassembly"],"latest_commit_sha":null,"homepage":"https://thoth.pub","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoth-pub.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-02-11T09:51:09.000Z","updated_at":"2025-04-24T12:47:02.000Z","dependencies_parsed_at":"2023-07-14T02:30:30.128Z","dependency_job_id":"287cdb82-19b6-42d5-8b87-b7dd2f0bac26","html_url":"https://github.com/thoth-pub/thoth","commit_stats":{"total_commits":2152,"total_committers":6,"mean_commits":358.6666666666667,"dds":0.5980483271375465,"last_synced_commit":"38807b3890bc306ae433449f3a3cfa065ce54e35"},"previous_names":["openbookpublishers/thoth"],"tags_count":133,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoth-pub%2Fthoth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoth-pub%2Fthoth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoth-pub%2Fthoth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoth-pub%2Fthoth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoth-pub","download_url":"https://codeload.github.com/thoth-pub/thoth/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252172669,"owners_count":21705985,"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":["bibliographic-data","books","graphql","metadata","openaccess","rust","webassembly"],"created_at":"2024-08-03T03:02:32.635Z","updated_at":"2026-04-03T08:04:57.348Z","avatar_url":"https://github.com/thoth-pub.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://cdn.thoth.pub/THOTH_ColourPos.png\" height=\"400\" /\u003e\n\n  \u003ch1\u003eThoth\u003c/h1\u003e\n\n  \u003cp\u003e\n    \u003cstrong\u003eOpen bibliographic metadata management and dissemination system\u003c/strong\u003e\n  \u003c/p\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/thoth-pub/thoth/actions\"\u003e\u003cimg alt=\"GitHub Workflow\" src=\"https://img.shields.io/github/actions/workflow/status/thoth-pub/thoth/build_test_and_check.yml?branch=master\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/thoth-pub/thoth/releases\"\u003e\u003cimg alt=\"Thoth Releases\" src=\"https://img.shields.io/github/release/thoth-pub/thoth.svg?colorB=58839b\u0026maxAge=86400\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/thoth-pub/thoth/blob/master/LICENSE\"\u003e\u003cimg alt=\"License Info\" src=\"https://img.shields.io/github/license/thoth-pub/thoth.svg?colorB=blue\"/\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n## About\n\n**Thoth** (/toʊt, θoʊθ/, Greek Θώθ \u003c Coptic Ⲑⲱⲟⲩⲧ \u003c Egyptian *ḏḥwtj*) is an Open Dissemination System for Open Access books. Written purely in rust, it consists of:\n\n* A [GraphQL API](https://api.thoth.pub), implementing a data model specifically designed for OA books\n* A [REST API](https://export.thoth.pub) to export metadata in formats like ONIX, MARC, etc.\n\nFor more information about Thoth, its data and metadata formats, and more, see the repo's [wiki](https://github.com/thoth-pub/thoth/wiki). You can also use GraphiQL to [explore the GraphQL API](https://api.thoth.pub/graphiql) (click on \"Docs\" at the top right), or RapiDoc to [inspect the REST API](https://export.thoth.pub).\n\n## Getting Started\n\n### Requirements\n\n- [Rustup](https://rustup.rs/)\n- Stable Toolchain: `rustup default stable`\n- A PostgreSQL database (included in docker-compose.yml if ran using docker)\n- `libssl-dev`\n\n### Running with docker (development)\n\n#### Config\n```sh\ngit clone https://github.com/thoth-pub/thoth.git\ncd thoth\ncp .env.example .env  # Edit the credentials in .env\n```\n#### Run\n```sh\nmake docker-dev\n```\nor\n```sh\ndocker-compose -f docker-compose.dev.yml build\ndocker-compose -f docker-compose.dev.yml up\n```\n\n### Running with docker (production)\n\n```sh\ngit clone https://github.com/thoth-pub/thoth.git\ncd thoth\ncp .env.example .env  # Edit the credentials in .env\ndocker-compose up\n```\n\n### Running with rust (cargo)\n\n#### Config\n\n```sh\ngit clone https://github.com/thoth-pub/thoth.git\ncd thoth\ncp .env.example .env  # Edit the credentials in .env\n```\n\n#### Creating Postgres DB and User\n\n```\npsql\npsql -U postgres\nCREATE ROLE thoth SUPERUSER LOGIN PASSWORD 'thoth';\nCREATE DATABASE thoth WITH OWNER thoth;\n```\n\nExit the psql command line with:\n\n```\\q```\n\nAn example of a .env file:\n\n```\nTHOTH_GRAPHQL_API=http://localhost:8000\n# THOTH_EXPORT_API is used at compile time, must be a public facing URL\nTHOTH_EXPORT_API=http://localhost:8181\n# Authentication cookie domain\nTHOTH_DOMAIN=localhost\n# Full postgres URL (With the role and db we created in the orevious step, it will look like this)\nDATABASE_URL=postgres://thoth:thoth@localhost/thoth\n# Authentication cookie secret key (can be any string really)\nSECRET_KEY=we_like_s%_books_255\n# Logging level\nRUST_LOG=info\n```\n\n#### GraphQL API\n\n```sh\ncargo run init\n```\n\n#### Export API\n\n```sh\ncargo run start export-api\n```\n\n### Building with docker\n\nThe wasm APP needs to know the endpoint the API will be running at compile time, we must provide `THOTH_API` as a build argument to the docker daemon upon build:\n\n```\ndocker build \\\n    --build-arg THOTH_GRAPHQL_API=https://api.thoth.pub \\\n    --build-arg THOTH_EXPORT_API=https://export.thoth.pub \\\n    . -t thoth-pub/thoth\n```\n\n## Acknowledgements\n\nThoth is being developed as part of the [COPIM](https://www.copim.ac.uk) project, an international effort to build community-owned, open systems and infrastructures to enable Open Access book publishing to flourish. COPIM is funded by the [Research England Development (RED) Fund](https://re.ukri.org/funding/our-funds-overview/research-england-development-red-fund/), and [Arcadia](https://www.arcadiafund.org.uk/), a charitable fund of Lisbet Rausing and Peter Baldwin.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthoth-pub%2Fthoth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthoth-pub%2Fthoth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthoth-pub%2Fthoth/lists"}