Metadata-Version: 2.4
Name: telekinesis-datatypes
Version: 0.3.6
Summary: Official core data types and serialization utilities package for the Telekinesis SDK and APIs.
Author-email: Telekinesis <support@telekinesis.ai>
License-Expression: LicenseRef-Proprietary
Project-URL: Homepage, https://telekinesis.ai
Project-URL: Documentation, https://docs.telekinesis.ai
Project-URL: Telekinesis Examples Repository, https://github.com/telekinesis-ai/telekinesis-examples
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries
Requires-Python: <3.13,>=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: loguru>=0.5.0
Requires-Dist: numpy>=2.0.0
Requires-Dist: pyarrow>=18.0.0
Requires-Dist: plyfile>=0.4.0
Requires-Dist: trimesh>=4.4.0
Requires-Dist: scikit-image>=0.23.2
Requires-Dist: pillow>=9.5.0
Requires-Dist: zstandard>=0.15.0
Requires-Dist: pycocotools>=2.0.8
Requires-Dist: dracopy>=1.4.1
Requires-Dist: rerun-sdk>=0.31.0
Requires-Dist: requests>=2.24.0
Requires-Dist: scipy>=1.13.0
Requires-Dist: tzdata>=2020.1
Provides-Extra: docs
Requires-Dist: mkdocs<2,>=1.6; extra == "docs"
Requires-Dist: mkdocstrings[python]<1,>=0.25; extra == "docs"
Requires-Dist: mkdocs-awesome-pages-plugin<3,>=2; extra == "docs"
Provides-Extra: dev
Requires-Dist: ruff==0.15.8; extra == "dev"
Requires-Dist: pylint==4.0.5; extra == "dev"
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
Requires-Dist: pytest-benchmark>=4.0.0; extra == "dev"
Requires-Dist: requests-toolbelt>=1.0.0; extra == "dev"
Requires-Dist: tox==4.60.0; extra == "dev"
Requires-Dist: opencv-python>=4.6.0; extra == "dev"
Dynamic: license-file

<div align="center">
  <p>
    <a align="center" href="" target="_blank">
      <img
        width="100%"
        src="https://assets.telekinesis.ai/Telekinesis+Banner.png"
      >
    </a>
  </p>

  <br>

[![PyPI version](https://img.shields.io/pypi/v/telekinesis-datatypes)](https://pypi.org/project/telekinesis-datatypes/)
[![License](https://img.shields.io/pypi/l/telekinesis-datatypes)](https://pypi.org/project/telekinesis-datatypes/)
[![Python versions](https://img.shields.io/pypi/pyversions/telekinesis-datatypes)](https://pypi.org/project/telekinesis-datatypes/)

</div>

<p align="center">
  <a href="https://github.com/telekinesis-ai">GitHub</a>
  &nbsp;•&nbsp;
  <a href="https://www.linkedin.com/company/telekinesis-ai/">LinkedIn</a>
  &nbsp;•&nbsp;
  <a href="https://x.com/telekinesis_ai">X</a>
  &nbsp;•&nbsp;
  <a href="https://discord.gg/7NnQ3bQHqm">Discord</a>
</p>


# Telekinesis Datatypes

Telekinesis Datatypes is a core library providing canonical, strongly typed data structures for robotics and computer vision applications within the Telekinesis ecosystem.

It includes:
- 3D data types: point clouds, meshes, transforms, and geometric primitives
- 2D data types: images, bounding boxes, masks, and pixel-space geometry
- Standardized representations for common perception and geometry formats
- Efficient serialization and deserialization for reliable data exchange


## Release Model  

Telekinesis Datatypes is currently in active development (pre-1.0).
Modules are introduced incrementally, and the API may evolve between minor releases.
To ensure compatibility and access to the latest capabilities, always install or upgrade to the most recent version of the package.

## Installation

1. Create an isolated environment so that there is no dependency conflicts. We recommend installing `Miniconda` environment by following instructions from [here](https://docs.conda.io/en/latest/miniconda.html#installing). 

2. Create a new `conda` environment called `telekinesis-datatypes`:

   **We currently support Python versions - 3.11, 3.12. Ensure your environment is in the specified Python version.**

    ```bash
    conda create -n telekinesis-datatypes python=3.11
    ```

3. Activate the environment:
    ```bash
    conda activate telekinesis-datatypes
    ```

4. Install the core package using `pip`:

    ```bash
    pip install telekinesis-datatypes
    ```

    Note: The Python module is called `datatypes`, while the package  published on PyPI is `telekinesis-datatypes`.

## Example

Run a sample python code to quickly test your installation.

```python
import rerun as rr
from telekinesis import datatypes

url = "https://assets.telekinesis.ai/examples/v1/images/screws_standing.jpg"
image_from_url = datatypes.Image.from_url(url)

rr.init("datatypes_examples", spawn=True)
datatypes.visualize(image_from_url, entity_path="/ImageFromURL")
```

You are now set up with Telekinesis Datatypes.

## Resources

- All module examples are available in [Telekinesis Examples](https://github.com/telekinesis-ai/telekinesis-examples)
- Full SDK documentation and usage details: [Telekinesis Documentation](https://docs.telekinesis.ai)

## Support

For issues and questions:

- Create an [issue](https://github.com/telekinesis-ai/telekinesis-examples/issues) in the GitHub repository.
- Contact the Telekinesis development team at support@telekinesis.ai or on [Discord](https://discord.com/invite/7NnQ3bQHqm).


