Skip to main content

OpenCaseLaw research CLI

ocl checks Swiss case citations against the open OpenCaseLaw corpus (over a million published decisions of the Federal Supreme Court and the cantonal courts, federal and cantonal statutes) and keeps the evidence behind a memo. Dependency-free Python 3.10+; JSON when piped, readable text at a terminal.

pipx install opencaselaw-cli        # or: uv tool install opencaselaw-cli

Two jobs

Check the citations in a draft, written the way lawyers write them:

ocl citations resolve 'BGE 136 III 513 E. 2.3' 'BGer 4A_747/2012 vom 5. April 2013' \
    'Obergericht ZH LA210005 vom 15. Juni 2021' 'BGE 999 III 1'

Each reference comes back resolved, pinpoint_unavailable, discrepancy (the decision exists but the date or docket written next to it is wrong), missing, ambiguous or unrecognized, with the service's own citation strings and the verbatim text of the cited Erwägung. The rule behind it: the decision the service proposes must carry the label the author wrote; nothing is ever substituted, and no citation string is built by the client.

Check the quotations against the served text (exact, near with the differing spans, or not_found):

ocl quotes check 'BGE 136 III 513 E. 2.3' --quote "le contrat de travail conclu pour une durée indéterminée"

Keep the evidence behind a memo:

ocl bundle create 'Rachekündigung Art. 336 OR' --max-results 10 --passage 2 --law OR:336 --out evidence
ocl bundle verify evidence

A bundle folder holds the selected decisions (JSON and plain text), the named Erwägungen and statute articles, a plain-language INDEX.md, and a manifest.json with every request, timestamp, source link and SHA-256.

Also: ocl decisions search, ocl decisions get, ocl decisions passage, ocl laws get, ocl citations list, ocl cite. ocl <command> --help has examples for each.

For agents

ocl agent-guide prints the contract on one page: JSON when piped, exit codes that carry the verdict (0 resolved, 2 invalid input, 3 transport, 4 something did not resolve), --cache DIR for free repeats within a server generation, and the rules (citation strings and quotations only from the service). ocl tool list|schema|call reaches every research tool of the service with its structured output. Three skills ship in the package (citation-check, research, evidence-bundle): ocl skills install --claude copies them into Claude Code's skills directory, --dir anywhere else. opencaselaw_cli.api offers the same as a library.

Scope

Existence, identity and wording only. The tool never says that a decision supports a proposition, is still good law, or fits the facts. Results come from a hosted corpus that is rebuilt nightly, not from an offline snapshot; keep the returned source links and pagination metadata with your work.

Guide: https://opencaselaw.ch/research-cli.md · Site: https://opencaselaw.ch/cli/ · Changelog: CHANGELOG.md. Commands contact https://mcp.opencaselaw.ch by default; --base-url accepts another origin. Defaults can live in ~/.config/ocl/config or OCL_* variables; ocl completion zsh|bash|fish prints a completion script. The client spaces requests by at least 200 ms, retries at most twice by default and respects Retry-After up to 30 seconds.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opencaselaw_cli-0.5.1.tar.gz (94.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opencaselaw_cli-0.5.1-py3-none-any.whl (70.9 kB view details)

Uploaded Python 3

File details

Details for the file opencaselaw_cli-0.5.1.tar.gz.

File metadata

  • Download URL: opencaselaw_cli-0.5.1.tar.gz
  • Upload date:
  • Size: 94.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for opencaselaw_cli-0.5.1.tar.gz
Algorithm Hash digest
SHA256 7be42178cc2b0c3bca84e6afe306a9927aa4dbff69a330bb565dffdc617a068f
MD5 7bfb832155307002eb66318026225299
BLAKE2b-256 5afb40444fe71a0ae8e7da0a5b567fb97d885ff8d366f093362be8d04677c9b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for opencaselaw_cli-0.5.1.tar.gz:

Publisher: release-cli.yml on jonashertner/opencaselaw

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opencaselaw_cli-0.5.1-py3-none-any.whl.

File metadata

File hashes

Hashes for opencaselaw_cli-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0c09d8073498bcc40ead0e960a0285d7100f8e9490d09e73ab9d88a2817e7f64
MD5 a22cbeadfd5bddb1140ad728a03b31bd
BLAKE2b-256 aa57095e9327efef9b1ff5796ae45a2182c641e10ca4f80217bf02d6b50fbf77

See more details on using hashes here.

Provenance

The following attestation bundles were made for opencaselaw_cli-0.5.1-py3-none-any.whl:

Publisher: release-cli.yml on jonashertner/opencaselaw

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.9.1

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

This release

0.5.1 This release

2 files

0.5.0

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page