chunkr-ai 0.1.0a6__tar.gz → 0.1.0a8__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.
Files changed (136) hide show
  1. chunkr_ai-0.1.0a8/.release-please-manifest.json +3 -0
  2. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/CHANGELOG.md +71 -0
  3. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/PKG-INFO +14 -13
  4. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/README.md +11 -12
  5. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/api.md +60 -5
  6. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/pyproject.toml +55 -2
  7. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/requirements-dev.lock +13 -1
  8. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/requirements.lock +16 -0
  9. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/__init__.py +2 -0
  10. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_base_client.py +3 -3
  11. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_client.py +31 -3
  12. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_compat.py +48 -48
  13. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_constants.py +5 -5
  14. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_exceptions.py +4 -0
  15. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_models.py +41 -41
  16. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_types.py +35 -1
  17. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_utils/__init__.py +9 -2
  18. chunkr_ai-0.1.0a8/src/chunkr_ai/_utils/_compat.py +45 -0
  19. chunkr_ai-0.1.0a8/src/chunkr_ai/_utils/_datetime_parse.py +136 -0
  20. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_utils/_transform.py +11 -1
  21. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_utils/_typing.py +6 -1
  22. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_utils/_utils.py +0 -1
  23. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_version.py +1 -1
  24. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/resources/__init__.py +14 -0
  25. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/resources/files.py +3 -3
  26. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/resources/tasks/__init__.py +14 -0
  27. chunkr_ai-0.1.0a8/src/chunkr_ai/resources/tasks/extract.py +393 -0
  28. chunkr_ai-0.1.0a8/src/chunkr_ai/resources/tasks/parse.py +476 -0
  29. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/resources/tasks/tasks.py +64 -32
  30. chunkr_ai-0.1.0a8/src/chunkr_ai/resources/webhooks.py +193 -0
  31. chunkr_ai-0.1.0a8/src/chunkr_ai/types/__init__.py +41 -0
  32. chunkr_ai-0.1.0a8/src/chunkr_ai/types/bounding_box.py +19 -0
  33. chunkr_ai-0.1.0a8/src/chunkr_ai/types/cell.py +39 -0
  34. chunkr_ai-0.1.0a8/src/chunkr_ai/types/cell_style.py +28 -0
  35. chunkr_ai-0.1.0a8/src/chunkr_ai/types/chunk.py +40 -0
  36. chunkr_ai-0.1.0a8/src/chunkr_ai/types/chunk_processing.py +40 -0
  37. chunkr_ai-0.1.0a8/src/chunkr_ai/types/chunk_processing_param.py +42 -0
  38. chunkr_ai-0.1.0a8/src/chunkr_ai/types/extract_configuration.py +24 -0
  39. chunkr_ai-0.1.0a8/src/chunkr_ai/types/extract_output_response.py +62 -0
  40. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/types/file_create_params.py +2 -1
  41. chunkr_ai-0.1.0a8/src/chunkr_ai/types/file_info.py +21 -0
  42. chunkr_ai-0.1.0a8/src/chunkr_ai/types/generation_config.py +29 -0
  43. chunkr_ai-0.1.0a8/src/chunkr_ai/types/generation_config_param.py +29 -0
  44. chunkr_ai-0.1.0a8/src/chunkr_ai/types/llm_processing.py +36 -0
  45. chunkr_ai-0.1.0a8/src/chunkr_ai/types/llm_processing_param.py +36 -0
  46. chunkr_ai-0.1.0a8/src/chunkr_ai/types/ocr_result.py +28 -0
  47. chunkr_ai-0.1.0a8/src/chunkr_ai/types/page.py +27 -0
  48. chunkr_ai-0.1.0a8/src/chunkr_ai/types/parse_configuration.py +64 -0
  49. chunkr_ai-0.1.0a8/src/chunkr_ai/types/parse_configuration_param.py +65 -0
  50. chunkr_ai-0.1.0a8/src/chunkr_ai/types/parse_output_response.py +29 -0
  51. chunkr_ai-0.1.0a8/src/chunkr_ai/types/segment.py +109 -0
  52. chunkr_ai-0.1.0a8/src/chunkr_ai/types/segment_processing.py +228 -0
  53. chunkr_ai-0.1.0a8/src/chunkr_ai/types/segment_processing_param.py +229 -0
  54. chunkr_ai-0.1.0a8/src/chunkr_ai/types/task_extract_updated_webhook_event.py +22 -0
  55. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/types/task_get_params.py +0 -3
  56. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/types/task_list_params.py +7 -1
  57. chunkr_ai-0.1.0a8/src/chunkr_ai/types/task_parse_updated_webhook_event.py +22 -0
  58. chunkr_ai-0.1.0a8/src/chunkr_ai/types/task_response.py +68 -0
  59. chunkr_ai-0.1.0a8/src/chunkr_ai/types/tasks/__init__.py +12 -0
  60. chunkr_ai-0.1.0a8/src/chunkr_ai/types/tasks/extract_create_params.py +47 -0
  61. chunkr_ai-0.1.0a8/src/chunkr_ai/types/tasks/extract_create_response.py +67 -0
  62. chunkr_ai-0.1.0a8/src/chunkr_ai/types/tasks/extract_get_params.py +18 -0
  63. chunkr_ai-0.1.0a8/src/chunkr_ai/types/tasks/extract_get_response.py +67 -0
  64. chunkr_ai-0.1.0a8/src/chunkr_ai/types/tasks/parse_create_params.py +83 -0
  65. chunkr_ai-0.1.0a8/src/chunkr_ai/types/tasks/parse_create_response.py +55 -0
  66. chunkr_ai-0.1.0a8/src/chunkr_ai/types/tasks/parse_get_params.py +18 -0
  67. chunkr_ai-0.1.0a8/src/chunkr_ai/types/tasks/parse_get_response.py +55 -0
  68. chunkr_ai-0.1.0a8/src/chunkr_ai/types/unwrap_webhook_event.py +11 -0
  69. chunkr_ai-0.1.0a8/src/chunkr_ai/types/version_info.py +31 -0
  70. chunkr_ai-0.1.0a8/src/chunkr_ai/types/webhook_url_response.py +9 -0
  71. chunkr_ai-0.1.0a8/tests/api_resources/tasks/test_extract.py +432 -0
  72. chunkr_ai-0.1.0a8/tests/api_resources/tasks/test_parse.py +418 -0
  73. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/api_resources/test_files.py +16 -4
  74. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/api_resources/test_tasks.py +21 -19
  75. chunkr_ai-0.1.0a8/tests/api_resources/test_webhooks.py +138 -0
  76. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/test_client.py +34 -75
  77. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/test_models.py +24 -24
  78. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/test_transform.py +8 -8
  79. chunkr_ai-0.1.0a8/tests/test_utils/test_datetime_parse.py +110 -0
  80. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/utils.py +13 -5
  81. chunkr_ai-0.1.0a6/.release-please-manifest.json +0 -3
  82. chunkr_ai-0.1.0a6/mypy.ini +0 -50
  83. chunkr_ai-0.1.0a6/src/chunkr_ai/resources/tasks/parse.py +0 -652
  84. chunkr_ai-0.1.0a6/src/chunkr_ai/types/__init__.py +0 -15
  85. chunkr_ai-0.1.0a6/src/chunkr_ai/types/task.py +0 -1225
  86. chunkr_ai-0.1.0a6/src/chunkr_ai/types/tasks/__init__.py +0 -6
  87. chunkr_ai-0.1.0a6/src/chunkr_ai/types/tasks/parse_create_params.py +0 -851
  88. chunkr_ai-0.1.0a6/src/chunkr_ai/types/tasks/parse_update_params.py +0 -845
  89. chunkr_ai-0.1.0a6/tests/api_resources/tasks/test_parse.py +0 -812
  90. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/.gitignore +0 -0
  91. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/CONTRIBUTING.md +0 -0
  92. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/LICENSE +0 -0
  93. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/SECURITY.md +0 -0
  94. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/bin/check-release-environment +0 -0
  95. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/bin/publish-pypi +0 -0
  96. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/examples/.keep +0 -0
  97. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/noxfile.py +0 -0
  98. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/release-please-config.json +0 -0
  99. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr/lib/.keep +0 -0
  100. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_files.py +0 -0
  101. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_qs.py +0 -0
  102. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_resource.py +0 -0
  103. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_response.py +0 -0
  104. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_streaming.py +0 -0
  105. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_utils/_logs.py +0 -0
  106. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_utils/_proxy.py +0 -0
  107. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_utils/_reflection.py +0 -0
  108. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_utils/_resources_proxy.py +0 -0
  109. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_utils/_streams.py +0 -0
  110. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/_utils/_sync.py +0 -0
  111. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/lib/.keep +0 -0
  112. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/pagination.py +0 -0
  113. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/py.typed +0 -0
  114. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/resources/health.py +0 -0
  115. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/types/delete.py +0 -0
  116. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/types/file.py +0 -0
  117. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/types/file_list_params.py +0 -0
  118. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/types/file_url.py +0 -0
  119. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/types/file_url_params.py +0 -0
  120. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/types/files_list_response.py +0 -0
  121. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/src/chunkr_ai/types/health_check_response.py +0 -0
  122. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/__init__.py +0 -0
  123. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/api_resources/__init__.py +0 -0
  124. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/api_resources/tasks/__init__.py +0 -0
  125. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/api_resources/test_health.py +0 -0
  126. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/conftest.py +0 -0
  127. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/sample_file.txt +0 -0
  128. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/test_deepcopy.py +0 -0
  129. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/test_extract_files.py +0 -0
  130. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/test_files.py +0 -0
  131. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/test_qs.py +0 -0
  132. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/test_required_args.py +0 -0
  133. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/test_response.py +0 -0
  134. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/test_streaming.py +0 -0
  135. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/test_utils/test_proxy.py +0 -0
  136. {chunkr_ai-0.1.0a6 → chunkr_ai-0.1.0a8}/tests/test_utils/test_typing.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.8"
3
+ }
@@ -1,5 +1,76 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.8 (2025-09-11)
4
+
5
+ Full Changelog: [v0.1.0-alpha.7...v0.1.0-alpha.8](https://github.com/lumina-ai-inc/chunkr-python/compare/v0.1.0-alpha.7...v0.1.0-alpha.8)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([23f3de3](https://github.com/lumina-ai-inc/chunkr-python/commit/23f3de313292081cacc5fc4bbc3f2a2399ef79f9))
10
+ * **api:** api update ([0686c97](https://github.com/lumina-ai-inc/chunkr-python/commit/0686c97a2351bd6e0f707a4660a16b06fbcebe40))
11
+ * improve future compat with pydantic v3 ([5025ab8](https://github.com/lumina-ai-inc/chunkr-python/commit/5025ab8dca9a962a31605361eb79f3ac11ae54d3))
12
+ * **types:** replace List[str] with SequenceNotStr in params ([6f6976a](https://github.com/lumina-ai-inc/chunkr-python/commit/6f6976a9c6f76ea1848ba59e3bd64e8d58e2b387))
13
+
14
+
15
+ ### Chores
16
+
17
+ * **internal:** move mypy configurations to `pyproject.toml` file ([1da3fbc](https://github.com/lumina-ai-inc/chunkr-python/commit/1da3fbc670714966deaedf799cc830fb78f7e8d4))
18
+ * **tests:** simplify `get_platform` test ([6b426b4](https://github.com/lumina-ai-inc/chunkr-python/commit/6b426b41598ec9e7d62901fcd7fe6e5b9ee83172))
19
+
20
+ ## 0.1.0-alpha.7 (2025-09-01)
21
+
22
+ Full Changelog: [v0.1.0-alpha.6...v0.1.0-alpha.7](https://github.com/lumina-ai-inc/chunkr-python/compare/v0.1.0-alpha.6...v0.1.0-alpha.7)
23
+
24
+ ### Features
25
+
26
+ * **api:** api update ([02812f9](https://github.com/lumina-ai-inc/chunkr-python/commit/02812f9d493dd4cae6bb9d266f490dc718b8680c))
27
+ * **api:** api update ([5d6370e](https://github.com/lumina-ai-inc/chunkr-python/commit/5d6370ed319787e45675bc8bd09f8a00da73f39f))
28
+ * **api:** api update ([af27299](https://github.com/lumina-ai-inc/chunkr-python/commit/af27299366bb0912cbc2821cebc46bcfabf1feb9))
29
+ * **api:** api update ([2e3411b](https://github.com/lumina-ai-inc/chunkr-python/commit/2e3411b71c8e14ef2e5498b0642b9b1a37a787fe))
30
+ * **api:** api update ([0af0a90](https://github.com/lumina-ai-inc/chunkr-python/commit/0af0a90ec0f53bd52a263adaa7112caeb0a0aac4))
31
+ * **api:** api update ([f6aaa1a](https://github.com/lumina-ai-inc/chunkr-python/commit/f6aaa1aa3f7125e5e849f955ddfd6af016e21b14))
32
+ * **api:** api update ([8180896](https://github.com/lumina-ai-inc/chunkr-python/commit/818089630b344ade9830799e88bb6a3239829de2))
33
+ * **api:** api update ([0ba4d05](https://github.com/lumina-ai-inc/chunkr-python/commit/0ba4d05909f42872bd8849a60a57d10e479f0428))
34
+ * **api:** api update ([911a6c5](https://github.com/lumina-ai-inc/chunkr-python/commit/911a6c5e548bef1499dd57fa6c5502500675ceae))
35
+ * **api:** api update ([cff79e9](https://github.com/lumina-ai-inc/chunkr-python/commit/cff79e9e362df754ea1eee6a1bc0b10d2a828ea7))
36
+ * **api:** api update ([4d85d90](https://github.com/lumina-ai-inc/chunkr-python/commit/4d85d9069f57fc4d0fe163d96a2e01b6a0966a9d))
37
+ * **api:** api update ([ade4cba](https://github.com/lumina-ai-inc/chunkr-python/commit/ade4cba6ba9baf4a1b615aa7b8ccf354eb352553))
38
+ * **api:** manual updates ([195cc4f](https://github.com/lumina-ai-inc/chunkr-python/commit/195cc4f76978e18da7748de95f3cf1ae653c153d))
39
+ * **api:** manual updates ([8799814](https://github.com/lumina-ai-inc/chunkr-python/commit/87998148609113db8497a5643bfe7275ce974aad))
40
+ * **api:** manual updates ([5c16a7d](https://github.com/lumina-ai-inc/chunkr-python/commit/5c16a7d0e3a1395f3633727402f850d1a880a600))
41
+ * **api:** manual updates ([5ec0746](https://github.com/lumina-ai-inc/chunkr-python/commit/5ec0746f626f52fec003915207bd805e692682e4))
42
+ * **api:** manual updates ([10e9653](https://github.com/lumina-ai-inc/chunkr-python/commit/10e9653139e8757b90f6cfa0f590732dd9a10fcd))
43
+ * **api:** manual updates ([6c81d70](https://github.com/lumina-ai-inc/chunkr-python/commit/6c81d70aea548d2361bea74d0bacf750ad374434))
44
+ * **api:** manual updates ([6b8f3b7](https://github.com/lumina-ai-inc/chunkr-python/commit/6b8f3b7888c28f86ac94e1293bc7b71dcd856cff))
45
+ * **api:** manual updates ([4342c14](https://github.com/lumina-ai-inc/chunkr-python/commit/4342c141020a1b6fd2aeaa10c3d95c942d54ffd8))
46
+ * **api:** manual updates ([3c082a0](https://github.com/lumina-ai-inc/chunkr-python/commit/3c082a087c0fa9d6c3763380d2dc85d60cf9c13b))
47
+ * **api:** manual updates ([d6ae694](https://github.com/lumina-ai-inc/chunkr-python/commit/d6ae6940f6b21802bd50c968cfe63ad5d594042e))
48
+ * **api:** manual updates ([1e49205](https://github.com/lumina-ai-inc/chunkr-python/commit/1e49205b9eb5557f136a11c4a94ea8f1365bcb69))
49
+ * **api:** manual updates ([42590a7](https://github.com/lumina-ai-inc/chunkr-python/commit/42590a732126e0b7408fe87a7e0269f0fa18fdf6))
50
+ * **api:** manual updates ([f066102](https://github.com/lumina-ai-inc/chunkr-python/commit/f06610261af15c371a3cbf277761ffa38a8755fc))
51
+ * **api:** manual updates ([8c5941a](https://github.com/lumina-ai-inc/chunkr-python/commit/8c5941a515d25b36e01702fc05d4afe6cc09227f))
52
+ * **api:** manual updates ([2a8991d](https://github.com/lumina-ai-inc/chunkr-python/commit/2a8991d7e8b86713cb522b8545cc5df049832326))
53
+ * **api:** manual updates ([81dc04d](https://github.com/lumina-ai-inc/chunkr-python/commit/81dc04df72cb26e60103624967136a72809c8035))
54
+ * **api:** manual updates ([66dc5b0](https://github.com/lumina-ai-inc/chunkr-python/commit/66dc5b0297a117ac3e62b41b2a2830d61a797c5f))
55
+ * **api:** manual updates ([66600d6](https://github.com/lumina-ai-inc/chunkr-python/commit/66600d68d0077b2c5af8e4d0267929ed8327ac62))
56
+ * **api:** manual updates ([c6edf0a](https://github.com/lumina-ai-inc/chunkr-python/commit/c6edf0a704b7df24242b037ea0ccf9bdb2754266))
57
+ * **api:** manual updates ([a54621c](https://github.com/lumina-ai-inc/chunkr-python/commit/a54621cf3982edac65148c2eaeda3bb49de6b135))
58
+ * **api:** manual updates ([f50efb7](https://github.com/lumina-ai-inc/chunkr-python/commit/f50efb718490e24a57a11592992d7dc6c122cd0e))
59
+ * **api:** manual updates ([268732f](https://github.com/lumina-ai-inc/chunkr-python/commit/268732f3c680dae25c20a99254356f8c1bc06054))
60
+
61
+
62
+ ### Bug Fixes
63
+
64
+ * avoid newer type syntax ([e2da818](https://github.com/lumina-ai-inc/chunkr-python/commit/e2da8187ee09cc65bd886d1c9b19efb99dcd7821))
65
+
66
+
67
+ ### Chores
68
+
69
+ * **internal:** add Sequence related utils ([6fca828](https://github.com/lumina-ai-inc/chunkr-python/commit/6fca8285ff66f8a72c202777dbf44670fc29382c))
70
+ * **internal:** change ci workflow machines ([d19d52c](https://github.com/lumina-ai-inc/chunkr-python/commit/d19d52c5b853c83781949966f81acc5f14d18573))
71
+ * **internal:** update pyright exclude list ([0a89f30](https://github.com/lumina-ai-inc/chunkr-python/commit/0a89f30528bda37759ad8d19fcfec1fc43d18329))
72
+ * update github action ([fa46248](https://github.com/lumina-ai-inc/chunkr-python/commit/fa462489cc7f9061bee1199f95b0d5a724fa4e98))
73
+
3
74
  ## 0.1.0-alpha.6 (2025-08-12)
4
75
 
5
76
  Full Changelog: [v0.1.0-alpha.5...v0.1.0-alpha.6](https://github.com/lumina-ai-inc/chunkr-python/compare/v0.1.0-alpha.5...v0.1.0-alpha.6)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: chunkr-ai
3
- Version: 0.1.0a6
3
+ Version: 0.1.0a8
4
4
  Summary: The official Python library for the chunkr API
5
5
  Project-URL: Homepage, https://github.com/lumina-ai-inc/chunkr-python
6
6
  Project-URL: Repository, https://github.com/lumina-ai-inc/chunkr-python
@@ -31,6 +31,8 @@ Requires-Dist: typing-extensions<5,>=4.10
31
31
  Provides-Extra: aiohttp
32
32
  Requires-Dist: aiohttp; extra == 'aiohttp'
33
33
  Requires-Dist: httpx-aiohttp>=0.1.8; extra == 'aiohttp'
34
+ Provides-Extra: webhooks
35
+ Requires-Dist: standardwebhooks; extra == 'webhooks'
34
36
  Description-Content-Type: text/markdown
35
37
 
36
38
  # Chunkr Python API library
@@ -70,10 +72,10 @@ client = Chunkr(
70
72
  api_key=os.environ.get("CHUNKR_API_KEY"), # This is the default and can be omitted
71
73
  )
72
74
 
73
- task = client.tasks.parse.create(
75
+ parse = client.tasks.parse.create(
74
76
  file="string",
75
77
  )
76
- print(task.task_id)
78
+ print(parse.task_id)
77
79
  ```
78
80
 
79
81
  While you can provide an `api_key` keyword argument,
@@ -96,10 +98,10 @@ client = AsyncChunkr(
96
98
 
97
99
 
98
100
  async def main() -> None:
99
- task = await client.tasks.parse.create(
101
+ parse = await client.tasks.parse.create(
100
102
  file="string",
101
103
  )
102
- print(task.task_id)
104
+ print(parse.task_id)
103
105
 
104
106
 
105
107
  asyncio.run(main())
@@ -131,10 +133,10 @@ async def main() -> None:
131
133
  api_key="My API Key",
132
134
  http_client=DefaultAioHttpClient(),
133
135
  ) as client:
134
- task = await client.tasks.parse.create(
136
+ parse = await client.tasks.parse.create(
135
137
  file="string",
136
138
  )
137
- print(task.task_id)
139
+ print(parse.task_id)
138
140
 
139
141
 
140
142
  asyncio.run(main())
@@ -229,11 +231,11 @@ from chunkr_ai import Chunkr
229
231
 
230
232
  client = Chunkr()
231
233
 
232
- task = client.tasks.parse.create(
234
+ parse = client.tasks.parse.create(
233
235
  file="file",
234
236
  chunk_processing={},
235
237
  )
236
- print(task.chunk_processing)
238
+ print(parse.chunk_processing)
237
239
  ```
238
240
 
239
241
  ## File uploads
@@ -248,7 +250,6 @@ client = Chunkr()
248
250
 
249
251
  client.files.create(
250
252
  file=Path("/path/to/file"),
251
- file_metadata="file_metadata",
252
253
  )
253
254
  ```
254
255
 
@@ -299,7 +300,7 @@ Error codes are as follows:
299
300
 
300
301
  ### Retries
301
302
 
302
- Certain errors are automatically retried 50 times by default, with a short exponential backoff.
303
+ Certain errors are automatically retried 2 times by default, with a short exponential backoff.
303
304
  Connection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict,
304
305
  429 Rate Limit, and >=500 Internal errors are all retried by default.
305
306
 
@@ -322,7 +323,7 @@ client.with_options(max_retries=5).tasks.parse.create(
322
323
 
323
324
  ### Timeouts
324
325
 
325
- By default requests time out after 30 seconds. You can configure this with a `timeout` option,
326
+ By default requests time out after 1 minute. You can configure this with a `timeout` option,
326
327
  which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object:
327
328
 
328
329
  ```python
@@ -330,7 +331,7 @@ from chunkr_ai import Chunkr
330
331
 
331
332
  # Configure the default for all requests:
332
333
  client = Chunkr(
333
- # 20 seconds (default is 30 seconds)
334
+ # 20 seconds (default is 1 minute)
334
335
  timeout=20.0,
335
336
  )
336
337
 
@@ -35,10 +35,10 @@ client = Chunkr(
35
35
  api_key=os.environ.get("CHUNKR_API_KEY"), # This is the default and can be omitted
36
36
  )
37
37
 
38
- task = client.tasks.parse.create(
38
+ parse = client.tasks.parse.create(
39
39
  file="string",
40
40
  )
41
- print(task.task_id)
41
+ print(parse.task_id)
42
42
  ```
43
43
 
44
44
  While you can provide an `api_key` keyword argument,
@@ -61,10 +61,10 @@ client = AsyncChunkr(
61
61
 
62
62
 
63
63
  async def main() -> None:
64
- task = await client.tasks.parse.create(
64
+ parse = await client.tasks.parse.create(
65
65
  file="string",
66
66
  )
67
- print(task.task_id)
67
+ print(parse.task_id)
68
68
 
69
69
 
70
70
  asyncio.run(main())
@@ -96,10 +96,10 @@ async def main() -> None:
96
96
  api_key="My API Key",
97
97
  http_client=DefaultAioHttpClient(),
98
98
  ) as client:
99
- task = await client.tasks.parse.create(
99
+ parse = await client.tasks.parse.create(
100
100
  file="string",
101
101
  )
102
- print(task.task_id)
102
+ print(parse.task_id)
103
103
 
104
104
 
105
105
  asyncio.run(main())
@@ -194,11 +194,11 @@ from chunkr_ai import Chunkr
194
194
 
195
195
  client = Chunkr()
196
196
 
197
- task = client.tasks.parse.create(
197
+ parse = client.tasks.parse.create(
198
198
  file="file",
199
199
  chunk_processing={},
200
200
  )
201
- print(task.chunk_processing)
201
+ print(parse.chunk_processing)
202
202
  ```
203
203
 
204
204
  ## File uploads
@@ -213,7 +213,6 @@ client = Chunkr()
213
213
 
214
214
  client.files.create(
215
215
  file=Path("/path/to/file"),
216
- file_metadata="file_metadata",
217
216
  )
218
217
  ```
219
218
 
@@ -264,7 +263,7 @@ Error codes are as follows:
264
263
 
265
264
  ### Retries
266
265
 
267
- Certain errors are automatically retried 50 times by default, with a short exponential backoff.
266
+ Certain errors are automatically retried 2 times by default, with a short exponential backoff.
268
267
  Connection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict,
269
268
  429 Rate Limit, and >=500 Internal errors are all retried by default.
270
269
 
@@ -287,7 +286,7 @@ client.with_options(max_retries=5).tasks.parse.create(
287
286
 
288
287
  ### Timeouts
289
288
 
290
- By default requests time out after 30 seconds. You can configure this with a `timeout` option,
289
+ By default requests time out after 1 minute. You can configure this with a `timeout` option,
291
290
  which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object:
292
291
 
293
292
  ```python
@@ -295,7 +294,7 @@ from chunkr_ai import Chunkr
295
294
 
296
295
  # Configure the default for all requests:
297
296
  client = Chunkr(
298
- # 20 seconds (default is 30 seconds)
297
+ # 20 seconds (default is 1 minute)
299
298
  timeout=20.0,
300
299
  )
301
300
 
@@ -3,22 +3,60 @@
3
3
  Types:
4
4
 
5
5
  ```python
6
- from chunkr_ai.types import Task
6
+ from chunkr_ai.types import (
7
+ BoundingBox,
8
+ Cell,
9
+ CellStyle,
10
+ Chunk,
11
+ ChunkProcessing,
12
+ ExtractConfiguration,
13
+ ExtractOutputResponse,
14
+ FileInfo,
15
+ GenerationConfig,
16
+ LlmProcessing,
17
+ OcrResult,
18
+ Page,
19
+ ParseConfiguration,
20
+ ParseOutputResponse,
21
+ Segment,
22
+ SegmentProcessing,
23
+ TaskResponse,
24
+ VersionInfo,
25
+ )
7
26
  ```
8
27
 
9
28
  Methods:
10
29
 
11
- - <code title="get /tasks">client.tasks.<a href="./src/chunkr_ai/resources/tasks/tasks.py">list</a>(\*\*<a href="src/chunkr_ai/types/task_list_params.py">params</a>) -> <a href="./src/chunkr_ai/types/task.py">SyncTasksPage[Task]</a></code>
30
+ - <code title="get /tasks">client.tasks.<a href="./src/chunkr_ai/resources/tasks/tasks.py">list</a>(\*\*<a href="src/chunkr_ai/types/task_list_params.py">params</a>) -> <a href="./src/chunkr_ai/types/task_response.py">SyncTasksPage[TaskResponse]</a></code>
12
31
  - <code title="delete /tasks/{task_id}">client.tasks.<a href="./src/chunkr_ai/resources/tasks/tasks.py">delete</a>(task_id) -> None</code>
13
32
  - <code title="get /tasks/{task_id}/cancel">client.tasks.<a href="./src/chunkr_ai/resources/tasks/tasks.py">cancel</a>(task_id) -> None</code>
14
- - <code title="get /tasks/{task_id}">client.tasks.<a href="./src/chunkr_ai/resources/tasks/tasks.py">get</a>(task_id, \*\*<a href="src/chunkr_ai/types/task_get_params.py">params</a>) -> <a href="./src/chunkr_ai/types/task.py">Task</a></code>
33
+ - <code title="get /tasks/{task_id}">client.tasks.<a href="./src/chunkr_ai/resources/tasks/tasks.py">get</a>(task_id, \*\*<a href="src/chunkr_ai/types/task_get_params.py">params</a>) -> <a href="./src/chunkr_ai/types/task_response.py">TaskResponse</a></code>
34
+
35
+ ## Extract
36
+
37
+ Types:
38
+
39
+ ```python
40
+ from chunkr_ai.types.tasks import ExtractCreateResponse, ExtractGetResponse
41
+ ```
42
+
43
+ Methods:
44
+
45
+ - <code title="post /tasks/extract">client.tasks.extract.<a href="./src/chunkr_ai/resources/tasks/extract.py">create</a>(\*\*<a href="src/chunkr_ai/types/tasks/extract_create_params.py">params</a>) -> <a href="./src/chunkr_ai/types/tasks/extract_create_response.py">ExtractCreateResponse</a></code>
46
+ - <code title="get /tasks/{task_id}/extract">client.tasks.extract.<a href="./src/chunkr_ai/resources/tasks/extract.py">get</a>(task_id, \*\*<a href="src/chunkr_ai/types/tasks/extract_get_params.py">params</a>) -> <a href="./src/chunkr_ai/types/tasks/extract_get_response.py">ExtractGetResponse</a></code>
15
47
 
16
48
  ## Parse
17
49
 
50
+ Types:
51
+
52
+ ```python
53
+ from chunkr_ai.types.tasks import ParseCreateResponse, ParseGetResponse
54
+ ```
55
+
18
56
  Methods:
19
57
 
20
- - <code title="post /tasks/parse">client.tasks.parse.<a href="./src/chunkr_ai/resources/tasks/parse.py">create</a>(\*\*<a href="src/chunkr_ai/types/tasks/parse_create_params.py">params</a>) -> <a href="./src/chunkr_ai/types/task.py">Task</a></code>
21
- - <code title="patch /tasks/parse/{task_id}">client.tasks.parse.<a href="./src/chunkr_ai/resources/tasks/parse.py">update</a>(task_id, \*\*<a href="src/chunkr_ai/types/tasks/parse_update_params.py">params</a>) -> <a href="./src/chunkr_ai/types/task.py">Task</a></code>
58
+ - <code title="post /tasks/parse">client.tasks.parse.<a href="./src/chunkr_ai/resources/tasks/parse.py">create</a>(\*\*<a href="src/chunkr_ai/types/tasks/parse_create_params.py">params</a>) -> <a href="./src/chunkr_ai/types/tasks/parse_create_response.py">ParseCreateResponse</a></code>
59
+ - <code title="get /tasks/{task_id}/parse">client.tasks.parse.<a href="./src/chunkr_ai/resources/tasks/parse.py">get</a>(task_id, \*\*<a href="src/chunkr_ai/types/tasks/parse_get_params.py">params</a>) -> <a href="./src/chunkr_ai/types/tasks/parse_get_response.py">ParseGetResponse</a></code>
22
60
 
23
61
  # Files
24
62
 
@@ -48,3 +86,20 @@ from chunkr_ai.types import HealthCheckResponse
48
86
  Methods:
49
87
 
50
88
  - <code title="get /health">client.health.<a href="./src/chunkr_ai/resources/health.py">check</a>() -> str</code>
89
+
90
+ # Webhooks
91
+
92
+ Types:
93
+
94
+ ```python
95
+ from chunkr_ai.types import (
96
+ WebhookURLResponse,
97
+ TaskExtractUpdatedWebhookEvent,
98
+ TaskParseUpdatedWebhookEvent,
99
+ UnwrapWebhookEvent,
100
+ )
101
+ ```
102
+
103
+ Methods:
104
+
105
+ - <code title="get /webhook/url">client.webhooks.<a href="./src/chunkr_ai/resources/webhooks.py">url</a>() -> <a href="./src/chunkr_ai/types/webhook_url_response.py">WebhookURLResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "chunkr-ai"
3
- version = "0.1.0-alpha.6"
3
+ version = "0.1.0-alpha.8"
4
4
  description = "The official Python library for the chunkr API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -40,6 +40,7 @@ Repository = "https://github.com/lumina-ai-inc/chunkr-python"
40
40
 
41
41
  [project.optional-dependencies]
42
42
  aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.8"]
43
+ webhooks = ["standardwebhooks"]
43
44
 
44
45
  [tool.rye]
45
46
  managed = true
@@ -56,7 +57,6 @@ dev-dependencies = [
56
57
  "dirty-equals>=0.6.0",
57
58
  "importlib-metadata>=6.7.0",
58
59
  "rich>=13.7.1",
59
- "nest_asyncio==1.6.0",
60
60
  "pytest-xdist>=3.6.1",
61
61
  ]
62
62
 
@@ -148,6 +148,7 @@ exclude = [
148
148
  "_dev",
149
149
  ".venv",
150
150
  ".nox",
151
+ ".git",
151
152
  ]
152
153
 
153
154
  reportImplicitOverride = true
@@ -156,6 +157,58 @@ reportOverlappingOverload = false
156
157
  reportImportCycles = false
157
158
  reportPrivateUsage = false
158
159
 
160
+ [tool.mypy]
161
+ pretty = true
162
+ show_error_codes = true
163
+
164
+ # Exclude _files.py because mypy isn't smart enough to apply
165
+ # the correct type narrowing and as this is an internal module
166
+ # it's fine to just use Pyright.
167
+ #
168
+ # We also exclude our `tests` as mypy doesn't always infer
169
+ # types correctly and Pyright will still catch any type errors.
170
+ exclude = ['src/chunkr_ai/_files.py', '_dev/.*.py', 'tests/.*']
171
+
172
+ strict_equality = true
173
+ implicit_reexport = true
174
+ check_untyped_defs = true
175
+ no_implicit_optional = true
176
+
177
+ warn_return_any = true
178
+ warn_unreachable = true
179
+ warn_unused_configs = true
180
+
181
+ # Turn these options off as it could cause conflicts
182
+ # with the Pyright options.
183
+ warn_unused_ignores = false
184
+ warn_redundant_casts = false
185
+
186
+ disallow_any_generics = true
187
+ disallow_untyped_defs = true
188
+ disallow_untyped_calls = true
189
+ disallow_subclassing_any = true
190
+ disallow_incomplete_defs = true
191
+ disallow_untyped_decorators = true
192
+ cache_fine_grained = true
193
+
194
+ # By default, mypy reports an error if you assign a value to the result
195
+ # of a function call that doesn't return anything. We do this in our test
196
+ # cases:
197
+ # ```
198
+ # result = ...
199
+ # assert result is None
200
+ # ```
201
+ # Changing this codegen to make mypy happy would increase complexity
202
+ # and would not be worth it.
203
+ disable_error_code = "func-returns-value,overload-cannot-match"
204
+
205
+ # https://github.com/python/mypy/issues/12162
206
+ [[tool.mypy.overrides]]
207
+ module = "black.files.*"
208
+ ignore_errors = true
209
+ ignore_missing_imports = true
210
+
211
+
159
212
  [tool.ruff]
160
213
  line-length = 120
161
214
  output-format = "grouped"
@@ -28,11 +28,14 @@ async-timeout==5.0.1
28
28
  # via aiohttp
29
29
  attrs==25.3.0
30
30
  # via aiohttp
31
+ # via standardwebhooks
31
32
  certifi==2023.7.22
32
33
  # via httpcore
33
34
  # via httpx
34
35
  colorlog==6.7.0
35
36
  # via nox
37
+ deprecated==1.2.18
38
+ # via standardwebhooks
36
39
  dirty-equals==0.6.0
37
40
  distlib==0.3.7
38
41
  # via virtualenv
@@ -56,6 +59,7 @@ httpx==0.28.1
56
59
  # via chunkr-ai
57
60
  # via httpx-aiohttp
58
61
  # via respx
62
+ # via standardwebhooks
59
63
  httpx-aiohttp==0.1.8
60
64
  # via chunkr-ai
61
65
  idna==3.4
@@ -75,7 +79,6 @@ multidict==6.4.4
75
79
  mypy==1.14.1
76
80
  mypy-extensions==1.0.0
77
81
  # via mypy
78
- nest-asyncio==1.6.0
79
82
  nodeenv==1.8.0
80
83
  # via pyright
81
84
  nox==2023.4.22
@@ -102,6 +105,7 @@ pytest==8.3.3
102
105
  pytest-asyncio==0.24.0
103
106
  pytest-xdist==3.7.0
104
107
  python-dateutil==2.8.2
108
+ # via standardwebhooks
105
109
  # via time-machine
106
110
  pytz==2023.3.post1
107
111
  # via dirty-equals
@@ -115,10 +119,16 @@ six==1.16.0
115
119
  sniffio==1.3.0
116
120
  # via anyio
117
121
  # via chunkr-ai
122
+ standardwebhooks==1.0.0
123
+ # via chunkr-ai
118
124
  time-machine==2.9.0
119
125
  tomli==2.0.2
120
126
  # via mypy
121
127
  # via pytest
128
+ types-deprecated==1.2.15.20250304
129
+ # via standardwebhooks
130
+ types-python-dateutil==2.9.0.20250822
131
+ # via standardwebhooks
122
132
  typing-extensions==4.12.2
123
133
  # via anyio
124
134
  # via chunkr-ai
@@ -129,6 +139,8 @@ typing-extensions==4.12.2
129
139
  # via pyright
130
140
  virtualenv==20.24.5
131
141
  # via nox
142
+ wrapt==1.17.3
143
+ # via deprecated
132
144
  yarl==1.20.0
133
145
  # via aiohttp
134
146
  zipp==3.17.0
@@ -26,9 +26,12 @@ async-timeout==5.0.1
26
26
  # via aiohttp
27
27
  attrs==25.3.0
28
28
  # via aiohttp
29
+ # via standardwebhooks
29
30
  certifi==2023.7.22
30
31
  # via httpcore
31
32
  # via httpx
33
+ deprecated==1.2.18
34
+ # via standardwebhooks
32
35
  distro==1.8.0
33
36
  # via chunkr-ai
34
37
  exceptiongroup==1.2.2
@@ -43,6 +46,7 @@ httpcore==1.0.9
43
46
  httpx==0.28.1
44
47
  # via chunkr-ai
45
48
  # via httpx-aiohttp
49
+ # via standardwebhooks
46
50
  httpx-aiohttp==0.1.8
47
51
  # via chunkr-ai
48
52
  idna==3.4
@@ -59,14 +63,26 @@ pydantic==2.10.3
59
63
  # via chunkr-ai
60
64
  pydantic-core==2.27.1
61
65
  # via pydantic
66
+ python-dateutil==2.9.0.post0
67
+ # via standardwebhooks
68
+ six==1.17.0
69
+ # via python-dateutil
62
70
  sniffio==1.3.0
63
71
  # via anyio
64
72
  # via chunkr-ai
73
+ standardwebhooks==1.0.0
74
+ # via chunkr-ai
75
+ types-deprecated==1.2.15.20250304
76
+ # via standardwebhooks
77
+ types-python-dateutil==2.9.0.20250822
78
+ # via standardwebhooks
65
79
  typing-extensions==4.12.2
66
80
  # via anyio
67
81
  # via chunkr-ai
68
82
  # via multidict
69
83
  # via pydantic
70
84
  # via pydantic-core
85
+ wrapt==1.17.3
86
+ # via deprecated
71
87
  yarl==1.20.0
72
88
  # via aiohttp
@@ -24,6 +24,7 @@ from ._exceptions import (
24
24
  InternalServerError,
25
25
  PermissionDeniedError,
26
26
  UnprocessableEntityError,
27
+ APIWebhookValidationError,
27
28
  APIResponseValidationError,
28
29
  )
29
30
  from ._base_client import DefaultHttpxClient, DefaultAioHttpClient, DefaultAsyncHttpxClient
@@ -45,6 +46,7 @@ __all__ = [
45
46
  "APITimeoutError",
46
47
  "APIConnectionError",
47
48
  "APIResponseValidationError",
49
+ "APIWebhookValidationError",
48
50
  "BadRequestError",
49
51
  "AuthenticationError",
50
52
  "PermissionDeniedError",
@@ -59,7 +59,7 @@ from ._types import (
59
59
  ModelBuilderProtocol,
60
60
  )
61
61
  from ._utils import is_dict, is_list, asyncify, is_given, lru_cache, is_mapping
62
- from ._compat import PYDANTIC_V2, model_copy, model_dump
62
+ from ._compat import PYDANTIC_V1, model_copy, model_dump
63
63
  from ._models import GenericModel, FinalRequestOptions, validate_type, construct_type
64
64
  from ._response import (
65
65
  APIResponse,
@@ -232,7 +232,7 @@ class BaseSyncPage(BasePage[_T], Generic[_T]):
232
232
  model: Type[_T],
233
233
  options: FinalRequestOptions,
234
234
  ) -> None:
235
- if PYDANTIC_V2 and getattr(self, "__pydantic_private__", None) is None:
235
+ if (not PYDANTIC_V1) and getattr(self, "__pydantic_private__", None) is None:
236
236
  self.__pydantic_private__ = {}
237
237
 
238
238
  self._model = model
@@ -320,7 +320,7 @@ class BaseAsyncPage(BasePage[_T], Generic[_T]):
320
320
  client: AsyncAPIClient,
321
321
  options: FinalRequestOptions,
322
322
  ) -> None:
323
- if PYDANTIC_V2 and getattr(self, "__pydantic_private__", None) is None:
323
+ if (not PYDANTIC_V1) and getattr(self, "__pydantic_private__", None) is None:
324
324
  self.__pydantic_private__ = {}
325
325
 
326
326
  self._model = model