- chore: fix naming in queues tests (
2c51b64
)
-
feat: Add new methods for hook object (
232269f
) -
feat: Add retrieve document method (
4edac76
) -
feat: Add cancel annotation method (
a217b64
)
- Merge pull request #84 from rossumai/bara-add-missing-methods
Add some missing methods (13411a6
)
- fix: handle http:// urls for local development (
715513d
)
- Merge pull request #83 from opichals/opichals-allow-using-http-protocol
fix: handle http:// urls for local development (1b09f4b
)
- feat: Add basic support for EmailTemplate object (
0dc2882
)
- Merge pull request #81 from rossumai/rehoumir-patch-2
feat: Add basic support for EmailTemplate object (5c8c921
)
- Merge pull request #80 from rehoumir/mirek-r/add-email-templates
Add basic support for EmailTemplate object (3d68242
)
- Add basic support for EmailTemplate object (
73a7289
)
- fix: fix typing of filters kwargs in sync client (
7ae75e1
)
- Merge pull request #78 from uhlikfil/main
fix: fix typing of filters kwargs in sync client (999c39e
)
- fix: use Iterator instead of Iterable types
Iterator is a better type for the method return value,
since it correctly type checks the use of next()
.
Iterable interface doesn't. (77edb52
)
- Merge pull request #77 from uhlikfil/main
fix: use Iterator instead of Iterable types (ef1b4e2
)
-
feat: Upload documents using new upload endpoint (
9ff22d9
) -
feat: Add support for Task and Upload objects (
6e582a9
)
- Merge pull request #76 from valtervojta/create_upload_and_friends
Add support for create upload, Upload, Task (e6b1a7d
)
- chore: Add missing type hint for list_all_organizations (
86fb228
)
-
feat: Add delete_annotation method (#75)
-
feat: Add delete_annotation method (
55a3641
)
- Merge pull request #73 from uhlikfil/main
chore: Add missing type hint for list_all_organizations (6b9bd60
)
- fix: Fix package versioning (
d3b5e88
)
- Merge pull request #72 from stancld/ihe/fix-package-versioniong
fix: Fix package versioning (c246579
)
- fix: Remove semantic-release version_variable (
9d5d101
)
- Merge pull request #70 from stancld/ihe/remove-version-variable
fix: Remove semantic-release version_variable (740144d
)
- Merge pull request #64 from stancld/ds-pyproject
packaging: Use solely pyproject.toml (40dbde3
)
- packaging: Use solely pyproject.toml
Use solely pyproject.toml with a correctly specified package version
and drop no more needed setup.py. (da98b46
)
- feat: add support for engine object (
c6ad1d5
)
- Merge pull request #68 from rossumai/ihe/add-engine
Add basic support for Engine object (86322b0
)
- feat: add py.typed and let the world know we use types (
9415403
)
- Merge pull request #66 from liborvaneksw/lv/mypy
feat: add py.typed and let the world know we use types (334c51e
)
- fix: make User.last_login optional (
406b16b
)
- Merge pull request #67 from liborvaneksw/lv/user-model-fix
fix: make User.last_login optional (da6419c
)
- fix(api-client): do not reauth if no credentials are available (
9b5f422
)
- Merge pull request #65 from rossumai/igor/no-reauth-without-credentials
fix(api-client): do not reauth if no credentials are available (92697e6
)
-
makefile: remove non-existing test-all rule reference (
033063f
) -
Merge pull request #61 from michalsrutek/feature/fix-decreases-typo
Fix decreases typo (c6db58b
)
- Merge branch 'rossumai:main' into feature/fix-decreases-typo (
db09423
)
- ci(pre-commit): update mypy (
06d2272
)
- fix(models:automation_blocker): fix type of
samples
(b36d6a8
)
- Merge pull request #62 from rossumai/stepan-s/fix-model-automation-blocker-samples
fix(models:automation_blocker): fix type of samples
(e459253
)
- Fix decreases typo (
7477335
)
- docs: improve client docstrings (
94e8522
)
- feat: consider new created status when checking if annotation is already imported (
7c66c63
)
- fix: do not send None parent when creating new document (
95f3fbc
)
- Merge pull request #60 from bara-m/bara-make-annotations-method-work-with-new-status
Consider new created status when checking if annotation is already imported (c2050cf
)
-
feat: add new create_new_annotation method (
7354ec7
) -
feat: add new create_new_document method (
4affb67
) -
feat: add new retrieve_document_content method (
4057e9c
)
-
refactor: unify naming of ids and add missing typing (
86246cd
) -
refactor(tests): fix typos in tests (
19711e2
)
- Merge pull request #59 from bara-m/bara-add-missing-methods
Add new methods for documents and annotations (0710177
)
- chore: Remove side-effects from tests with sideloads
dummy_annotation was modified by a side-effect and the expected values
didn't need to add content which was confusing. (c3f8130
)
- feat: Add convenience methods for annotation lifecycle (
cf56272
)
- refactor: Rename UserRole to Group for consistency with the API (
ed8065a
)
- Merge pull request #56 from rossumai/oh/annotation-convenience-methods
feat: Add convenience methods for annotation lifecycle (7e5adbd
)
- chore: Streamline Makefile and improve README (
0b1064f
)
- feat: Support deserializing of API payloads to user-defined model classes
Users can provide a custom deserializer that allows customising which
models should be returned by the client. (a1e1385
)
- refactor: Use an enum instead of strings to identify API resources
This is not only cleaner but will be useful when implementing custom
de-serializers. (acbf731
)
- Merge pull request #55 from rossumai/oh/user-defined-models
feat: Support deserializing of API payloads to user-defined model classes (4d66c46
)
- Merge pull request #54 from rossumai/oh/enums-instead-of-strings
refactor: Use an enum instead of strings to identify API resources (2c24376
)
- Merge pull request #52 from rossumai/oh/steamline-makefile
chore: Streamline Makefile and improve README (a89e6e6
)
- fix(api_client): limit in-flight requests
Limit the maximum number of fetch_all page requests running at in
parallel. (56244d0
)
- Merge pull request #50 from opichals/limit-maximum-number-of-in-flight-requests-in-fetch_all
fix(api_client): limit in-flight requests (3c1a10a
)
- feat: export public interface in root package (
f85fc58
)
- Merge pull request #51 from uhlikfil/main
feat: export public interface in root package (977824f
)
-
feat(elis_api_clients): add new
search_for_annotations
method (34b3f72
) -
feat(api_client): allow passing json argument in
fetch_all
as request payload (e433f85
)
- Merge pull request #49 from OndraSlama/ondra-add-search-for-query-method
Add search_for_annotations method (b994053
)
- feat(models): add token_lifetime_s attribute to hook model (
f75dcfd
)
- Merge pull request #48 from uhlikfil/main
feat(models): add token_lifetime_s attribute to hook model (ae35fc4
)
- fix: Make time_spent in Annotation optional (
a2e5d70
)
- Merge pull request #47 from rossumai/ihe/make-time-spent-optional
fix: Make time_spent in Annotation optional (7a26f27
)
- fix: add await to asyncio.sleep (
4a537ab
)
- Merge pull request #46 from uhlikfil/main
await asyncio.sleep (3183975
)
-
fix(models): allow null workspace in Queue model (
dea0027
) -
fix(models): allow Any in metadata dict values in Queue model (
7abaa13
)
- Merge pull request #45 from uhlikfil/filda/fix-queue-model-metadata
fix(models): make queue model compliant with API docs (99e180c
)
- feat(elis_api_client): add generic method for requests to paginated resources (
6b290e8
)
- Merge pull request #44 from OndraSlama/ondra/add-new-method-for-paginated-requests
feat(elis_api_client): add generic method for requests to paginated resources (7fc08c1
)
- chore: run test workflow also on pull requests (
0ca9b43
)
- feat(api_client): allow to set max pages limit in filters (
090114f
)
- Merge pull request #42 from OndraSlama/ondra/add-option-to-limit-number-of-pages
feat(api_client): allow to set max pages limit in filters (9b47c1d
)
- Merge pull request #43 from rossumai/oh/gh-actions-on-pull-request
chore: run test workflow also on pull requests (2f9efc3
)
- chore: fix semantic release (
f1e56a5
)
- fix: switch from TravisCI to Github Workflows (
de09e69
)
- feat(rossum_sdk/api_client): add
request
method to ElisApiClient (5d11c3e
)
- Merge pull request #38 from OndraSlama/ondra/add-request-method-to-ElisApiClient
feat(rossum_sdk/api_client): add request
method to ElisApiClient (b7ccf1e
)
- chore: fix tests that started failing with pytest-httpx==0.21.2
The library no longer ignores missing empty URL parameters when matching
URLs. (da18d27
)
- chore: fix mypy installation in pre-commit by upgrading it
The old version installed a version of types-ats
that caused a crash
during pre-commit installation. (5d4b387
)
-
chore: run semrel only once (
3b9392a
) -
chore: do not run commitizen when there is no commit (
4f534d5
) -
chore: add pre-commit hook for commit messages (
e641469
)
- feat: add get_token method to Api client (
a1bc957
)
-
fix(models:hook): define some attributes (guide, read_more_url, extension_image_url) as optional (
b16a456
) -
fix: define
Document.creator
as optional (#35)
Co-authored-by: Ondrej Slama <[email protected]> (d797e99
)
- Merge pull request #36 from OndraSlama/ondra/fix-hook-annotation
fix(models:hook): define attributes guide
, read_more_url
and extension_image_url
as optional (8020db1
)
- Merge pull request #32 from rossumai/oh/fix-tests-after-pytest-httpx-upgrade
Fix failing mypy precommit hook and failing tests after pytest-httpx upgrade (65fb667
)
- Merge pull request #30 from rossumai/miiila/update-travis-for-semrel
Run semrel only once (204d334
)
- Merge pull request #29 from rossumai/mv/add-commitizen-pre-commit
chore: do not run commitizen when there is no commit (a98cd5a
)
- Merge pull request #27 from rossumai/mv/add-commitizen-pre-commit
chore: add pre-commit hook for commit messages (6bb40da
)
- feat: add request_json method to ElisAPIClient (
6c2df87
)
- Merge pull request #26 from rossumai/oh/add-request-json-to-elis-api-client
Add request_json method to ElisAPIClient (d59eecd
)
- feat: Implement retrying of failed requests
APIClient now accepts retry configuration where number of retries
and backoff can be configured. (09ab473
)
- Merge pull request #25 from rossumai/jo-retry
feat: Implement retrying of failed requests (b21e0fb
)
- fix: change Annotation.confirmed_at type to str instead of datetime (
40597bb
)
- Merge pull request #24 from OndraSlama/ondra-annotation-model-fix
fix: change Annotation.confirmed_at type to str instead of datetime (b383edf
)
- fix: Allow null Organization.trial_expires_at in the model (
dd95716
)
- Merge pull request #23 from rossumai/jo-optional-trial-exp
fix: Allow null Organization.trial_expires_at in the model (b764a55
)
- fix: making dependency requirements more relaxed (
80526da
)
- Merge pull request #22 from rossumai/miiila/more-relaxed-deps
fix: making dependency requirements more relaxed (bfbf70b
)
- chore: introduce semantic releasing (
a485874
)
- docs(readme): add helper page, add makefile (
1c95bea
)
- feat: first github release by semantic releasing (
7dd7780
)
- test(api_client): reauth correct exception handling (
5c0d728
)
- Merge pull request #21 from rossumai/mv/introduce-semantic-releasing
Introduce semantic releasing (d11fbc5
)
- Merge pull request #19 from rossumai/oh/return-annotation-id-after-import
Return IDs of created annotations when importing documents (048edb4
)
-
Add support for sideloading resources related to annotation (
547da3c
) -
Use dacite library for recursive model loading from JSON
This is very useful when sideloading. As a bonus, we get basic type validations.
We can also remove our dict_to_dataclass helper since dacite ignores
extra dictionary keys by default. (ec8b239
)
- api_client: Allow requesting arbitrary JSONs from full URLs
This is useful for sideloading of additional resources that are
referenced by full URL in the API. (34812a2
)
-
Add method to get organization of currently logged in user (
7c7a88d
) -
Return IDs of created annotations when importing documents
This enables the following workflow:
- Upload a bunch of documents.
- Poll their status until the documents reach a certain state,
e.g.
to_review
. (875434a
)
- Merge pull request #20 from rossumai/miiila/remove-unused-sideloading-param
remove unused sideloading parameter (5db3f6e
)
-
remove unused sideloading parameter (
90cce65
) -
Merge pull request #18 from rossumai/oh/poll-annotation
elis_api_client: Add poll_annotation method (78be140
)
- elis_api_client: Add poll_annotation method
The scenario of uploading a document and waiting until it is processed
is common enough to add it to this general purpose client. (1bebcbe
)
-
elis_api_client: Rename test methods to match method names (
2b90a15
) -
Merge pull request #17 from rossumai/oh/reintroduce-coverage-badge
Re-introduce coverage badge (a717028
)
-
Re-introduce coverage badge (
406116a
) -
Merge pull request #16 from rossumai/ihe/fix-timeout
Turn off timeout by default (9760664
)
-
Add missing fields to Queue and Annotation (
2b97d44
) -
Turn off timeout by default (
bfa7427
) -
Merge pull request #15 from rossumai/oh/badges
Update badges in README, run codecov after tests (4472cdb
)
-
Update badges in README, run codecov after tests (
65d41ef
) -
Merge pull request #14 from rossumai/add-license
Add LICENCE (77b4ccb
)
-
Add LICENCE (
9b3132d
) -
Merge pull request #12 from rossumai/oh/robust-dataclass-conversion
Drop extra arguments when converting dicts to dataclasses (18078d6
)
- Drop extra arguments when converting dicts to dataclasses
...to minimize the need to immediately update the library when a field
is added to an API response. (e3f7838
)
- Merge pull request #13 from rossumai/oh/rename-package
Rename rossum_ng package to rossum_api, update README (1434772
)
-
Rename rossum_ng package to rossum_api, update README (
092ec0b
) -
Merge pull request #10 from rossumai/lb/add_only_token_init
add only token init possibility (b52305b
)
-
ref(pyproject): delete setup.cfg and move to pyproject.toml (
44f4ed9
) -
feat(client) init only with token (
cb5bdfd
) -
Merge pull request #8 from rossumai/mv/implement-sideloading
Implement sideloading (8cc68ab
)
-
implement sideloading (
b98b7e1
) -
Merge pull request #6 from rossumai/mv/implement-document-export
Add annotation export (c60f701
)
-
add annotation export (
d7d800b
) -
Merge pull request #9 from rossumai/lbenka-simple-readme
update readme (7663223
)
- update readme
providing very simple example at first without confusing parameters (337d214
)
- Merge pull request #7 from rossumai/mv/fix-event-loop-in-jupyter
use existing even_loop if exists (7978b53
)
-
use existing event_loop if exists (
dccfd3e
) -
enable e2e test through cron (
90f3f2b
) -
Merge pull request #5 from rossumai/oh/sideloading
Implement sideloading of related resources in APIClient.fetch_all (c990c03
)
-
Implement sideloading of related resources in APIClient.fetch_all (
f2bb57c
) -
Improve typing of fetch_all and export methods of APIClient
Most of the arguments cannot be generators since the code does not
account for the fact that generators might be exhausted. There is little
benefit of passing these arguments as generators since they are
typically just a few strings. Let's make the type more strict and use
Sequence. (79c0864
)
- Merge pull request #4 from rossumai/mv/complete-e2e-test
more robust E2E test and subsequent methods (4f47773
)
-
more robust E2E test and subsequent methods (
ef307c0
) -
Merge pull request #3 from rossumai/oh/export-annotations
Add support for the /export endpoint in APIClient (4c7eca9
)
- Add support for export endpoint to APIClient
Unfortunately, authenticate_if_needed decorator must be almost
copypasted to an async generator version. I haven't found a way to
create an async decorator that works both on coroutines and
async generators. (0043fb5
)
- Use id_ parameter name instead of id in APIClient
The soon-to-be-added export endpoint has a filter with id name which
would cause name clash with the existing parameter. As a bonus, some
IDEs will stop complaining about overriding the built-in id() function. (a04ca5e
)
-
Refactor APIClient to reduce boilerplate (
ccc4b0d
) -
Correctly type fp argument of APIClient.upload method
...using a type stub from typeshed package. (090d93a
)
- Merge pull request #1 from rossumai/mv/implement-document-import
Mv/implement document import (2beeb55
)
-
fix async context manager for aiofiles + e2e tests (
845080a
) -
implement import document in both Elis Clients (
b9d88f8
) -
Merge pull request #2 from rossumai/oh/metadata-and-values-in-upload
Allow specifying metadata
and values
when uploading files (2442633
)
- Repack httpx exceptions to APIClientError
To shield users from the HTTP library we're using. (164998a
)
- Allow specifying
metadata
andvalues
when uploading files
This led to re-implementing the upload as multi-part file upload which
complicates testing but it is testable with some mocking. (a55822b
)
-
Add isort config to pyproject.toml (
119897f
) -
return of the Mock (
9ac982e
) -
Implement uploading of document files in APIClient (
fcb5f34
) -
Add README + delete_workspace methods + workspace fixture fix (
4887516
) -
overcome missing AsyncMock in Python 3.7 and re-nable testing it (
5476f62
) -
move sync client to composition pattern and re-enable mypy (
907d790
) -
fix wrong import of ElisAPIClient (
db0c93b
) -
report codecov (
e5573bc
) -
sync api client (
01a9f9d
) -
python3.7 - temp. skip (
c52331b
) -
pre-commit setup + linting and typing fixes (
eff27ee
) -
fix type typos (
e3e8720
) -
move testing to travis (
3ace77c
) -
implement all the shared methods (
2fc4eca
) -
Implement filtering in APIClient.fetch_all (
7773406
) -
Implement ordering in APIClient (
64c2e4b
) -
first iteration of elis api client (
c9054a5
) -
Update test.py to the latest interface of APIClient (
264cc94
) -
api_client: Implement properly async pagination (
aa3ad2e
) -
Add basic project setup (
64bbcca
) -
first iteration of elis api client (broken) (
a597b05
) -
fix test + gitignore (
d05ba8d
) -
Add initial version of APIClient that supports basic CRUD operations (
342c86a
)