chunkr-ai 0.3.2__py3-none-any.whl → 0.3.4__py3-none-any.whl

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.
chunkr_ai/__init__.py CHANGED
@@ -1,3 +1,14 @@
1
1
  from .api.chunkr import Chunkr
2
+ import tomllib
3
+ from pathlib import Path
2
4
 
3
- __all__ = ["Chunkr"]
5
+ # Read version from pyproject.toml
6
+ try:
7
+ pyproject_path = Path(__file__).parent.parent.parent / "pyproject.toml"
8
+ with open(pyproject_path, "rb") as f:
9
+ pyproject_data = tomllib.load(f)
10
+ __version__ = pyproject_data["project"]["version"]
11
+ except Exception:
12
+ __version__ = "unknown"
13
+
14
+ __all__ = ["Chunkr", "__version__"]
chunkr_ai/api/auth.py CHANGED
@@ -1,3 +1,33 @@
1
+ import platform
2
+ import sys
3
+ from pathlib import Path
4
+
5
+ # Handle tomllib import for Python 3.10 compatibility
6
+ try:
7
+ import tomllib
8
+ except ImportError:
9
+ import tomli as tomllib
10
+
11
+ def _find_pyproject_toml(start_path: Path) -> Path | None:
12
+ """Search for pyproject.toml in current and parent directories."""
13
+ for parent in [start_path, *start_path.parents]:
14
+ candidate = parent / "pyproject.toml"
15
+ if candidate.is_file():
16
+ return candidate
17
+ return None
18
+
19
+ # Read version from pyproject.toml
20
+ try:
21
+ pyproject_path = _find_pyproject_toml(Path(__file__).resolve().parent)
22
+ if pyproject_path is not None:
23
+ with open(pyproject_path, "rb") as f:
24
+ pyproject_data = tomllib.load(f)
25
+ __version__ = pyproject_data["project"]["version"]
26
+ else:
27
+ __version__ = "unknown"
28
+ except Exception:
29
+ __version__ = "unknown"
30
+
1
31
  class HeadersMixin:
2
32
  """Mixin class for handling authorization headers"""
3
33
  _api_key: str = ""
@@ -9,5 +39,9 @@ class HeadersMixin:
9
39
  return self._api_key
10
40
 
11
41
  def _headers(self) -> dict:
12
- """Generate authorization headers"""
13
- return {"Authorization": self.get_api_key()}
42
+ """Generate authorization headers and version information"""
43
+ user_agent = f"chunkr-ai/{__version__} (Python/{sys.version.split()[0]}; {platform.system()}/{platform.release()})"
44
+ return {
45
+ "Authorization": self.get_api_key(),
46
+ "User-Agent": user_agent
47
+ }
@@ -85,7 +85,7 @@ class TokenizerType(BaseModel):
85
85
  return {}
86
86
 
87
87
  class ChunkProcessing(BaseModel):
88
- ignore_headers_and_footers: Optional[bool] = True # Deprecated
88
+ ignore_headers_and_footers: Optional[bool] = None # Deprecated
89
89
  target_length: Optional[int] = None
90
90
  tokenizer: Optional[Union[TokenizerType, Tokenizer, str]] = None
91
91
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: chunkr-ai
3
- Version: 0.3.2
3
+ Version: 0.3.4
4
4
  Summary: Python client for Chunkr: open source document intelligence
5
5
  Author-email: Ishaan Kapoor <ishaan@lumina.sh>
6
6
  License: MIT License
@@ -25,6 +25,7 @@ License: MIT License
25
25
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
26
  SOFTWARE.
27
27
  Project-URL: Homepage, https://chunkr.ai
28
+ Requires-Python: >=3.10
28
29
  Description-Content-Type: text/markdown
29
30
  License-File: LICENSE
30
31
  Requires-Dist: httpx>=0.25.0
@@ -33,6 +34,7 @@ Requires-Dist: nest-asyncio>=1.6.0
33
34
  Requires-Dist: pillow>=10.0.0
34
35
  Requires-Dist: pydantic>=2.0.0
35
36
  Requires-Dist: python-dotenv>=0.19.0
37
+ Requires-Dist: tomli>=1.2.0; python_version < "3.11"
36
38
  Provides-Extra: test
37
39
  Requires-Dist: pytest>=7.0.0; extra == "test"
38
40
  Requires-Dist: pytest-xdist>=3.0.0; extra == "test"
@@ -1,16 +1,16 @@
1
- chunkr_ai/__init__.py,sha256=6KpYv2lmD6S5z2kc9pqwuLP5VDHmOuu2qDZArUIhb1s,53
1
+ chunkr_ai/__init__.py,sha256=xkXAzwvm1cFfrdJOOoZ2w9yBoudz_H6OF2HJimOma5I,409
2
2
  chunkr_ai/models.py,sha256=NvFJOpsgzEyYHhE-flp7Yr9tpTDvFmF4T87jttFRquU,1202
3
3
  chunkr_ai/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- chunkr_ai/api/auth.py,sha256=0RSNFPvHt4Nrg8qtP2xvA2KbR0J_KUe1B_tKynbq9Fc,436
4
+ chunkr_ai/api/auth.py,sha256=WDBH-NZkJjf9tyt_jq7p0kQSuthHV3rf3WNG5iWcgxY,1520
5
5
  chunkr_ai/api/chunkr.py,sha256=3QAlZeq8zbiHp1HxgWpBBUAmvjabD9iBZxIkuGVsKJk,3822
6
6
  chunkr_ai/api/chunkr_base.py,sha256=8roSPoCADmaXM2r7zz2iHfZzIcY9NopOfa4j-dfk8RA,6310
7
- chunkr_ai/api/configuration.py,sha256=PkoSdzEE4v1LdeQ_ziJHk02RBrcTxaGHDA5o49taeAo,11682
7
+ chunkr_ai/api/configuration.py,sha256=YDSN-hv5VyffKxDJBUaVE3u27BsDafxGNGfOBVRmRUk,11682
8
8
  chunkr_ai/api/decorators.py,sha256=B-neL5d4N-skq2rjnOfaCVSTz6HEye6udcykacbv7G4,4399
9
9
  chunkr_ai/api/misc.py,sha256=pNjbiD5reMdDSkjNTWHn0VgTVsGYn0fl751WuRtSkL8,5389
10
10
  chunkr_ai/api/protocol.py,sha256=LjPrYSq52m1afIlAo0yVGXlGZxPRh8J6g7S4PAit3Zo,388
11
11
  chunkr_ai/api/task_response.py,sha256=omnKkACjN3ijnbG6UncHLI_IDbsaJ1wHu1g4X9JbijU,8017
12
- chunkr_ai-0.3.2.dist-info/licenses/LICENSE,sha256=w3R12yNDyZpMiy2lxy_hvNbsldC75ww79sF0u11rkho,1069
13
- chunkr_ai-0.3.2.dist-info/METADATA,sha256=MXEHbelRC7E0jrdI-y9jHQ93i-1B0_Hs1ALO0Mmqx1o,7086
14
- chunkr_ai-0.3.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
15
- chunkr_ai-0.3.2.dist-info/top_level.txt,sha256=0IZY7PZIiS8bw5r4NUQRUQ-ATi-L_3vLQVq3ZLouOW8,10
16
- chunkr_ai-0.3.2.dist-info/RECORD,,
12
+ chunkr_ai-0.3.4.dist-info/licenses/LICENSE,sha256=w3R12yNDyZpMiy2lxy_hvNbsldC75ww79sF0u11rkho,1069
13
+ chunkr_ai-0.3.4.dist-info/METADATA,sha256=730qsVNlv_xS7VwPzW4aQiPzUB19mMWcfEVm5Rdwtzo,7163
14
+ chunkr_ai-0.3.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
15
+ chunkr_ai-0.3.4.dist-info/top_level.txt,sha256=0IZY7PZIiS8bw5r4NUQRUQ-ATi-L_3vLQVq3ZLouOW8,10
16
+ chunkr_ai-0.3.4.dist-info/RECORD,,