Dash porting version of the React project React Picture Annotation. Provide a simple annotation window for a single picture.
Project description
Dash Picture Annotation
Dash Picture Annotation is a Dash component library.
Dash porting version of the React project React Picture Annotation :link:. Provide a simple annotation window for a single picture.
The following two figures compare the demos of the original React version and the ported Dash version. Since this project is just a dash component wrapper on the original React component, the performance is the same.
React Picture Annotation | Dash Picture Annotation |
---|---|
Compared to the original project, this project has the following special features that the original React project does not support:
- Responsive sizing: The width of the annotator can be automatically adjusted according to the parent web element.
- Different modes: When selecting an annotation, the modifier can be configured as an input box or a dropdown menu box.
- Data sanitized: The data is simply sanitized. Even if a not standardized data is passed to the annotator, it still works.
- Anti-mistakes: A threshold of the annotation size can be configured to prevent users create a tiny annotation item by mistake.
- Disabled: A flag can be configured to make the annotator disabled.
- Specified colors: A special color can be configured for an annotator with a specific comment. Different comments can have different colors.
- Dynamic colors: Without specifying colors manually, a flag can enable the colors to be automatically calculated based on the hash code of the annotation comments.
Preview a quick video demo here:
https://github.com/user-attachments/assets/398fa4ff-4926-4594-a9c6-9bb92d170c63
1. Install
Intall the latest released version of this package by using the PyPI source:
python -m pip install dash-picture-annotation
Or use the following commands to install the developing version from the GitHub Source when you have already installed Git :hammer:, NodeJS :hammer:, and Yarn :hammer::
git clone https://github.com/cainmagi/dash-picture-annotation
cd dash-picture-annotation
python -m pip install -r requirements-dev.txt
yarn install
yarn build
python -m pip install .
2. Usage
The following signature shows the basic usage of this component.
import dash_picture_annotation as dpa
dpa.DashPictureAnnotation(
id="annotator",
style={"height": "80vh"},
data=default_data, # Can be `None`
image="/assets/test_image.svg", # Can be `None`
options=None,
)
where the data
is typed by dpa.Annotations
. It should be formatted like this:
{
"timestamp": 0,
"data": [
{
"id": "N5fewQ",
"mark": {
"x": -224.45, "y": 62.76, "width": 125.53, "height": 125.53, "type": "RECT"
},
"comment": "has-a-type"
},
{
"id": "ibJMdK",
"mark": {
"x": -36.15, "y": 62.76, "width": 125.53, "height": 125.53, "type": "RECT"
},
},
{
"id": "...",
"...": "...",
}
]
}
A full demo for a minimal example can be found here :link:.
A full demo for an integrated application can be found here :link:, where the basic usages are displayed.
3. Documentation
To be done...
4. Contributing
5. Changelog
6. Acknowledgements
- Kunduin/react-picture-annotation :link:: The original React component implementation of this project.
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 Distribution
Built Distribution
File details
Details for the file dash_picture_annotation-0.1.0.tar.gz
.
File metadata
- Download URL: dash_picture_annotation-0.1.0.tar.gz
- Upload date:
- Size: 2.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | af995c44ada4e27dfdbecdec006f23aaa4a6bb7a7991723caeb06bcc6ab8ba35 |
|
MD5 | 9cb679f3d1932661e16978f42601390c |
|
BLAKE2b-256 | 595cd633b9360f602bb6e38574199cdd8d0e6d4e70c0f8c3a4b8dd907f30c98b |
Provenance
The following attestation bundles were made for dash_picture_annotation-0.1.0.tar.gz
:
Publisher:
python-publish.yml
on cainmagi/dash-picture-annotation
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
dash_picture_annotation-0.1.0.tar.gz
- Subject digest:
af995c44ada4e27dfdbecdec006f23aaa4a6bb7a7991723caeb06bcc6ab8ba35
- Sigstore transparency entry: 147981058
- Sigstore integration time:
- Predicate type:
File details
Details for the file dash_picture_annotation-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: dash_picture_annotation-0.1.0-py3-none-any.whl
- Upload date:
- Size: 257.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | be6f540527b599ce9182910ca3f88a2991ae7e889baf8eb97220c332a986ef97 |
|
MD5 | ee15d4250b65b85c63a2e12a31356d64 |
|
BLAKE2b-256 | 6332c758bfb5185f02c5b2864d67062e5807bc56967ff87315dca8974a0ad54e |
Provenance
The following attestation bundles were made for dash_picture_annotation-0.1.0-py3-none-any.whl
:
Publisher:
python-publish.yml
on cainmagi/dash-picture-annotation
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
dash_picture_annotation-0.1.0-py3-none-any.whl
- Subject digest:
be6f540527b599ce9182910ca3f88a2991ae7e889baf8eb97220c332a986ef97
- Sigstore transparency entry: 147981059
- Sigstore integration time:
- Predicate type: