byteit 1.1.2__tar.gz → 1.2.0__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.
- {byteit-1.1.2 → byteit-1.2.0}/CHANGELOG.md +148 -115
- {byteit-1.1.2 → byteit-1.2.0}/LICENSE +200 -200
- {byteit-1.1.2 → byteit-1.2.0}/MANIFEST.in +6 -6
- byteit-1.2.0/PKG-INFO +367 -0
- byteit-1.2.0/README.md +329 -0
- byteit-1.2.0/byteit/ByteITClient.py +1407 -0
- {byteit-1.1.2 → byteit-1.2.0}/byteit/__init__.py +131 -121
- byteit-1.2.0/byteit/_http.py +166 -0
- byteit-1.2.0/byteit/_polling.py +140 -0
- byteit-1.2.0/byteit/_rate_limit.py +151 -0
- {byteit-1.1.2 → byteit-1.2.0}/byteit/connectors/LocalFileInputConnector.py +60 -60
- {byteit-1.1.2 → byteit-1.2.0}/byteit/connectors/LocalFileOutputConnector.py +23 -23
- {byteit-1.1.2 → byteit-1.2.0}/byteit/connectors/S3InputConnector.py +80 -80
- {byteit-1.1.2 → byteit-1.2.0}/byteit/connectors/S3OutputConnector.py +51 -51
- {byteit-1.1.2 → byteit-1.2.0}/byteit/connectors/__init__.py +26 -26
- {byteit-1.1.2 → byteit-1.2.0}/byteit/connectors/base.py +54 -54
- {byteit-1.1.2 → byteit-1.2.0}/byteit/exceptions.py +119 -107
- byteit-1.2.0/byteit/models/CustomJob.py +96 -0
- byteit-1.2.0/byteit/models/CustomJobList.py +34 -0
- {byteit-1.1.2 → byteit-1.2.0}/byteit/models/DocumentMetadata.py +24 -24
- byteit-1.2.0/byteit/models/DocumentType.py +37 -0
- {byteit-1.1.2 → byteit-1.2.0}/byteit/models/ExtractJob.py +77 -77
- {byteit-1.1.2 → byteit-1.2.0}/byteit/models/ExtractJobList.py +59 -59
- {byteit-1.1.2 → byteit-1.2.0}/byteit/models/ExtractionSchema.py +78 -78
- {byteit-1.1.2 → byteit-1.2.0}/byteit/models/ExtractionType.py +10 -10
- {byteit-1.1.2 → byteit-1.2.0}/byteit/models/JobList.py +59 -59
- {byteit-1.1.2 → byteit-1.2.0}/byteit/models/JobStatus.py +43 -43
- {byteit-1.1.2 → byteit-1.2.0}/byteit/models/OutputFormat.py +18 -18
- {byteit-1.1.2 → byteit-1.2.0}/byteit/models/ParseJob.py +98 -98
- {byteit-1.1.2 → byteit-1.2.0}/byteit/models/ProcessingOptions.py +110 -97
- byteit-1.2.0/byteit/models/SavedSchema.py +30 -0
- byteit-1.2.0/byteit/models/SavedSchemaList.py +26 -0
- {byteit-1.1.2 → byteit-1.2.0}/byteit/models/__init__.py +34 -23
- {byteit-1.1.2 → byteit-1.2.0}/byteit/progress.py +175 -175
- {byteit-1.1.2 → byteit-1.2.0}/byteit/validations.py +49 -42
- byteit-1.2.0/byteit.egg-info/PKG-INFO +367 -0
- {byteit-1.1.2 → byteit-1.2.0}/byteit.egg-info/SOURCES.txt +8 -0
- {byteit-1.1.2 → byteit-1.2.0}/pyproject.toml +76 -76
- {byteit-1.1.2 → byteit-1.2.0}/setup.cfg +4 -4
- {byteit-1.1.2 → byteit-1.2.0}/setup.py +8 -8
- {byteit-1.1.2 → byteit-1.2.0}/tests/__init__.py +1 -1
- {byteit-1.1.2 → byteit-1.2.0}/tests/test_client.py +1659 -1186
- {byteit-1.1.2 → byteit-1.2.0}/tests/test_connectors.py +129 -129
- {byteit-1.1.2 → byteit-1.2.0}/tests/test_exceptions.py +120 -115
- {byteit-1.1.2 → byteit-1.2.0}/tests/test_integration.py +97 -97
- {byteit-1.1.2 → byteit-1.2.0}/tests/test_models.py +258 -190
- {byteit-1.1.2 → byteit-1.2.0}/tests/test_package_init.py +75 -69
- {byteit-1.1.2 → byteit-1.2.0}/tests/test_progress.py +140 -140
- byteit-1.1.2/PKG-INFO +0 -201
- byteit-1.1.2/README.md +0 -163
- byteit-1.1.2/byteit/ByteITClient.py +0 -868
- byteit-1.1.2/byteit.egg-info/PKG-INFO +0 -201
- {byteit-1.1.2 → byteit-1.2.0}/byteit.egg-info/dependency_links.txt +0 -0
- {byteit-1.1.2 → byteit-1.2.0}/byteit.egg-info/requires.txt +0 -0
- {byteit-1.1.2 → byteit-1.2.0}/byteit.egg-info/top_level.txt +0 -0
|
@@ -1,115 +1,148 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|
6
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
-
|
|
8
|
-
## [Unreleased]
|
|
9
|
-
|
|
10
|
-
## [1.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
## [1.0
|
|
58
|
-
|
|
59
|
-
###
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
### Added
|
|
68
|
-
-
|
|
69
|
-
- `
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
-
|
|
76
|
-
- `
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
## [0.1
|
|
91
|
-
|
|
92
|
-
###
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
-
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [1.2.0] - 2026-07-28
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- Custom processing jobs: `custom_job()`, `custom_job_async()`,
|
|
14
|
+
`get_custom_jobs()`, `get_custom_job_result()` and `CustomJob`, `CustomJobList`
|
|
15
|
+
models.
|
|
16
|
+
- Saved schema management: `save_schema()`, `get_schemas()`, `delete_schema()`
|
|
17
|
+
and `SavedSchema`, `SavedSchemaList` models.
|
|
18
|
+
- `parse_async()` now accepts a list of file paths (`list[str | Path]`) for
|
|
19
|
+
multi-file batch submission with automatic packing and per-file failure
|
|
20
|
+
reporting.
|
|
21
|
+
- `force_image_annotations` option on `ProcessingOptions`.
|
|
22
|
+
- `batch_request_delay` parameter on `ByteITClient` to pace consecutive uploads.
|
|
23
|
+
- `DocumentType` model with `is_supported_extension()` for file-type filtering.
|
|
24
|
+
- Internal modules extracted: `_http.py` (HTTP helpers), `_polling.py` (shared
|
|
25
|
+
adaptive polling), `_rate_limit.py` (rate-limited submitter with backoff).
|
|
26
|
+
- CI: standalone `pytest-unit.yml` workflow; AdolfoBOT failure notification on
|
|
27
|
+
publish.
|
|
28
|
+
- HTTP API examples in `docs/api-curl-typescript-examples.md`.
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
- CI/CD workflows consolidated to call `scripts/release_preflight.py --ci` for
|
|
32
|
+
all validation, removing inline release checks.
|
|
33
|
+
- Release preflight script refactored with shared helpers and clearer error
|
|
34
|
+
messages.
|
|
35
|
+
- Rate-limit handling and polling logic extracted from `ByteITClient` into
|
|
36
|
+
dedicated modules.
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
- `RateLimitError` now carries `retry_after_seconds` attribute from response
|
|
40
|
+
headers.
|
|
41
|
+
|
|
42
|
+
### Removed
|
|
43
|
+
- `queue_for_batch` parameter from synchronous `parse()` (was async-only).
|
|
44
|
+
- Inline release validation logic from CI/CD workflows.
|
|
45
|
+
- Stale test file `rate_limit_test/run_batch_async_test.py`.
|
|
46
|
+
|
|
47
|
+
## [1.1.2] - 2026-07-08
|
|
48
|
+
- Fixed pruning of title fields in byteit schemas
|
|
49
|
+
- Improved error handling for downloading result
|
|
50
|
+
|
|
51
|
+
## [1.1.1] - 2026-06-05
|
|
52
|
+
|
|
53
|
+
### Fixed
|
|
54
|
+
- Restored `result_format` support for synchronous `parse()` so callers can
|
|
55
|
+
explicitly choose the returned output format.
|
|
56
|
+
|
|
57
|
+
## [1.1.0] - 2026-05-06
|
|
58
|
+
|
|
59
|
+
### Breaking Changes
|
|
60
|
+
- Renamed parse-job public methods to explicit parse naming:
|
|
61
|
+
- `get_jobs()` -> `get_parse_jobs()`
|
|
62
|
+
- `get_job_details(job_id)` -> `get_parse_job_details(job_id)`
|
|
63
|
+
- `get_job_result(job_id)` -> `get_parse_job_result(job_id)`
|
|
64
|
+
- Removed `result_format` parameter from `parse()` and `parse_async()`.
|
|
65
|
+
Parse job submission now defaults to JSON internally.
|
|
66
|
+
|
|
67
|
+
### Added
|
|
68
|
+
- Structured extraction workflow for completed parse jobs:
|
|
69
|
+
- `extract(parse_job_id, schema, output=None, extraction_complexity="medium")`
|
|
70
|
+
- `extract_async(parse_job_id, schema, extraction_complexity="medium")`
|
|
71
|
+
- `get_extract_jobs()`, `get_extract_job_details(job_id)`,
|
|
72
|
+
`get_extract_job_result(job_id)`
|
|
73
|
+
- Optional download-time output selection for async parse results via
|
|
74
|
+
`get_parse_job_result(job_id, result_format=...)`.
|
|
75
|
+
- New extraction domain models and schema support:
|
|
76
|
+
- `ExtractJob`, `ExtractJobList`, `ExtractionSchema`
|
|
77
|
+
- `ExtractionSchema` export via package `__init__` when available
|
|
78
|
+
|
|
79
|
+
### Changed
|
|
80
|
+
- Parse and extract operations now use dedicated endpoints under `/v1/jobs/`:
|
|
81
|
+
- parse jobs under `parse-jobs`
|
|
82
|
+
- extract jobs under `extract-jobs`
|
|
83
|
+
- `get_job_status(job_id)` continues using the generic lightweight status path
|
|
84
|
+
while detail and result operations route to parse/extract-specific endpoints.
|
|
85
|
+
- `result_format` validation accepts both enum names and backend value tokens
|
|
86
|
+
(for example `"excel"` and `"zip"`).
|
|
87
|
+
- Dependency set now includes `pydantic` for extraction schema flows.
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
## [1.0.1] - 2026-04-29
|
|
91
|
+
|
|
92
|
+
### Added
|
|
93
|
+
- Local release preflight checks for version consistency, changelog presence, and package integrity.
|
|
94
|
+
- Commit-title validation for release commits (`chore(release): X.Y.Z`) through pre-commit hooks.
|
|
95
|
+
- Release checklist skill document to standardize pre-commit and pre-publish verification.
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
## [1.0.0] - 2026-03-25
|
|
99
|
+
|
|
100
|
+
### Added
|
|
101
|
+
- `parse_async()` method for non-blocking document submission.
|
|
102
|
+
- `_submit_job()` internal helper to eliminate duplication between `parse()` and `parse_async()`.
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
## [1.0.0] - 2026-03-25
|
|
106
|
+
|
|
107
|
+
### Added
|
|
108
|
+
- `parse_async()` method for non-blocking document submission.
|
|
109
|
+
- `_submit_job()` internal helper to eliminate duplication between `parse()` and `parse_async()`.
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
## [0.1.2] - 2026-01-31
|
|
113
|
+
|
|
114
|
+
### Changed
|
|
115
|
+
- Processing migrated to top-enhanced production servers, reducing processing time by ~50%.
|
|
116
|
+
|
|
117
|
+
- Adaptive polling improved for smoother operation.
|
|
118
|
+
|
|
119
|
+
- Progress bar and output display enhanced for notebooks.
|
|
120
|
+
|
|
121
|
+
- Increased `DEFAULT_TIMEOUT` from 10 minutes to 30 minutes for large documents
|
|
122
|
+
|
|
123
|
+
## [0.1.1] - 2026-01-24
|
|
124
|
+
|
|
125
|
+
### Changed
|
|
126
|
+
- Increased `DEFAULT_TIMEOUT` from 30 seconds to 10 minutes for large documents
|
|
127
|
+
- Adaptive polling in `_wait_for_completion`: starts at 2s, increases to max 10s
|
|
128
|
+
|
|
129
|
+
### Added
|
|
130
|
+
- Progress logging during document parsing
|
|
131
|
+
|
|
132
|
+
## [0.1.0] - 2026-01-18
|
|
133
|
+
|
|
134
|
+
### Added
|
|
135
|
+
- Initial release of the ByteIT Python SDK
|
|
136
|
+
- `ByteITClient` for AI-powered document parsing
|
|
137
|
+
- Multiple output formats: text, JSON, Markdown, HTML
|
|
138
|
+
- Input connectors:
|
|
139
|
+
- `LocalFileInputConnector`
|
|
140
|
+
- `S3InputConnector`
|
|
141
|
+
- Output connector:
|
|
142
|
+
- `LocalFileOutputConnector`
|
|
143
|
+
- Job management (list jobs, check status, download results)
|
|
144
|
+
- Support for PDF, Word, Excel, and other common document formats
|
|
145
|
+
- Batch processing support
|
|
146
|
+
- Environment variable configuration
|
|
147
|
+
- Custom base URL support (testing & staging)
|
|
148
|
+
- Python 3.8+ support
|