{"id":15134707,"url":"https://github.com/gremid/julesratte","last_synced_at":"2026-01-20T03:03:58.994Z","repository":{"id":145972715,"uuid":"545378701","full_name":"gremid/julesratte","owner":"gremid","description":"Clojure MediaWiki/Wikibase client","archived":false,"fork":false,"pushed_at":"2025-10-30T21:30:38.000Z","size":1128,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-30T23:29:09.435Z","etag":null,"topics":["clojure","mediawiki-api","wikimedia-data-dump"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gremid.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":null,"zenodo":".zenodo.json","notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-10-04T09:01:08.000Z","updated_at":"2025-10-30T21:30:24.000Z","dependencies_parsed_at":"2024-03-12T14:04:01.440Z","dependency_job_id":"506e6ab4-0375-4328-a3a9-750be6ef477e","html_url":"https://github.com/gremid/julesratte","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/gremid/julesratte","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gremid%2Fjulesratte","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gremid%2Fjulesratte/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gremid%2Fjulesratte/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gremid%2Fjulesratte/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gremid","download_url":"https://codeload.github.com/gremid/julesratte/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gremid%2Fjulesratte/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28594958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["clojure","mediawiki-api","wikimedia-data-dump"],"created_at":"2024-09-26T05:23:50.616Z","updated_at":"2026-01-20T03:03:58.989Z","avatar_url":"https://github.com/gremid.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# julesratte – a MediaWiki/Wikibase client\n\n\u003cimg src=\"doc/julesratte_small.png\"\n alt=\"Jules Ratte (by Klaus Ensikat)\"\n title=\"Jules Ratte (by Klaus Ensikat)\"\n align=\"right\" /\u003e\n\n\u003e […] Und ließ die Lösung aller Fragen/ Sich heimlich von der Ratte sagen/ Und schrieb nie Aufsatz noch Diktat/ Ohne die Ratte und ihren Rat. […]\n\n_– Peter Hacks: Jules Ratte. In: ders. Kinderkurzweil. Berlin. 1986._\n\nThis library provides **API access to MediaWiki-based sites**, mainly those\ncomprising the Wikidata/Wikipedia/Wikimedia landscape.\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.17365675.svg)](https://doi.org/10.5281/zenodo.17365675)\n\n## Features\n\n* Stream processing of [Wikimedia dumps](https://dumps.wikimedia.org/)\n* [HTTP client](https://github.com/gnarroway/hato) for the\n  [MediaWiki API](https://www.mediawiki.org/wiki/API:Main_page/en), including\n  support for continuation requests (paged results) and request throttling for\n  proper bot behavior\n* Parsing of MediaWiki markup into Clojure data structures via\n  [Sweble](https://en.wikipedia.org/wiki/Sweble)\n* Access to Wikidata via [Wikidata Query Service](https://query.wikidata.org/)\n\n## Installation\n\nAdd the following to your `deps.edn` project file:\n\n```clojure\nio.github.gremid/julesratte {:git/sha \"...\"}\n```\n\n## Usage\n\n```clojure\n(ns julesratte.examples\n  (:require\n   [julesratte.client :as jr]\n   [julesratte.dump :as jr.dump]\n   [julesratte.page :as jr.page]\n   [julesratte.wikidata :as jr.wd]))\n\n(-\u003e\u003e (jr.page/request-by-title (jr/api-url \"de.wiktionary.org\")\n                               \"Pfirsich\" \"Kirsche\" \"Birnen\" \"Erdbeeren\")\n     (into [] (map (juxt :title :user :timestamp (comp #(subs % 0 5) :text)))))\n\n;; =\u003e [[\"Kirsche\" \"Master of Contributions\" \"2024-11-26T21:04:56Z\" \"== Ki\"]\n;;     [\"Pfirsich\" \"Master of Contributions\" \"2025-01-24T17:51:48Z\" \"== Pf\"]\n;;     [\"Birnen\" \"Instance of Bot\" \"2025-01-25T15:47:50Z\" \"== Bi\"]\n;;     [\"Erdbeeren\" \"DerbethBot\" \"2022-01-29T09:40:52Z\" \"== Er\"]]\n\n(-\u003e\u003e (jr.page/request-random (jr/api-url \"de.wikipedia.org\") 5)\n     (into [] (map (juxt :title :user :timestamp))))\n\n;; =\u003e [[\"Konstantin Neven DuMont\" \"InternetArchiveBot\" \"2022-03-10T11:33:14Z\"]\n;;     [\"Ottmar Fuchs\" \"MikerosIBK\" \"2025-05-02T20:28:04Z\"]\n;;     [\"John Lloyd Dorsey\" \"APPERbot\" \"2021-03-01T23:18:23Z\"]\n;;     [\"Liste der Monuments historiques in Ennery\" \"Balticbuchonia\" \"2022-10-24T14:56:04Z\"]\n;;     [\"Platygastridae\" \"Slimguy\" \"2025-02-14T22:01:08Z\"]]\n\n(with-open [stream     (jr.dump/-\u003einput-stream \"dewiktionary\")\n            xml-events (jr.dump/xml-event-reader stream)]\n  (-\u003e\u003e (jr.dump/parse-revisions xml-events)\n       (into [] (comp (take 10) (map (juxt :title :username :timestamp))))))\n\n;; =\u003e [[\"MediaWiki:Linktrail\" \"SteffenB\" \"2004-06-05T22:14:21Z\"]\n;;     [\"MediaWiki:Mainpage\" \"Thogo\" \"2007-11-07T21:10:09Z\"]\n;;     [\"MediaWiki:Aboutpage\" \"Pajz\" \"2006-08-23T15:20:06Z\"]\n;;     [\"MediaWiki:Helppage\" \"Pajz\" \"2006-05-08T14:21:46Z\"]\n;;     [\"MediaWiki:Wikititlesuffix\" \"Melancholie\" \"2005-01-08T04:45:01Z\"]\n;;     [\"MediaWiki:Bugreports\" \"Elian\" \"2004-03-27T13:51:39Z\"]\n;;     [\"MediaWiki:Bugreportspage\" \"Elian\" \"2004-03-27T13:51:29Z\"]\n;;     [\"MediaWiki:Sitesupport\" \"Melancholie\" \"2005-12-28T04:21:16Z\"]\n;;     [\"MediaWiki:Faqpage\" \"Melancholie\" \"2004-11-29T22:03:13Z\"]\n;;     [\"MediaWiki:Edithelppage\" \"Melancholie\" \"2004-11-29T21:54:46Z\"]]\n\n(jr.wd/describe (jr.wd/entity \"Peter Hacks\"))\n\n;; =\u003e \"German writer (1928–2003)\"\n```\n## Contributors\n\n* Gregor Middell, main author\n* Jack Rusher, author of\n  [Mundaneum](https://github.com/jackrusher/mundaneum), a thin Clojure\n  wrapper around Wikidata, that served as the basis for Wikidata\n  support in this library\n\n## License\n\nThis project is licensed under the GNU General Public License v3.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgremid%2Fjulesratte","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgremid%2Fjulesratte","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgremid%2Fjulesratte/lists"}