ds-caselaw-marklogic-api-client 23.0.2__tar.gz → 24.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ds-caselaw-marklogic-api-client might be problematic. Click here for more details.

Files changed (68) hide show
  1. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/PKG-INFO +15 -11
  2. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/README.md +11 -9
  3. ds_caselaw_marklogic_api_client-24.0.1/pyproject.toml +77 -0
  4. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/Client.py +124 -76
  5. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/client_helpers/__init__.py +2 -2
  6. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/client_helpers/search_helpers.py +5 -3
  7. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/content_hash.py +2 -4
  8. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/errors.py +3 -6
  9. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/models/documents.py +39 -29
  10. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/models/judgments.py +1 -4
  11. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/models/neutral_citation_mixin.py +12 -15
  12. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/models/press_summaries.py +2 -5
  13. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/models/utilities/aws.py +10 -13
  14. ds_caselaw_marklogic_api_client-24.0.1/src/caselawclient/models/utilities/dates.py +20 -0
  15. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/models/utilities/move.py +11 -10
  16. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/responses/search_response.py +4 -5
  17. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/responses/search_result.py +11 -10
  18. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xml_helpers.py +3 -1
  19. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xml_tools.py +6 -5
  20. ds_caselaw_marklogic_api_client-23.0.2/pyproject.toml +0 -52
  21. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/LICENSE.md +0 -0
  22. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/__init__.py +0 -0
  23. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/models/__init__.py +0 -0
  24. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/models/utilities/__init__.py +0 -0
  25. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/py.typed +0 -0
  26. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/responses/__init__.py +0 -0
  27. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/responses/xsl/search_match.xsl +0 -0
  28. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/search_parameters.py +0 -0
  29. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/break_judgment_checkout.xqy +0 -0
  30. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/checkin_judgment.xqy +0 -0
  31. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/checkout_judgment.xqy +0 -0
  32. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/copy_document.xqy +0 -0
  33. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/delete_judgment.xqy +0 -0
  34. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/document_collections.xqy +0 -0
  35. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/document_exists.xqy +0 -0
  36. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/get_combined_stats_table.xqy +0 -0
  37. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/get_components_for_document.xqy +0 -0
  38. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/get_highest_enrichment_version.xqy +0 -0
  39. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/get_highest_parser_version.xqy +0 -0
  40. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/get_judgment.xqy +0 -0
  41. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/get_judgment_checkout_status.xqy +0 -0
  42. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/get_judgment_version.xqy +0 -0
  43. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/get_last_modified.xqy +0 -0
  44. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/get_pending_enrichment_for_version.xqy +0 -0
  45. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/get_pending_parse_for_version.xqy +0 -0
  46. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/get_properties_for_search_results.xqy +0 -0
  47. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/get_property.xqy +0 -0
  48. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/get_version_annotation.xqy +0 -0
  49. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/get_version_created.xqy +0 -0
  50. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/insert_document.xqy +0 -0
  51. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/list_judgment_versions.xqy +0 -0
  52. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/set_boolean_property.xqy +0 -0
  53. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/set_metadata_citation.xqy +0 -0
  54. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/set_metadata_court.xqy +0 -0
  55. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/set_metadata_jurisdiction.xqy +0 -0
  56. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/set_metadata_name.xqy +0 -0
  57. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/set_metadata_this_uri.xqy +0 -0
  58. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/set_metadata_work_expression_date.xqy +0 -0
  59. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/set_property.xqy +0 -0
  60. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/update_document.xqy +0 -0
  61. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/update_locked_judgment.xqy +0 -0
  62. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/user_has_privilege.xqy +0 -0
  63. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/user_has_role.xqy +0 -0
  64. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/validate_all_documents.xqy +0 -0
  65. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/validate_document.xqy +0 -0
  66. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/xslt.xqy +0 -0
  67. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery/xslt_transform.xqy +0 -0
  68. {ds_caselaw_marklogic_api_client-23.0.2 → ds_caselaw_marklogic_api_client-24.0.1}/src/caselawclient/xquery_type_dicts.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ds-caselaw-marklogic-api-client
3
- Version: 23.0.2
3
+ Version: 24.0.1
4
4
  Summary: An API client for interacting with the underlying data in Find Caselaw.
5
5
  Home-page: https://github.com/nationalarchives/ds-caselaw-custom-api-client
6
6
  Keywords: national archives,caselaw
@@ -11,7 +11,7 @@ Classifier: Programming Language :: Python :: 3.9
11
11
  Classifier: Programming Language :: Python :: 3.10
12
12
  Classifier: Programming Language :: Python :: 3.11
13
13
  Requires-Dist: boto3 (>=1.26.112,<2.0.0)
14
- Requires-Dist: certifi (>=2022.12.7,<2024.0.0)
14
+ Requires-Dist: certifi (>=2024.7.4,<2024.8.0)
15
15
  Requires-Dist: charset-normalizer (>=3.0.0,<4.0.0)
16
16
  Requires-Dist: django-environ (>=0.11.0,<0.12.0)
17
17
  Requires-Dist: ds-caselaw-utils (>=1.4.1,<2.0.0)
@@ -20,6 +20,8 @@ Requires-Dist: lxml (>=5.0.0,<6.0.0)
20
20
  Requires-Dist: memoization (>=0.4.0,<0.5.0)
21
21
  Requires-Dist: mypy-boto3-s3 (>=1.26.104,<2.0.0)
22
22
  Requires-Dist: mypy-boto3-sns (>=1.26.69,<2.0.0)
23
+ Requires-Dist: python-dateutil (>=2.9.0-post.0,<3.0.0)
24
+ Requires-Dist: pytz (>=2024.1,<2025.0)
23
25
  Requires-Dist: requests (>=2.28.2,<3.0.0)
24
26
  Requires-Dist: requests-toolbelt (>=0.10.1,<1.1.0)
25
27
  Requires-Dist: typing-extensions (>=4.7.1,<5.0.0)
@@ -81,13 +83,15 @@ to main alone will **not** trigger a release to PyPI.
81
83
  To create a release:
82
84
 
83
85
  0. Update the version number in `pyproject.toml`
84
- 0. Create a branch `release/v{major}.{minor}.{patch}`
85
- 0. Update `CHANGELOG.md` for the release
86
- 0. Commit and push
87
- 0. Open a PR from that branch to main
88
- 0. Get approval on the PR
89
- 0. Merge the PR to main and push
90
- 0. Tag the merge commit on `main` with `v{major}.{minor}.{patch}` and push the tag
91
- 0. Create a release in [Github releases](https://github.com/nationalarchives/ds-caselaw-custom-api-client/releases)
92
- using the created tag
86
+ 1. Create a branch `release/v{major}.{minor}.{patch}`
87
+ 2. Update `CHANGELOG.md` for the release
88
+ 3. Commit and push
89
+ 4. Open a PR from that branch to main
90
+ 5. Get approval on the PR
91
+ 6. Merge the PR to main and push
92
+ 7. Tag the merge commit on `main` with `v{major}.{minor}.{patch}` and push the tag
93
+ 8. Create a release in [Github releases](https://github.com/nationalarchives/ds-caselaw-custom-api-client/releases)
94
+ using the created tag
95
+
96
+ 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.
93
97
 
@@ -54,12 +54,14 @@ to main alone will **not** trigger a release to PyPI.
54
54
  To create a release:
55
55
 
56
56
  0. Update the version number in `pyproject.toml`
57
- 0. Create a branch `release/v{major}.{minor}.{patch}`
58
- 0. Update `CHANGELOG.md` for the release
59
- 0. Commit and push
60
- 0. Open a PR from that branch to main
61
- 0. Get approval on the PR
62
- 0. Merge the PR to main and push
63
- 0. Tag the merge commit on `main` with `v{major}.{minor}.{patch}` and push the tag
64
- 0. Create a release in [Github releases](https://github.com/nationalarchives/ds-caselaw-custom-api-client/releases)
65
- using the created tag
57
+ 1. Create a branch `release/v{major}.{minor}.{patch}`
58
+ 2. Update `CHANGELOG.md` for the release
59
+ 3. Commit and push
60
+ 4. Open a PR from that branch to main
61
+ 5. Get approval on the PR
62
+ 6. Merge the PR to main and push
63
+ 7. Tag the merge commit on `main` with `v{major}.{minor}.{patch}` and push the tag
64
+ 8. Create a release in [Github releases](https://github.com/nationalarchives/ds-caselaw-custom-api-client/releases)
65
+ using the created tag
66
+
67
+ 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.
@@ -0,0 +1,77 @@
1
+ [tool.poetry]
2
+ name = "ds-caselaw-marklogic-api-client"
3
+ version = "24.0.1"
4
+ description = "An API client for interacting with the underlying data in Find Caselaw."
5
+ authors = ["The National Archives"]
6
+ homepage = "https://github.com/nationalarchives/ds-caselaw-custom-api-client"
7
+ keywords = ["national archives", "caselaw"]
8
+ readme = "README.md"
9
+ packages = [
10
+ { include = "caselawclient", from = "src" },
11
+ ]
12
+
13
+ [tool.poetry.dependencies]
14
+ python = "^3.9"
15
+ certifi = ">=2024.7.4,<2024.8.0"
16
+ charset-normalizer = "^3.0.0"
17
+ django-environ = "^0.11.0"
18
+ idna = "^3.4"
19
+ requests = "^2.28.2"
20
+ requests-toolbelt = ">=0.10.1,<1.1.0"
21
+ memoization = "^0.4.0"
22
+ lxml = "^5.0.0"
23
+ ds-caselaw-utils = "^1.4.1"
24
+ boto3 = "^1.26.112"
25
+ typing-extensions = "^4.7.1"
26
+ mypy-boto3-s3 = "^1.26.104"
27
+ mypy-boto3-sns = "^1.26.69"
28
+ pytz = "^2024.1"
29
+ python-dateutil = "^2.9.0-post.0"
30
+
31
+ [tool.poetry.group.dev.dependencies]
32
+ coverage = "^7.2.3"
33
+ pytest = "^8.0.0"
34
+ responses = "^0.25.0"
35
+ python-dotenv = "^1.0.0"
36
+ time-machine = "^2.13.0"
37
+ moto = {version = "^5.0.1", extras = ["all"]}
38
+
39
+ [tool.poetry.group.docs]
40
+ optional = true
41
+
42
+ [tool.poetry.group.docs.dependencies]
43
+ pdoc = "^14.0.0"
44
+
45
+ [build-system]
46
+ requires = ["poetry-core"]
47
+ build-backend = "poetry.core.masonry.api"
48
+
49
+ [tool.pytest.ini_options]
50
+ markers = [
51
+ "write: the test deliberately changes the Marklogic DB')",
52
+ ]
53
+ filterwarnings = ["ignore::DeprecationWarning"]
54
+
55
+ [tool.ruff]
56
+ line-length = 120
57
+
58
+ [tool.ruff.lint]
59
+ ignore = ["E501", "G004", "PLR2004", "RUF005", "RUF012", "UP040"] # long lines, fstrings in logs, magic values, consider not concat, mutable classbits, type instead of TypeAlias
60
+ extend-select = ["W", "B", "Q", "C90", "I", "UP", "YTT", "ASYNC", "S", "BLE", "A", "COM", "C4", "DTZ", "T10", "DJ", "EM", "EXE", "FA",
61
+ "ISC", "ICN", "G", "INP", "PIE", "T20", "PYI", "PT", "Q", "RSE", "RET", "SLF", "SLOT", "SIM", "TID", "TCH", "INT", "PTH",
62
+ "FIX", "PGH", "PL", "TRY", "FLY", "PERF", "RUF"]
63
+ unfixable = ["ERA"]
64
+
65
+ # things skipped:
66
+ # N: naming, possibly good
67
+ # D: docstrings missing throughout
68
+ # ANN: annotations missing throughout
69
+ # FBT: not convinced boolean trap worth auto-banning.
70
+ # CPY: copyright at top of each file
71
+ # G: logging warnings -- fstrings bad?
72
+ # ARG: sometimes you need to accept arguments.
73
+ # TD: somewhat finicky details about formatting TODOs
74
+ # FIX: flags todos: possible to add -- skipped for now
75
+ # ERA: lots of false positives, not a good autofix
76
+ # PD, NPY, AIR: ignored, panda / numpy / airflow specific
77
+ # FURB: not yet out of preview