{"id":49260506,"url":"https://github.com/raindrum/citeurl","last_synced_at":"2026-04-25T07:01:41.417Z","repository":{"id":89418090,"uuid":"324290672","full_name":"raindrum/citeurl","owner":"raindrum","description":"an extensible tool to generate hyperlinks from legal citations","archived":false,"fork":false,"pushed_at":"2026-01-20T04:27:02.000Z","size":5523,"stargazers_count":41,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-20T09:14:53.269Z","etag":null,"topics":["hyperlinks","legal-citation","python","python-markdown","yaml"],"latest_commit_sha":null,"homepage":"https://raindrum.github.io/citeurl","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raindrum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"simonsherred","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null}},"created_at":"2020-12-25T04:57:57.000Z","updated_at":"2026-01-20T04:27:06.000Z","dependencies_parsed_at":"2024-09-18T20:48:56.860Z","dependency_job_id":null,"html_url":"https://github.com/raindrum/citeurl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/raindrum/citeurl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raindrum%2Fciteurl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raindrum%2Fciteurl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raindrum%2Fciteurl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raindrum%2Fciteurl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raindrum","download_url":"https://codeload.github.com/raindrum/citeurl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raindrum%2Fciteurl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32253251,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T04:23:17.126Z","status":"ssl_error","status_checked_at":"2026-04-25T04:21:53.360Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["hyperlinks","legal-citation","python","python-markdown","yaml"],"created_at":"2026-04-25T07:01:37.301Z","updated_at":"2026-04-25T07:01:41.399Z","avatar_url":"https://github.com/raindrum.png","language":"Python","readme":"\u003cp align=\"center\"\u003e\u003ca href=\"https://www.citation.link\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/raindrum/citeurl/main/citeurl/web/logo.svg\" alt=\"CiteURL Logo\" width=200px\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003ca href=\"https://github.com/raindrum/citeurl/actions/workflows/pytest.yml\"\u003e\u003cimg src=\"https://github.com/raindrum/citeurl/actions/workflows/pytest.yml/badge.svg\" alt=\"pytest\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/raindrum/citeurl/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/raindrum/citeurl\" alt=\"GitHub issues\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/raindrum/citeurl/blob/main/LICENSE.md\"\u003e\u003cimg src=\"https://img.shields.io/github/license/raindrum/citeurl\" alt=\"GitHub license\" /\u003e\u003c/a\u003e \u003ca href=\"https://pypi.org/project/citeurl/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/citeurl\" alt=\"PyPI\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\nCiteURL is an extensible tool that parses legal citations and makes links to websites where you can read the relevant law for free. It can be used to quickly look up a reference, or to insert a hyperlink for every long- or short-form citation found in a longer text.\n\nIf you want to quickly try it out, it's available as a web app at [citation.link](https://www.citation.link).\n\n---\n\nHere's a sample of the links CiteURL can make:\n\n\u003e Federal law provides that courts should award prevailing civil rights plaintiffs reasonable attorneys fees, \u003ca class=\"citation\" href=\"https://www.law.cornell.edu/uscode/text/42/1988#b\" title=\"42 U.S.C. § 1988(b)\"\u003e42 USC § 1988(b)\u003c/a\u003e, and, by discretion, expert fees, \u003ca class=\"citation\" href=\"https://www.law.cornell.edu/uscode/text/42/1988#c\" title=\"42 U.S.C. § 1988(c)\"\u003eid. at (c)\u003c/a\u003e. This is because the importance of civil rights litigation cannot be measured by a damages judgment. See Riverside v. Rivera, \u003ca class=\"citation\" href=\"https://www.courtlistener.com/c/us/477/561/\" title=\"477 U.S. 561\"\u003e477 U.S. 561\u003c/a\u003e (1986). But Evans v. Jeff D. upheld a settlement where the plaintiffs got everything they wanted, on condition that they waive attorneys\\' fees. \u003ca class=\"citation\" href=\"https://www.courtlistener.com/c/us/475/717/\" title=\"475 U.S. 717\"\u003e475 U.S. 717\u003c/a\u003e (1986). This ruling lets savvy defendants create a wedge between plaintiffs and their attorneys, discouraging civil rights suits and undermining the court\\'s logic in Riverside, \u003ca class=\"citation\" href=\"https://www.courtlistener.com/c/us/477/561/#574\" title=\"477 U.S. 561, 574-78\"\u003e477 U.S. at 574-78\u003c/a\u003e.\n\n---\n\nBy default, CiteURL supports Bluebook-style citations to [over 130 sources](https://github.com/raindrum/citeurl/blob/main/citeurl/templates) of U.S. law, including:\n\n- most reported state and federal court opinions\n- the U.S. Code and Code of Federal Regulations\n- the U.S. Constitution and all state constitutions\n- the codified laws for every state and territory except Arkansas, Georgia, Guam, and Puerto Rico.\n\nYou can also add more sources of law by [writing your own citation templates](https://raindrum.github.io/citeurl/template-yamls/) in YAML format.\n\n## Installation\n\nTo install just enough to make CiteURL work, run this command:\n\n```bash\npython3 -m pip install citeurl\n```\n\nSubstitute `citeurl[full]` for `citeurl` if you want to install the optional dependencies `flask` and `appdirs`, necessary for hosting citeurl as a website and reading custom templates from the user's home directory.\n\n\n\n## Usage\n\nCiteURL provides four command-line tools:\n\n- `citeurl process`: Parse a text and insert an HTML hyperlink for every citation it contains, including shortform citations.\n- `citeurl lookup`: Look up a single citation and display information about it.\n- `citeurl host`: Host an instance of CiteURL as a web app like [citation.link](https://www.citation.link).\n- `citeurl makejs`: Export an instance of CiteURL's lookup feature as JavaScript or a static web page. More info is available [here](https://raindrum.github.io/citeurl/frontends#javascript).\n\nEach command has its own command-line arguments you can view with the `-h` option. They all share the `-t` option, which allows you to load a list of custom [citation templates](https://raindrum.github.io/citeurl/template-yamls/) in YAML form.\n\nHere are a few common use cases:\n\n```bash\n# Process a court opinion and output a version where each citation is hyperlinked:\nciteurl process -i INPUT_FILE.html -o OUTPUT_FILE.html\n```\n\n```bash\n# Look up a single citation and open it directly in a browser\nciteurl lookup \"42 USC 1983\" -b\n```\n\n```bash\n# List the top ten authorities cited in a text, from most citations to least:\ncat INPUT_FILE.html | citeurl process -a 10\n```\n\n```bash\n# Host a lookup tool with custom templates, and serve it on the local network:\nciteurl host -t PATH_TO_YOUR_TEMPLATES.YAML -s\n```\n\nCiteURL is also available in a few other forms besides the command-line tool: \n\n- [citation.link](https://www.citation.link), the web app\n- [a flexible Python library](https://raindrum.github.io/citeurl/library)\n- [an extension](https://raindrum.github.io/citeurl/frontends#markdown-extension) to [Python-Markdown](https://python-markdown.github.io/)\n- [a desktop search provider](https://extensions.gnome.org/extension/4225/gnome-citeurl-search-provider/) for Linux users with the GNOME shell\n\n## Credits\n\nMany thanks to these websites, which CiteURL's default templates frequently link to:\n\n- [CourtListener](https://www.courtlistener.com/) - for court cases. (Special thanks to Harvard's [Caselaw Access Project](https://cite.case.law/), which previously served the same role)\n- Cornell's [Legal Information Institute](https://www.law.cornell.edu/) - for the U.S. Code and many federal rules\n- [Ballotpedia](https://ballotpedia.org) - for the vast majority of state constitutions\n- [LawServer.com](https://www.lawserver.com/tools/laws) - for statutes in about a dozen states and territories whose websites don't have a compatible URL scheme\n","funding_links":["https://ko-fi.com/simonsherred"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraindrum%2Fciteurl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraindrum%2Fciteurl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraindrum%2Fciteurl/lists"}