The National Archives: Find Case Law
This repository is part of the Find Case Law project at The National Archives. For more information on the project, check the documentation.
MarkLogic API Client
This is an API Client for connecting to Marklogic for The National Archive's Caselaw site.
This package is published on PyPI: https://pypi.org/project/ds-caselaw-marklogic-api-client/
Usage
You can find documentation of the client class and available methods here.
Testing
To run the test suite:
poetry install
poetry run pytest
There are also some smoketests in smoketests.py which run against a MarkLogic database but do not run in CI currently.
To run them locally you can set the environment variables as detailed in the file in a .env file or just hardcode them in, as long as you don't commit those changes to the repo.
And then run
poetry run pytest smoketest.py
To start with when running this, we have been choosing to point to the staging MarkLogic to have more confidence that the setup is a good representation of production as opposed to a local MarkLogic instance but that can work too.
Eventually we will make it so that we run these tests in CI and probably point to a dedicated testing MarkLogic instance so we don't get conflicts with people using staging for manual testing.
Making changes
When making a change, update the changelog using the Keep a Changelog 1.0.0 format. Pull requests should not be merged before any relevant updates are made.
Deployment
This repository will auto-deploy documentation to GitHub Pages when changes are made to main.
Release process
When making a new release, update the changelog in the release pull request.
The package will only be released to PyPI if the branch is tagged. A merge to main alone will not trigger a release to PyPI.
To create a release:
- Update the version number in
pyproject.toml - Create a branch
release/v{major}.{minor}.{patch} - Update
CHANGELOG.mdfor the release - Commit and push
- Open a PR from that branch to main
- Get approval on the PR
- Merge the PR to main and push
- Tag the merge commit on
mainwithv{major}.{minor}.{patch}and push the tag - Create a release in Github releases using the created tag
If the release fails to push to PyPI, you can delete the tag with git pull, git push --delete origin v1.2.3 and try again.
Metadata
Release files for ds-caselaw-marklogic-api-client 50.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ds_caselaw_marklogic_api_client-50.0.1.tar.gz | 84.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ds_caselaw_marklogic_api_client-50.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 214.6 kB
Release files / ds_caselaw_marklogic_api_client-50.0.1.tar.gz
| Download URL | ds_caselaw_marklogic_api_client-50.0.1.tar.gz |
|---|---|
| Size | 84.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
211106c9df79dd6d520a2e682475a832893a8b0ef1af51648dac5f292f971f17
|
|
BLAKE2b-256 checksum How to use checksums |
56c052addcf641ebaee9b6efec41f3e1b39079d777816b2a5ab6860b39524560
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / ds_caselaw_marklogic_api_client-50.0.1-py3-none-any.whl
| Download URL | ds_caselaw_marklogic_api_client-50.0.1-py3-none-any.whl |
|---|---|
| Size | 130.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
943a7653a3abe59430f25ed644182650d4d90f17e2c53bb2742c473ddf5319c0
|
|
BLAKE2b-256 checksum How to use checksums |
20c147003cdcaad3b8976403295d16a2edbf3d52be5b6723c00724d222897f9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency log