Skip to content

Latest commit

 

History

History
714 lines (356 loc) · 31.5 KB

CHANGELOG.md

File metadata and controls

714 lines (356 loc) · 31.5 KB

CHANGELOG

v0.14.0 (2024-05-22)

Unknown

  • Merge pull request #66 from liborvaneksw/lv/mypy

feat: add py.typed and let the world know we use types (334c51e)

v0.13.3 (2024-05-22)

Feature

  • feat: add py.typed and let the world know we use types (9415403)

Fix

  • fix: make User.last_login optional (406b16b)

Unknown

  • Merge pull request #67 from liborvaneksw/lv/user-model-fix

fix: make User.last_login optional (da6419c)

v0.13.2 (2024-04-09)

Fix

  • fix(api-client): do not reauth if no credentials are available (9b5f422)

Unknown

  • 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)

v0.13.1 (2024-03-25)

Ci

  • ci(pre-commit): update mypy (06d2272)

Fix

  • fix(models:automation_blocker): fix type of samples (b36d6a8)

Unknown

  • Merge pull request #62 from rossumai/stepan-s/fix-model-automation-blocker-samples

fix(models:automation_blocker): fix type of samples (e459253)

v0.13.0 (2024-02-07)

Documentation

  • docs: improve client docstrings (94e8522)

Feature

  • feat: consider new created status when checking if annotation is already imported (7c66c63)

Fix

  • fix: do not send None parent when creating new document (95f3fbc)

Unknown

  • 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)

v0.12.0 (2024-02-06)

Feature

  • 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

  • refactor: unify naming of ids and add missing typing (86246cd)

  • refactor(tests): fix typos in tests (19711e2)

Unknown

  • Merge pull request #59 from bara-m/bara-add-missing-methods

Add new methods for documents and annotations (0710177)

v0.11.0 (2023-11-08)

Chore

  • 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)

Feature

  • feat: Add convenience methods for annotation lifecycle (cf56272)

Refactor

  • refactor: Rename UserRole to Group for consistency with the API (ed8065a)

Unknown

  • Merge pull request #56 from rossumai/oh/annotation-convenience-methods

feat: Add convenience methods for annotation lifecycle (7e5adbd)

v0.10.0 (2023-11-02)

Chore

  • chore: Streamline Makefile and improve README (0b1064f)

Feature

  • 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

  • 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)

Unknown

  • 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)

v0.9.1 (2023-10-11)

Fix

  • fix(api_client): limit in-flight requests

Limit the maximum number of fetch_all page requests running at in parallel. (56244d0)

Unknown

  • Merge pull request #50 from opichals/limit-maximum-number-of-in-flight-requests-in-fetch_all

fix(api_client): limit in-flight requests (3c1a10a)

v0.9.0 (2023-10-11)

Feature

  • feat: export public interface in root package (f85fc58)

Unknown

  • Merge pull request #51 from uhlikfil/main

feat: export public interface in root package (977824f)

v0.8.0 (2023-08-25)

Feature

  • 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)

Unknown

  • Merge pull request #49 from OndraSlama/ondra-add-search-for-query-method

Add search_for_annotations method (b994053)

v0.7.4 (2023-08-11)

Feature

  • feat(models): add token_lifetime_s attribute to hook model (f75dcfd)

Unknown

  • Merge pull request #48 from uhlikfil/main

feat(models): add token_lifetime_s attribute to hook model (ae35fc4)

v0.7.3 (2023-08-07)

Fix

  • fix: Make time_spent in Annotation optional (a2e5d70)

Unknown

  • Merge pull request #47 from rossumai/ihe/make-time-spent-optional

fix: Make time_spent in Annotation optional (7a26f27)

v0.7.2 (2023-06-02)

Fix

  • fix: add await to asyncio.sleep (4a537ab)

Unknown

  • Merge pull request #46 from uhlikfil/main

await asyncio.sleep (3183975)

v0.7.1 (2023-05-05)

Fix

  • fix(models): allow null workspace in Queue model (dea0027)

  • fix(models): allow Any in metadata dict values in Queue model (7abaa13)

Unknown

  • Merge pull request #45 from uhlikfil/filda/fix-queue-model-metadata

fix(models): make queue model compliant with API docs (99e180c)

v0.7.0 (2023-05-04)

Feature

  • feat(elis_api_client): add generic method for requests to paginated resources (6b290e8)

Unknown

  • 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)

v0.6.0 (2023-04-28)

Chore

  • chore: run test workflow also on pull requests (0ca9b43)

Feature

  • feat(api_client): allow to set max pages limit in filters (090114f)

Unknown

  • 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)

v0.5.1 (2023-03-31)

Chore

  • chore: fix semantic release (f1e56a5)

Fix

  • fix: switch from TravisCI to Github Workflows (de09e69)

Unknown

  • Use ruff for linting 🎉 (27f9eea)

  • Create lint-and-test.yml (1492b4b)

v0.5.0 (2023-03-06)

Feature

  • feat(rossum_sdk/api_client): add request method to ElisApiClient (5d11c3e)

Unknown

  • Merge pull request #38 from OndraSlama/ondra/add-request-method-to-ElisApiClient

feat(rossum_sdk/api_client): add request method to ElisApiClient (b7ccf1e)

v0.4.0 (2023-03-02)

Chore

  • 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)

Feature

  • feat: add get_token method to Api client (a1bc957)

Fix

  • 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 <ondrej.slama@rossum.ai> (d797e99)

Unknown

  • 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)

v0.3.0 (2022-10-17)

Feature

  • feat: add request_json method to ElisAPIClient (6c2df87)

Unknown

  • Merge pull request #26 from rossumai/oh/add-request-json-to-elis-api-client

Add request_json method to ElisAPIClient (d59eecd)

v0.2.0 (2022-10-13)

Feature

  • feat: Implement retrying of failed requests

APIClient now accepts retry configuration where number of retries and backoff can be configured. (09ab473)

Unknown

  • Merge pull request #25 from rossumai/jo-retry

feat: Implement retrying of failed requests (b21e0fb)

v0.1.3 (2022-10-12)

Fix

  • fix: change Annotation.confirmed_at type to str instead of datetime (40597bb)

Unknown

  • Merge pull request #24 from OndraSlama/ondra-annotation-model-fix

fix: change Annotation.confirmed_at type to str instead of datetime (b383edf)

v0.1.2 (2022-10-11)

Fix

  • fix: Allow null Organization.trial_expires_at in the model (dd95716)

Unknown

  • Merge pull request #23 from rossumai/jo-optional-trial-exp

fix: Allow null Organization.trial_expires_at in the model (b764a55)

v0.1.1 (2022-10-11)

Fix

  • fix: making dependency requirements more relaxed (80526da)

Unknown

  • Merge pull request #22 from rossumai/miiila/more-relaxed-deps

fix: making dependency requirements more relaxed (bfbf70b)

v0.1.0 (2022-10-06)

Chore

  • chore: introduce semantic releasing (a485874)

Documentation

  • docs(readme): add helper page, add makefile (1c95bea)

Feature

  • feat: first github release by semantic releasing (7dd7780)

Test

  • test(api_client): reauth correct exception handling (5c0d728)

Unknown

  • 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:

  1. Upload a bunch of documents.
  2. 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)

  • Merge pull request #16 from rossumai/ihe/fix-timeout

Turn off timeout by default (9760664)

  • Re-introduce coverage badge (406116a)

  • Merge pull request #15 from rossumai/oh/badges

Update badges in README, run codecov after tests (4472cdb)

  • Add missing fields to Queue and Annotation (2b97d44)

  • Turn off timeout by default (bfa7427)

  • Merge pull request #14 from rossumai/add-license

Add LICENCE (77b4ccb)

  • Update badges in README, run codecov after tests (65d41ef)

  • 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)

  • 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)

  • add annotation export (d7d800b)

  • 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)

  • 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)

  • Correctly type fp argument of APIClient.upload method

...using a type stub from typeshed package. (090d93a)

  • Merge pull request #2 from rossumai/oh/metadata-and-values-in-upload

Allow specifying metadata and valueswhen uploading files (2442633)

  • Repack httpx exceptions to APIClientError

To shield users from the HTTP library we're using. (164998a)

  • Allow specifying metadata and valueswhen 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)