20 Commits (8b13a2c485063b6f8ccef792b7252c8bbf57f002)

Author SHA1 Message Date
Roman Donchenko 38193ff792
SDK: add a utility function for atomically writing a file (#5372) 3 years ago
Roman Donchenko 0a16cfce5b
SDK: add a high-level method to download task data chunks (#5356) 3 years ago
Roman Donchenko aadfd8814e
Fix TUS offset queries in production environments (#5204)
* Fix TUS offset queries in production environments

Previously, `mod_wsgi` would convert `HEAD` requests into `GET`, which
would be rejected, so clients were unable to resume an upload that failed
midway through.

To make use of this, update the SDK code to enable upload resumption.

* Add a test that forces a chunked TUS upload

* test_can_create_from_backup_in_chunks: make sure the upload is actually chunked
3 years ago
Roman Donchenko 12961b35d6
cvat-sdk: make sure to redraw the progress bar after use (#5235)
tqdm does not necessarily redraw the progress bar after every update,
and without the call to `refresh` it might not update it to the final state.

I discovered this while writing a test in which the progress bar is updated
in chunks, and the last chunk is smaller than the previous ones.
3 years ago
Kirill Sizov dbcfb30cb2
Fix SDK tests (#5077)
* Update SDK tests to use LoginSerializerEx
3 years ago
Maxim Zhiltsov 511f9706d5
Allow trailing slashes in SDK client url (#5057) 3 years ago
Роман Донченко b029bc9da8
cvat-sdk: Fix creating tasks with non-local files (#5058)
* Move the test file share contents to tests/share

This way, it can be reused between tests.

* cvat-sdk: Fix creating tasks with non-local files

Forcing the `Content-Type` for the `upload_data` API call to
`multipart/form-data` does not work, because the current logic for
converting Python values to parts (`ApiClient._convert_body_to_post_params`)
does not encode them in a way that Django REST Framework can understand (it
JSON-encodes each part).

Fortunately, we don't actually need to do that, since when we create a task
with non-local files, we don't need to upload any files, and so we can just
post the original JSON, so do just that.

I couldn't add a test for the remote image case, because CVAT rejects all URLs
with non-public IP addressses. However, I did test this case manually.
3 years ago
Maxim Zhiltsov 1902ecd8a7
Extend SDK layer 2 docs (#4980) 3 years ago
Maxim Zhiltsov 426f8e3ef0
Extend SDK layer 1 docs (#5011) 3 years ago
Maxim Zhiltsov 2e15025434
Check server version in SDK (#4935) 3 years ago
Maxim Zhiltsov 68375ec23e
Add SDK docs (#4928)
- Added auth docs in API schema and SDK ApiClient/Config (fixes #1517)
- Added SDK docs with API, SDK and CLI docs
- Added `develop` branch in the docs
- Allowed unauthorized access to `api/docs`, `api/swagger`, `api/schema` endpoints
- Added `--insecure` env var to control host checks in CLI
- Refactored `build_docs.py` (backported https://github.com/openvinotoolkit/datumaro/pull/589)
- Extracted requirements file for site
3 years ago
Maxim Zhiltsov 4f6e81eab3
Bump sdk and cli versions (#4923) 3 years ago
Maxim Zhiltsov f966df7493
Fix python3.7 compatibility (#4919) 3 years ago
Maxim Zhiltsov 7218f4e283
Add host schema auto-detection in SDK (#4910) 3 years ago
Maxim Zhiltsov 1dcba5a843
Align server api, sdk and cli versions to 2.1.0 (#4913) 3 years ago
Maxim Zhiltsov 917e821348
SDK alpha 1 release (#4903) 3 years ago
Maxim Zhiltsov 53697ecac5
SDK layer 2 - cover RC1 usecases (#4813) 4 years ago
Maxim Zhiltsov 5f58a0f7be
Add 2nd layer of SDK (#19) 4 years ago
Maria Khrustaleva 164c2c34df
Images should be searched relative to the manifest file on cloud storage (#8) 4 years ago
Maxim Zhiltsov 7b2fc54e20
Add CVAT SDK package (#7) 4 years ago