ecourts

Python library to help scrape Indian Court Orders from the ecourts website

https://github.com/openjustice-in/ecourts

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary

Keywords from Contributors

mesh sequences interactive hacking network-simulation
Last synced: 6 months ago · JSON representation ·

Repository

Python library to help scrape Indian Court Orders from the ecourts website

Basic Info
  • Host: GitHub
  • Owner: openjustice-in
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 490 KB
Statistics
  • Stars: 30
  • Watchers: 2
  • Forks: 7
  • Open Issues: 15
  • Releases: 6
Created over 1 year ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

Coverage Status PyPI - Latest Version GitHub Tag GitHub Actions Workflow Status docs docs DOI

This is a information retrieval toolkit to fetch case information from the ECourts Service. This is primarily meant for journalists, and law researchers who need bulk access to the ECourts website to get orders, judgements, or lists of cases that match their criteria.

The final goal is to cover all services under the ecourts.gov.in domain, but it currently supports a few services covered at https://hcservices.ecourts.gov.in/ecourtindiaHC/.

It covers all the High Courts and their various benches.

Type of Query | Supported | Inputs --------------|-----------|------- Search for cases by Case Number | 🚧WIP | Case Type, Case Number, Year Search for cases by FIR Number | 🚧WIP | Police Station, FIR Number†, Year†, Case Status (Pending/Disposed/Both)† Search for cases by Party Name | 🔜Planned | Petitioner/Respondent Name, Year†, Case Status (Pending/Disposed/Both)† Search for cases by Advocate Name | 🚫No Search for cases by Filing Number | 🚧WIP | Filing Number, Year Search for cases by Act | ✅Yes | Act Type, Status Search for cases by Case Type | 🚧WIP | Case Type, Year†, Pending/Disposed Search for Case Orders/Judgement by Case Number | 🚧WIP | Case Type, Case Number, Year Search for Case Orders/Judgement by Filling Number | 🚧WIP | Filing Number, Year Search for Case Orders/Judgement by Judge Wise | 🚫No | Search for Case Orders/Judgement by Party Name | 🔜Planned | Petitioner/Respondent Name, Year Search for Case Orders/Judgement by Order Date | ✅Yes | Date Get Cause List | ✅Yes | Date|

† - Optional

Case Types

Each of the individual courts use their own numbering system for various case-types. So the same type of case might have different ID depending on the court. This can even vary between various benches of the same High Court. For example, HCB (Habeas Corpus Petition) is numbered the following different ways across various courts (not exhaustive):

Court |ID ------|---- Madras High Court - Principal Bench| 22 Madras High Court - Madurai Bench | 164 High Court of Jammu and Kashmir - Jammu Wing|17 High Court of Jammu and Kashmir - Srinagar Wing|171

As such, before doing any kind of work that relies on case type (such as fetching case details, or orders by case type) - you must get the relevant case type idenfiers. You can run:

ecourts get-case-type --state-code SC [--court-code CC] to get the case type identifiers for a particular court. If the state-code/court-code identifiers are not provided, the case types will be fetched for all known courts. A list of all known courts is available at courts.csv published as part of the source code.

Act Types

Similar to Case Types, Act idenfiers are different between courts. You can use

ecourts get-act-type --state-code SC [--court-code CC] to get the act type identifiers for a particular court.

Types

The primary two classes that most users will deal with are Court, and ECourt. A court is one of the high court benches covered at https://hcservices.ecourts.gov.in/ecourtindiaHC/, and an ECourt is the primary class that deals with the website.

Other entities involved are more legal in nature:

Documentation

Guiding Principles

  • Make it easy to fetch case information.
  • Store information in accessible formats, for easy retrieval and querying.
  • Use standard identifiers, such as ISO-3166 for state codes.
  • Be nice to the ecourts website. Retry failed requests, but do not hammer the site. In case of 5xx errors, wait for a while before retrying.

Citation

DOI

If you use this for any research purposes, please use the following citation information.

DOI: https://doi.org/10.5281/zenodo.13324986

You can check various citation formats on the Zenodo Website or on GitHub by clicking "Cite this repository". Since this is a dynamic software - it depends on the ecourts website, please cite the Zenodo ID 13324986 as it will always point to the latest version of the software.

LICENSE

Licensed under GPL3-or-later. If you run this code, you are responsible for the legal implications of the same. The tool is intentionally single-threaded, and does not offer any parallelism. This is to avoid overloading the ecourts website servers, which are already quite slow. Please note sections 15-16 of the LICENSE, which are summarized here:

There is no warranty for the program, to the extent permitted by applicable law. In no event unless required by applicable law or agreed to in writing will any copyright holder, or any other party who modifies and/or conveys the program as permitted above, be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the program.

As part of GPL3 obligations:

You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to this code must also be made available under the GPL along with build & install instructions.

Owner

  • Name: Open Justice India
  • Login: openjustice-in
  • Kind: organization
  • Location: India

Opening up law datasets in India.

Citation (CITATION.cff)

cff-version: 1.2.0
title: ecourts
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Abhay
    family-names: Rana
    email: ecourts@captnemo.in
    orcid: 'https://orcid.org/0000-0002-7993-1363'
repository-code: 'https://github.com/openjustice-in/ecourts'
url: 'https://openjustice-in.github.io/ecourts/'
identifiers:
  - type: DOI
    value: 10.5281/zenodo.13324986
repository-artifact: 'https://pypi.org/project/ecourts/'
abstract: >-
  ecourts is a information retrieval tool for Indian High
  Courts.
keywords:
  - ecourts
  - legal-research
  - india
  - judiciary
  - information-retrieval
  - scraping
license: GPL-3.0-or-later

GitHub Events

Total
  • Issues event: 1
  • Watch event: 19
  • Delete event: 15
  • Issue comment event: 2
  • Push event: 18
  • Pull request event: 37
  • Fork event: 7
  • Create event: 22
Last Year
  • Issues event: 1
  • Watch event: 19
  • Delete event: 15
  • Issue comment event: 2
  • Push event: 18
  • Pull request event: 37
  • Fork event: 7
  • Create event: 22

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 113
  • Total Committers: 2
  • Avg Commits per committer: 56.5
  • Development Distribution Score (DDS): 0.23
Past Year
  • Commits: 65
  • Committers: 2
  • Avg Commits per committer: 32.5
  • Development Distribution Score (DDS): 0.385
Top Committers
Name Email Commits
Nemo me@c****n 87
dependabot[bot] 4****] 26
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 5
  • Total pull requests: 10
  • Average time to close issues: 17 days
  • Average time to close pull requests: less than a minute
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.2
  • Average comments per pull request: 0.0
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 10
Past Year
  • Issues: 0
  • Pull requests: 10
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 10
Top Authors
Issue Authors
  • captn3m0 (1)
  • Donnie (1)
Pull Request Authors
  • dependabot[bot] (15)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels
dependencies (15) github_actions (12) python (3)

Dependencies

pyproject.toml pypi
  • PyYAML ~=6.0
  • requests ~=2.31
.github/workflows/dependabot.yml actions
  • dependabot/fetch-metadata v2.1.0 composite
.github/workflows/docs.yml actions
  • actions/checkout v4 composite
  • actions/configure-pages v5 composite
  • actions/deploy-pages d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e composite
  • actions/setup-python v5 composite
  • actions/upload-pages-artifact 56afc609e74202658d3ffba0e8f6dda462b719fa composite
  • jaywcjlove/markdown-to-html-cli main composite
.github/workflows/test.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
.github/workflows/publish.yml actions
  • actions/checkout 692973e3d937129bcbf40652eb9f2f61becf3332 composite
  • actions/download-artifact fa0a91b85d4f404e444e00e005971372dc801d16 composite
  • actions/setup-python 39cd14951b08e74b54015e9e001cdefcf80e669f composite
  • actions/upload-artifact 834a144ee995460fba8ed112a2fc961b36a5ec5a composite
  • pypa/gh-action-pypi-publish ec4db0b4ddc65acdf4bff5fa45ac92d78b56bdf0 composite
  • sigstore/gh-action-sigstore-python 61f6a500bbfdd9a2a339cf033e5421951fbc1cd2 composite