Developer Guide
Comprehensive resource to help you build applications, integrate with Tator’s API, and extend Tator’s functionality.
🚀 Getting Started
Essential first steps for developers new to Tator.
[**Install tator-py**
Install the Python client library](/content/docs/developer-guide/getting-started/install-tator-py/index.html)
[**Get an API Token**
Authenticate with Tator’s API](/content/docs/developer-guide/getting-started/get-an-api-token/index.html)
[**Tator Data Concepts**
Understand Tator’s data model](/content/docs/developer-guide/getting-started/tator-data-concepts/index.html)
[**Using the Swagger UI**
Explore the REST API interactively](/content/docs/developer-guide/getting-started/using-the-swagger-ui/index.html)
📁 Project & Media Management
Programmatically manage projects, upload media, and organize data.
[**Create a Project with Python**
Set up new projects via API](/content/docs/developer-guide/project-and-media-management/create-a-project-with-python/index.html)
[**Upload Media with Python**
Batch upload videos and images](/content/docs/developer-guide/project-and-media-management/upload-media-with-python/index.html)
[**Download Media**
Programmatically download media files](/content/docs/developer-guide/project-and-media-management/download-media/index.html)
[**Import Hosted Media**
Import media from external URLs](/content/docs/developer-guide/project-and-media-management/import-hosted-media/index.html)
[**Create Multi-stream Videos**
Work with synchronized video streams](/content/docs/developer-guide/project-and-media-management/create-multi-stream-videos/index.html)
[**Local Transcodes**
Process videos locally before upload](/content/docs/developer-guide/project-and-media-management/local-transcodes/index.html)
[**Attach Files to Media**
Associate additional files with media](/content/docs/developer-guide/project-and-media-management/attach-files-to-media/index.html)
[**Nested Folders with Python**
Organize media in folder hierarchies](/content/docs/developer-guide/project-and-media-management/nested-folders-with-python/index.html)
[**Using the Changelog**
Track changes to your data](/content/docs/developer-guide/project-and-media-management/using-the-changelog/index.html)
[**Archive and Restore Media with Python**
Implement data lifecycle management](/content/docs/developer-guide/project-and-media-management/archive-and-restore-media-with-python/index.html)
[**Extract Frames and Video Clips**
Export video segments programmatically](/content/docs/developer-guide/project-and-media-management/extract-frames-and-video-clips/index.html)
[**Extract Localization Images and Track Animations**
Generate crops and animations from annotations](/content/docs/developer-guide/project-and-media-management/extract-localization-images-and-track-animations/index.html)
[**Migrate Data**
Transfer data between Tator instances](/content/docs/developer-guide/project-and-media-management/migrate-data/index.html)
🏷️ Working with Annotations
Create, manage, and analyze annotations programmatically.
[**Entities and Attributes**
Understand Tator’s annotation data model](/content/docs/developer-guide/working-with-annotations/entities-and-attributes/index.html)
[**Create Annotations**
Add annotations via API](/content/docs/developer-guide/working-with-annotations/create-annotations/index.html)
[**Create Localizations without Geometry**
Create frame-level annotations](/content/docs/developer-guide/working-with-annotations/create-localizations-without-geometry/index.html)
[**Define a Label Tree**
Set up hierarchical labeling systems](/content/docs/developer-guide/working-with-annotations/define-a-label-tree/index.html)
[**Labeling Activities**
Annotate temporal events and activities](/content/docs/developer-guide/working-with-annotations/labeling-activities/index.html)
🤖 Reports & Algorithms
Integrate machine learning and automated analysis workflows.
[**Register an Algorithm**
Add custom processing algorithms](/content/docs/developer-guide/reports-and-algorithms/register-an-algorithm/index.html)
[**Launch Algorithms with Python**
Execute algorithms programmatically](/content/docs/developer-guide/reports-and-algorithms/launch-algorithms-with-python/index.html)
[**AI-assisted Annotation**
Implement machine learning workflows](/content/docs/developer-guide/reports-and-algorithms/ai-assisted-annotation/index.html)
📊 Applets & Dashboards
Create custom interfaces and visualization tools.
[**Create Analytics Dashboards**
Build custom data visualizations](/content/docs/developer-guide/applets-and-dashboards/create-analytics-dashboards/index.html)
[**Canvas Applets**
Develop interactive canvas-based tools](/content/docs/developer-guide/applets-and-dashboards/canvas-applets/index.html)
[**Create Annotator Menu Applets**
Add custom tools to the annotation interface](/content/docs/developer-guide/applets-and-dashboards/create-annotator-menu-applets/index.html)
[**Hosted Templates**
Use pre-built dashboard templates](/content/docs/developer-guide/applets-and-dashboards/hosted-templates/index.html)
🛠️ Contributing to Tator
Help improve Tator by contributing to the open source project.
[**Using the Tator Build System**
Set up the development environment](/content/docs/developer-guide/contributing-to-tator/using-the-tator-build-system/index.html)
[**Run Unit Tests**
Test your contributions](/content/docs/developer-guide/contributing-to-tator/run-unit-tests/index.html)
Looking for user instructions? Check out our
User Guide.
Need help with deployment? See our
Administrator Guide.