Minimalistic python SDK for CVAT
Project description
next-cvat
Minimalistic python SDK for CVAT.
Downloads and decodes annotations on the format "CVAT for images 1.1".
Usage
Either add environment variables to your global environment or create an env file.
CVAT_USERNAME=username
CVAT_PASSWORD=password
If you don't want to use your username and password, you can create a token:
cvat create-token
And use it like this:
CVAT_TOKEN=token
Note that the token expires in 14 days.
Download dataset
import next_cvat
if __name__ == "__main__":
(
next_cvat.Client.from_env_file(".env.cvat.secrets")
.project(1234)
.download_(dataset_path="dataset-path")
)
or using CLI:
cvat download --project-id <project-id> --dataset-path <dataset-path>
Load annotations
And then load annotations:
from next_cvat import Annotations
annotations = Annotations.from_path("dataset-path/annotations.xml")
Upload images
Create a new task and upload images to it:
import next_cvat
from pathlib import Path
client = next_cvat.Client.from_env()
# Create a new task
task = client.create_task("My Task", project_id=1234)
# Upload images
client.upload_images_(
task.id,
[
Path("images/image1.jpg"),
Path("images/image2.jpg"),
]
)
Update annotations
client = next_cvat.Client.from_env_file(".env.cvat.secrets")
job = client.project(project_id).task(task_id).job(job_id)
annotations = job.annotations()
annotations.add_mask_(
next_cvat.Mask.from_segmentation(
segmentation=Image.open("tests/test_vegetation_mask.png"),
label="Deformation",
),
image_name="20240916_000854_2011T_437.bmp",
)
job.update_annotations_(annotations)
Delete frames
Delete a frame from a task:
# Get a frame by its index (0-based) or by name
frame = task.frame(frame_id=0) # or task.frame(name="image1.jpg")
# Delete the frame
task.delete_frame_(frame.id)
Low-level API
from next_cvat import Client
client = Client.from_env_file(".env.cvat.secrets")
with client.cvat_client() as cvat_client:
cvat_client.get_tasks()
Development
To build the docs:
poetry run mkdocs build
To serve the docs:
poetry run mkdocs serve
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file next_cvat-0.1.12-py3-none-any.whl.
File metadata
- Download URL: next_cvat-0.1.12-py3-none-any.whl
- Upload date:
- Size: 27.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.9.20 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f4b2f55261731e99611529733a5e9ef69c535b5b9072e6599ef6003e7aeac3e
|
|
| MD5 |
4a2c6b7e218358e7e10a4e3f18b76f22
|
|
| BLAKE2b-256 |
b5e62419e77ba66451ab57ff5b7564c316a981035a9eb4497c7ec7a8361c65db
|