This release is a pre-release and may not be stable for production use.
Sparrow Datums
Sparrow Datums is a Python package for vision AI data structures, related operations and serialization/deserialization. Specifically, it makes it easier to work with bounding boxes, key points (TODO), and segmentation masks (TODO). It supports individual objects, frames of objects, multiple frames of objects, objects augmented with class labels and confidence scores, and more.
Sparrow Datums also supports object tracking where the identity of the object is maintained. And that data can be streamed instead of keeping it all in a single file.
Quick Start Example
Installation
pip install -U sparrow-datums
Switching between box parameterizations
import numpy as np
from sparrow_datums import FrameBoxes, PType
boxes = FrameBoxes(np.ones((4, 4)), PType.absolute_tlwh)
boxes.to_tlbr()
# Expected result
# FrameBoxes([[1., 1., 2., 2.],
# [1., 1., 2., 2.],
# [1., 1., 2., 2.],
# [1., 1., 2., 2.]])
Slicing
Notice that all "chunk" objects override basic NumPy arrays. This means that some filtering operations work as expected:
boxes[:2]
# Expected result
# FrameBoxes([[1., 1., 1., 1.],
# [1., 1., 1., 1.]])
But sub-types do their own validation. For example, FrameBoxes must be a (n, 4) array. Therefore, selecting a single column throws an error:
boxes[:, 0]
# Expected exception
# ValueError: A frame boxes object must be a 2D array
Instead, chunks expose different subsets of the data as properties. For example, you can get the x coordinate as an array:
boxes.x
# Expected result
# array([1., 1., 1., 1.])
Or the width of the boxes:
boxes.w
# Expected result
# array([1., 1., 1., 1.])
If you need to access the raw data, you can do that with a chunk's array property:
boxes.array[0, 0]
# Expected result
# 1.0
Operations
Sparrow Datums comes with common operations for data types. For example, you can compute the pairwise IoU of two sets of FrameBoxes:
from sparrow_datums import pairwise_iou
pairwise_iou(boxes, boxes + 0.1)
# array([[0.57857143, 0.57857143, 0.57857143, 0.57857143],
# [0.57857143, 0.57857143, 0.57857143, 0.57857143],
# [0.57857143, 0.57857143, 0.57857143, 0.57857143],
# [0.57857143, 0.57857143, 0.57857143, 0.57857143]])
Metadata
Release files for sparrow-datums 0.8.3.dev1658506880
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| sparrow-datums-0.8.3.dev1658506880.tar.gz | 22.2 kB | Without provenance | Details for sparrow-datums-0.8.3.dev1658506880.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| sparrow_datums-0.8.3.dev1658506880-py3-none-any.whl | Python 3 | none | any | Details for sparrow_datums-0.8.3.dev1658506880-py3-none-any.whl |
Total release size: 57.0 kB
Release files / sparrow-datums-0.8.3.dev1658506880.tar.gz
| Download URL | sparrow-datums-0.8.3.dev1658506880.tar.gz |
|---|---|
| Size | 22.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
10300efa501211e16fb2e614105a1152889227016aa13044cb4b925e91729c2e
|
|
BLAKE2b-256 checksum How to use checksums |
edcc9e0e7e18ede33f27200d1af4958940125b997009b5985df5014f35fc2827
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.14 CPython/3.8.13 Linux/5.15.0-1014-azure
|
Release files / sparrow_datums-0.8.3.dev1658506880-py3-none-any.whl
| Download URL | sparrow_datums-0.8.3.dev1658506880-py3-none-any.whl |
|---|---|
| Size | 34.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c99351c6a6327b41fb423f458de81125bdaf9cf3d2cae713368993d0ec3293c3
|
|
BLAKE2b-256 checksum How to use checksums |
96be969c8d8fb9475c43708a72b01e24792dce2d6f2d9a3fe3eb5fb39c335c20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.14 CPython/3.8.13 Linux/5.15.0-1014-azure
|
Security for sparrow-datums 0.8.3.dev1658506880
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.