# The National Archives: Find Case Law
This repository is part of the [Find Case Law](https://caselaw.nationalarchives.gov.uk/) project at [The National Archives](https://www.nationalarchives.gov.uk/). For more information on the project, check [the documentation](https://github.com/nationalarchives/ds-find-caselaw-docs).
# MarkLogic API Client
[![PyPI](https://img.shields.io/pypi/v/ds-caselaw-marklogic-api-client)](https://pypi.org/project/ds-caselaw-marklogic-api-client/) ![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/pypi/ds-caselaw-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](https://nationalarchives.github.io/ds-caselaw-custom-api-client).
## Testing
To run the test suite:
```bash
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
```bash
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](CHANGELOG.md) using the
[Keep a Changelog 1.0.0](https://keepachangelog.com/en/1.0.0/) format. Pull
requests should not be merged before any relevant updates are made.
## Releasing
When making a new release, update the [changelog](CHANGELOG.md) 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:
0. Update the version number in `pyproject.toml`
0. Create a branch `release/v{major}.{minor}.{patch}`
0. Update `CHANGELOG.md` for the release
0. Commit and push
0. Open a PR from that branch to main
0. Get approval on the PR
0. Merge the PR to main and push
0. Tag the merge commit on `main` with `v{major}.{minor}.{patch}` and push the tag
0. Create a release in [Github releases](https://github.com/nationalarchives/ds-caselaw-custom-api-client/releases)
using the created tag
Raw data
{
"_id": null,
"home_page": "https://github.com/nationalarchives/ds-caselaw-custom-api-client",
"name": "ds-caselaw-marklogic-api-client",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "national archives, caselaw",
"author": "The National Archives",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/8f/2c/5377e3dbeac81d173155dad4e34f9bc04f567a2e10420b3b6fd4bea3d265/ds_caselaw_marklogic_api_client-23.0.2.tar.gz",
"platform": null,
"description": "# The National Archives: Find Case Law\n\nThis repository is part of the [Find Case Law](https://caselaw.nationalarchives.gov.uk/) project at [The National Archives](https://www.nationalarchives.gov.uk/). For more information on the project, check [the documentation](https://github.com/nationalarchives/ds-find-caselaw-docs).\n\n# MarkLogic API Client\n\n[![PyPI](https://img.shields.io/pypi/v/ds-caselaw-marklogic-api-client)](https://pypi.org/project/ds-caselaw-marklogic-api-client/) ![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/pypi/ds-caselaw-marklogic-api-client)\n\nThis is an API Client for connecting to Marklogic for The National Archive's Caselaw site.\n\nThis package is published on PyPI: https://pypi.org/project/ds-caselaw-marklogic-api-client/\n\n## Usage\n\nYou can find documentation of the client class and available methods [here](https://nationalarchives.github.io/ds-caselaw-custom-api-client).\n\n## Testing\n\nTo run the test suite:\n\n```bash\npoetry install\npoetry run pytest\n```\n\nThere are also some smoketests in `smoketests.py` which run against a MarkLogic database but do not run in CI currently.\n\nTo 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.\n\nAnd then run\n\n```bash\npoetry run pytest smoketest.py\n```\n\nTo 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.\n\nEventually 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.\n\n## Making changes\n\nWhen making a change, update the [changelog](CHANGELOG.md) using the\n[Keep a Changelog 1.0.0](https://keepachangelog.com/en/1.0.0/) format. Pull\nrequests should not be merged before any relevant updates are made.\n\n## Releasing\n\nWhen making a new release, update the [changelog](CHANGELOG.md) in the release\npull request.\n\nThe package will **only** be released to PyPI if the branch is tagged. A merge\nto main alone will **not** trigger a release to PyPI.\n\nTo create a release:\n\n0. Update the version number in `pyproject.toml`\n0. Create a branch `release/v{major}.{minor}.{patch}`\n0. Update `CHANGELOG.md` for the release\n0. Commit and push\n0. Open a PR from that branch to main\n0. Get approval on the PR\n0. Merge the PR to main and push\n0. Tag the merge commit on `main` with `v{major}.{minor}.{patch}` and push the tag\n0. Create a release in [Github releases](https://github.com/nationalarchives/ds-caselaw-custom-api-client/releases)\nusing the created tag\n\n",
"bugtrack_url": null,
"license": null,
"summary": "An API client for interacting with the underlying data in Find Caselaw.",
"version": "23.0.2",
"project_urls": {
"Homepage": "https://github.com/nationalarchives/ds-caselaw-custom-api-client"
},
"split_keywords": [
"national archives",
" caselaw"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a722e12dbea4f2f5948c707d799dba153ac7da4b7083381936f0a0b576260334",
"md5": "dbe36ca2b845ce805ae66ff9fde66495",
"sha256": "fcb9a2cb1a61a6f77aa8cce601f96492fef79ed6d374c0da2b34577b0b4f3c90"
},
"downloads": -1,
"filename": "ds_caselaw_marklogic_api_client-23.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dbe36ca2b845ce805ae66ff9fde66495",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 56276,
"upload_time": "2024-04-19T11:52:36",
"upload_time_iso_8601": "2024-04-19T11:52:36.201141Z",
"url": "https://files.pythonhosted.org/packages/a7/22/e12dbea4f2f5948c707d799dba153ac7da4b7083381936f0a0b576260334/ds_caselaw_marklogic_api_client-23.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8f2c5377e3dbeac81d173155dad4e34f9bc04f567a2e10420b3b6fd4bea3d265",
"md5": "f4f3ef99c879a5b38aa1ad9405c42a44",
"sha256": "b8a6b23781f4f98d138ecb92069fd88c50f360e7a49f2f8bc2428e48945acc24"
},
"downloads": -1,
"filename": "ds_caselaw_marklogic_api_client-23.0.2.tar.gz",
"has_sig": false,
"md5_digest": "f4f3ef99c879a5b38aa1ad9405c42a44",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 36264,
"upload_time": "2024-04-19T11:52:38",
"upload_time_iso_8601": "2024-04-19T11:52:38.463611Z",
"url": "https://files.pythonhosted.org/packages/8f/2c/5377e3dbeac81d173155dad4e34f9bc04f567a2e10420b3b6fd4bea3d265/ds_caselaw_marklogic_api_client-23.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-19 11:52:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nationalarchives",
"github_project": "ds-caselaw-custom-api-client",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "ds-caselaw-marklogic-api-client"
}