Database of Courts
Project description
Courts-DB
Courts-DB is an open source repository to organize a database of all courts current and historical. It was built for use in CourtListener.com.
Its main goal is to interface with CourtListener to identify historical and current courts by string. It includes mechanisms to filter results based on dates and/or whether it is a bankruptcy court.
Further development is intended and all contributors, corrections and additions are welcome.
Background
Free Law Project built this database using the metadata (case names, dates etc.) of over 16 millions data points. This data represents hundreds of hours of research and testing. We believe this to be the most extensive open dataset of its kind.
Quickstart
You can feed in a CourtListener Court Identifier or string to find a court.
from courts_db import find_court, find_court_by_id find_court_by_id("mass") returns: [{ "regex": [ "${sjc} ${ma}?", "${ma} ${sjc}", "Supreme Court Of ${ma}", "State Of ${ma} Supreme Court" ], "name_abbreviation": "Mass. Sup. Jud. Ct.", "dates": [ { "start": "1692-01-01", "end": null } ], "name": "Massachusetts Supreme Judicial Court", "level": "colr", "case_types": ["All"], "system": "state", "examples": [ "Supreme Court Of Massachusetts", "Supreme Judicial Court Of Massachusetts", "Massachusetts Supreme Judicial Court" ], "court_url": "http://www.mass.gov/courts/sjc/", "type": "appellate", "id": "mass", "location": "Massachusetts", "citation_string": "Mass." }]
from courts_db import find_court mass_sjc = find_court(u"Massachusetts Supreme Judicial Court") returns: ["mass"]
Filtering on less unique strings is built in.
Feed a date string or bankruptcy flag to filter on those parameters. For example District of Massachusetts is non unique and returns both the Federal District Court of Massachusetts and its Bankruptcy Court.
from datetime import datetime as dt courts_db.find_court( u"District of Massachusetts", ) returns ==> ["mad", "mab"] courts_db.find_court( u"District of Massachusetts", bankruptcy=True, ) returns ==> ["mab"] courts_db.find_court( u"District of Massachusetts", date_found=dt.strptime("10/02/1975", "%m/%d/%Y"), ) returns ==> ["mad"]
Some Notes on the Data
Some things to keep in mind as you are reviewing the data:
The data is divided into two files courts.json and variables.json.
courts.json holds the bulk of the information.
variables.json holds templates for large numbers of regexes.
Fields
id — string; CourtListener Court Identifier
court_url — string; url for court website
regex — array; regexes patterns to find courts
examples — array; regexes patterns to find courts
name — string; full name of the court
name_abbreviation — string; court name abbreviations
dates — Array; contains start date, end date and notes on date range
system — string; defines main jurisdiction, ex. State, Federal, Tribal
level — string; code defining where court is in system structure, ex. COLR (Court of Last Resort), IAC (Intermediate Appellate Court), GJC (General Jurisdiction Court), LJC (Limited Jurisdiction Court)
location — string; refers to the physical location of the main court
type — string; identifies kind of cases handled (Trial, Appellate, Bankruptcy, AG)
citation_string — string; identifies the string used in a citation to refer to the court
notes — string; a place to put notes about a court
Installation
Installing Courts-DB is easy.
pip install courts_db
Or install the latest development version from GitHub.
pip install git+https://github.com/freelawproject/courts-db.git@master
Future
Continue to improve and expand the dataset.
Add filtering mechanisms by state, reporters, citation(s), judges, counties and cities.
Deployment
If you wish to create a new version, the process is:
Update version info in setup.py and commit it.
Tag the commit with the version number.
To proceed manually
Push your commit. CI (Continuous Integration) should take care of the rest.
To proceed manually
Install the requirements in requirements_dev.txt.
Set up a config file at ~/.pypirc.
Generate a universal distribution that works in Python 2 and Python 3 (see setup.cfg).
python setup.py sdist bdist_wheel
Upload the distributions.
twine upload dist/* -r pypi # (or pypitest)
License
This repository is available under the permissive BSD license, making it easy and safe to incorporate in your own libraries.
Pull and feature requests welcome. Online editing in GitHub is possible (and easy!)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file courts_db-0.10.25.tar.gz
.
File metadata
- Download URL: courts_db-0.10.25.tar.gz
- Upload date:
- Size: 139.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f96b4ef3227e6844b3d2d12970373f2f05cdda66a9f15cbe69527ff66649b9d9 |
|
MD5 | 47d2820ccbc44787cc9913618f97655a |
|
BLAKE2b-256 | 348c09bcbba422b8ba43ebf8dd2227d789d382fd1eae961f594de965224f7037 |
File details
Details for the file courts_db-0.10.25-py2.py3-none-any.whl
.
File metadata
- Download URL: courts_db-0.10.25-py2.py3-none-any.whl
- Upload date:
- Size: 148.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b61783bdee2d7afd549ce767d09b4883d835242f73eab9061e74efc2f19c6f64 |
|
MD5 | 27174cc68d26d3f6a75c2b97633588da |
|
BLAKE2b-256 | 8eab7dcb8cc2925b159379d54249d5414380cf1fc12d3f46f90936c5aa9af459 |