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
MarkLogic integration tests live under tests/marklogic/ and are opt-in: the default poetry run pytest excludes them (-m 'not marklogic'). They replace the old standalone smoketest/ module and load a fixed corpus from marklogic_harness/fixtures/documents/ (URIs under test/… as well as smoketest/…) so CI does not depend on staging.
CI runs them in a dedicated job against a local MarkLogic container (see .github/workflows/test.yml).
To run locally against Docker or another MarkLogic instance, set MARKLOGIC_HOST, MARKLOGIC_USER, and MARKLOGIC_PASSWORD in a .env file, then:
poetry run pytest -o addopts= -p marklogic_harness.pytest_plugin -m marklogic tests/marklogic
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 51.0.0
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-51.0.0.tar.gz | 100.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ds_caselaw_marklogic_api_client-51.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 254.9 kB
Release files / ds_caselaw_marklogic_api_client-51.0.0.tar.gz
| Download URL | ds_caselaw_marklogic_api_client-51.0.0.tar.gz |
|---|---|
| Size | 100.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
20059a436deeb631896a7e4b565e268d1c0681f57e6d6c52dba61f44506a5141
|
|
BLAKE2b-256 checksum How to use checksums |
c87739ae6b710d1761bc69191263821a9b0e58caaa360dbcfb5cfb1a7c4e3e34
|
| 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 Oct 14, 2026.
Transparency logRelease files / ds_caselaw_marklogic_api_client-51.0.0-py3-none-any.whl
| Download URL | ds_caselaw_marklogic_api_client-51.0.0-py3-none-any.whl |
|---|---|
| Size | 154.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1aed5e712733a53f53d7003873371e97c507f60324aaa9db575a91bf4c8de99c
|
|
BLAKE2b-256 checksum How to use checksums |
2ba101409c8de1bcf62c79861e2ea78c4a7f64988b2653572347f70a5f5472fc
|
| 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 Oct 14, 2026.
Transparency log