freshcrate
Home > Developer Tools > roboflow

roboflow

Official Python package for working with the Roboflow API

Description

<div align="center"> <p> <a align="center" href="" target="_blank"> <img width="100%" src="https://github.com/roboflow/roboflow-python/assets/37276661/528ed065-d5ac-4f9a-942e-0d211b8d97de" > </a> </p> <br> [notebooks](https://github.com/roboflow/notebooks) | [inference](https://github.com/roboflow/inference) | [autodistill](https://github.com/autodistill/autodistill) | [collect](https://github.com/roboflow/roboflow-collect) | [supervision](https://github.com/roboflow/supervision) <br> [![version](https://badge.fury.io/py/roboflow.svg)](https://badge.fury.io/py/roboflow) [![downloads](https://img.shields.io/pypi/dm/roboflow)](https://pypistats.org/packages/roboflow) [![license](https://img.shields.io/pypi/l/roboflow)](https://github.com/roboflow/roboflow-python/blob/main/LICENSE.md) [![python-version](https://img.shields.io/pypi/pyversions/roboflow)](https://badge.fury.io/py/roboflow) </div> # Roboflow Python Package [Roboflow](https://roboflow.com) provides everything you need to build and deploy computer vision models. `roboflow-python` is the official Roboflow Python package. `roboflow-python` enables you to interact with models, datasets, and projects hosted on Roboflow. With this Python package, you can: 1. Create and manage projects; 2. Upload images, annotations, and datasets to manage in Roboflow; 3. Start training vision models on Roboflow; 4. Run inference on models hosted on Roboflow, or Roboflow models self-hosted via [Roboflow Inference](https://github.com/roboflow/inference), and more. The Python package is documented on the [official Roboflow documentation site](https://docs.roboflow.com/api-reference/introduction). If you are developing a feature for this Python package, or need a full Python library reference, refer to the [package developer documentation](https://roboflow.github.io/roboflow-python/). ## 💻 Installation You will need to have `Python 3.8` or higher set up to use the Roboflow Python package. Run the following command to install the Roboflow Python package: ```bash pip install roboflow ``` For desktop features, use: ```bash pip install "roboflow[desktop]" ``` <details> <summary>Lightweight install (roboflow-slim)</summary> If you only need vision events, workspace management, and the CLI (no image processing, inference, or training), install the lightweight package: ```bash pip install roboflow-slim ``` This skips heavy dependencies like OpenCV, NumPy, Matplotlib, and Pillow, reducing install size from ~400MB to ~50MB. Useful for embedded devices, CI pipelines, and serverless environments. Both packages share the same codebase and version. `pip install roboflow` includes everything. </details> <details> <summary>Install from source</summary> You can also install the Roboflow Python package from source using the following commands: ```bash git clone https://github.com/roboflow-ai/roboflow-python.git cd roboflow-python python3 -m venv env source env/bin/activate pip install . ``` </details> <details> <summary>Command line tool</summary> By installing roboflow python package you can use some of its functionality in the command line (without having to write python code). See [CLI-COMMANDS.md](CLI-COMMANDS.md) </details> ## 🚀 Getting Started To use the Roboflow Python package, you first need to authenticate with your Roboflow account. You can do this by running the following command: ```python import roboflow roboflow.login() ``` <details> <summary>Authenticate with an API key</summary> You can also authenticate with an API key by using the following code: ```python import roboflow rf = roboflow.Roboflow(api_key="") ``` [Learn how to retrieve your Roboflow API key](https://docs.roboflow.com/api-reference/authentication#retrieve-an-api-key). </details> ## Quickstart Below are some common methods used with the Roboflow Python package, presented concisely for reference. For a full library reference, refer to the [Roboflow API reference documentation](https://docs.roboflow.com/api-reference). ```python import roboflow # Pass API key or use roboflow.login() rf = roboflow.Roboflow(api_key="MY_API_KEY") workspace = rf.workspace() # creating object detection model that will detect flowers project = workspace.create_project( project_name="Flower detector", project_type="object-detection", # Or "classification", "instance-segmentation", "semantic-segmentation" project_license="MIT", # "private" for private projects, only available for paid customers annotation="flowers" # If you plan to annotate lillys, sunflowers, etc. ) # upload a dataset workspace.upload_dataset( dataset_path="./dataset/", num_workers=10, dataset_format="yolov8", # supports yolov8, yolov5, and Pascal VOC project_license="MIT", project_type="object-detection" ) version = project.version("VERSION_NUMBER") # upload model weights - yolov10 version.deploy

Release History

VersionChangesUrgencyDate
1.3.3Imported from PyPI (1.3.3)Low4/21/2026
v1.3.3### New Features **Vision Events SDK & CLI** (#451) - New SDK support for the Vision Events API: write single/batch events, query with pagination, list use cases, and upload images. - New `roboflow vision-events` CLI command group with subcommands: `write`, `write-batch`, `query`, `use-cases`, `upload-image`. - Thin-client design — no client-side validation, so new event types and fields work without a SDK update. **`roboflow-slim` package** (#451) - New lightweight `roboflow-slim` insHigh4/15/2026
v1.3.1This release rewrites the Roboflow CLI from the ground up to serve as the canonical machine interface for the Roboflow platform. Every command now supports `--json` for structured output, follows a consistent `noun verb` pattern, and provides actionable error messages to make Roboflow accessible to coding agents, CI/CD pipelines, and automation workflows. ### Highlights **🏗️ Modular CLI architecture** — The monolithic CLI has been decomposed into 18 handler modules organized by resource (Medium4/3/2026
v1.2.16At the workspace level you can now search and delete images. Sample code using both: ``` """Delete all orphan images matching a workspace-level search query. Usage: python tests/manual/demo_search_delete.py """ from roboflow import Roboflow QUERY = "project:false" PAGE_SIZE = 100 DELETE_BATCH_SIZE = 1000 DRY_RUN = False # set to False to actually delete WORKSPACE_SLUG = "workspace" def main(): rf = Roboflow() workspace = rf.workspace(WORKSPACE_SLUG) Low3/3/2026
v1.2.15We now make it available to the python sdk to upload metadata when starting uploadLow2/25/2026
v1.2.14We provide a new method to export images and annotations based on search queries. It replicates the Asset Library Download functionality on the CLI.Low2/18/2026
v1.2.13Includes model upload for new rf-detr models. pi_heif discontinued Python3.9 support, so this is handled in the release as well.Low1/23/2026
v1.2.12Users can now upload yolo26 models from ultralytics 8.4.1 or higherLow1/15/2026
v1.2.11## What's Changed * adds curlable script to sign urls to images in s3 buckets by @tonylampada in https://github.com/roboflow/roboflow-python/pull/419 * Add ability to configure model training epochs by @PawelPeczek-Roboflow in https://github.com/roboflow/roboflow-python/pull/420 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.2.10...v1.2.11Low10/13/2025
v1.2.10## What's Changed * Added Confidence Argument to keypoint detection model by @Greenstan in https://github.com/roboflow/roboflow-python/pull/354 * Add 'rfdetr-seg-preview' to supported model types by @capjamesg in https://github.com/roboflow/roboflow-python/pull/414 * Bump version to 1.2.10 by @iurisilvio in https://github.com/roboflow/roboflow-python/pull/416 ## New Contributors * @Greenstan made their first contribution in https://github.com/roboflow/roboflow-python/pull/354 **Full ChLow10/3/2025
v1.2.9## What's Changed * fix is_prediction function call by @sberan in https://github.com/roboflow/roboflow-python/pull/413 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.2.8...v1.2.9Low9/10/2025
v1.2.8## What's Changed * Add are_predictions flag to dataset upload by @sberan in https://github.com/roboflow/roboflow-python/pull/412 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.2.7...v1.2.8Low9/9/2025
v1.2.7## What's Changed * configuring devcontainer to call localhost by @digaobarbosa in https://github.com/roboflow/roboflow-python/pull/409 * Create `Project` object local instead of calling API after create project by @iurisilvio in https://github.com/roboflow/roboflow-python/pull/411 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.2.6...v1.2.7Low8/27/2025
v1.2.6## What's Changed * Fix train-over-api devx by @tonylampada in https://github.com/roboflow/roboflow-python/pull/408 * Fixing format export for CLI/python sdk by @digaobarbosa in https://github.com/roboflow/roboflow-python/pull/407 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.2.5...v1.2.6Low8/12/2025
v1.2.5## What's Changed * Add function to debug train api by @tonylampada in https://github.com/roboflow/roboflow-python/pull/400 * Add support to search by `annotation_job` and `annotation_job_id` by @iurisilvio in https://github.com/roboflow/roboflow-python/pull/406 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.2.4...v1.2.5Low8/11/2025
v1.2.4## What's Changed * model_type parameter by @digaobarbosa in https://github.com/roboflow/roboflow-python/pull/401 * version update to 1.2.4 by @digaobarbosa in https://github.com/roboflow/roboflow-python/pull/405 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.2.3...v1.2.4Low8/11/2025
v1.2.3## What's Changed * Increase supported model types by @probicheaux in https://github.com/roboflow/roboflow-python/pull/397 * Replace pillow-heif with pi-heif by @iurisilvio in https://github.com/roboflow/roboflow-python/pull/399 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.2.1...v1.2.3Low7/27/2025
v1.2.2Add the ability to upload new rf-detr sizes (small, medium, nano)Low7/23/2025
v1.2.1## What's Changed * Support YAML dict labelmaps by @ford-downer-robo in https://github.com/roboflow/roboflow-python/pull/395 ## New Contributors * @ford-downer-robo made their first contribution in https://github.com/roboflow/roboflow-python/pull/395 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.2.0...v1.2.1Low7/9/2025
v1.2.0## What's Changed * Use `pillow-avif-plugin` for AVIF support and support `pillow-heif` 1.0 by @iurisilvio in https://github.com/roboflow/roboflow-python/pull/392 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.67...v1.2.0Low7/1/2025
v1.1.67## What's Changed * Fix #390: Lock `pillow-hief` version to not break AVIF support by @MuhammadHadiofficial in https://github.com/roboflow/roboflow-python/pull/391 ## New Contributors * @MuhammadHadiofficial made their first contribution in https://github.com/roboflow/roboflow-python/pull/391 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.66...v1.1.67Low6/30/2025
v1.1.66## What's Changed * chore(pre_commit): ⬆ pre_commit autoupdate by @pre-commit-ci in https://github.com/roboflow/roboflow-python/pull/324 * Fix mutable default arguments by @tonylampada in https://github.com/roboflow/roboflow-python/pull/385 * fix: allow model.predict to handle numpy array inputs by @Anirudh2112 in https://github.com/roboflow/roboflow-python/pull/350 * Add methods for retrieving batches for a project by @shntu in https://github.com/roboflow/roboflow-python/pull/368 * multilaLow6/6/2025
v1.1.65## What's Changed * Upgrade devcontainer by @tonylampada in https://github.com/roboflow/roboflow-python/pull/382 * upload classification project with the CLI by @tonylampada in https://github.com/roboflow/roboflow-python/pull/383 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.64...v1.1.65Low5/30/2025
v1.1.64## What's Changed * Enhance error handling in model deployment URL retrieval by @lrosemberg in https://github.com/roboflow/roboflow-python/pull/379 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.63...v1.1.64Low5/14/2025
v1.1.63## What's Changed * Adds support for yolov7 model upload by @lrosemberg in https://github.com/roboflow/roboflow-python/pull/375 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.62...v1.1.63Low4/29/2025
v1.1.62## What's Changed * Normalize Windows style paths to parse folder by @iurisilvio in https://github.com/roboflow/roboflow-python/pull/376 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.61...v1.1.62Low4/28/2025
v1.1.61## What's Changed * Publish mkdocs in gh-pages when a new release is created by @lrosemberg in https://github.com/roboflow/roboflow-python/pull/373 * upload rfdetr by @tonylampada in https://github.com/roboflow/roboflow-python/pull/369 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.60...v1.1.61Low4/11/2025
v1.1.60## What's Changed * Fix handling of invalid annotation descriptions and add tests to dataset uploads by @shantanubala in https://github.com/roboflow/roboflow-python/pull/367 * dedicated deployment: add pause resume by @PacificDou in https://github.com/roboflow/roboflow-python/pull/371 * Extract the YOLOv12 state_dict before upload by @lrosemberg in https://github.com/roboflow/roboflow-python/pull/370 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.58...v1.1.6Low4/3/2025
v1.1.58## What's Changed * Support for more image types on upload by @joaomarcoscrs in https://github.com/roboflow/roboflow-python/pull/366 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.57...v1.1.58Low3/13/2025
v1.1.57## What's Changed * Adds support for YOLOv12 model upload by @lrosemberg in https://github.com/roboflow/roboflow-python/pull/361 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.56...v1.1.57Low3/12/2025
v1.1.56## What's Changed * Add a project method for creating annotation jobs by @shantanubala in https://github.com/roboflow/roboflow-python/pull/363 * Fix number of returns by @probicheaux in https://github.com/roboflow/roboflow-python/pull/364 ## New Contributors * @shantanubala made their first contribution in https://github.com/roboflow/roboflow-python/pull/363 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.55...v1.1.56Low3/11/2025
v1.1.55## What's Changed * Check that responsejson is instance of dict by @stellasphere in https://github.com/roboflow/roboflow-python/pull/342 * Fix retry arg and improve retry strategy by @iurisilvio in https://github.com/roboflow/roboflow-python/pull/362 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/1.1.54...v1.1.55Low3/10/2025
1.1.54## What's Changed * Add support for the Image Details endpoint by @stellasphere in https://github.com/roboflow/roboflow-python/pull/344 * fix `download_dataset` does not respect `ROBOFLOW_API_KEY` by @SkalskiP in https://github.com/roboflow/roboflow-python/pull/359 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/1.1.53...1.1.54Low2/12/2025
1.1.53## What's Changed * Model processor by @lrosemberg in https://github.com/roboflow/roboflow-python/pull/355 * Versionless model deploy/upload by @lrosemberg in https://github.com/roboflow/roboflow-python/pull/356 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.51...1.1.53Low1/31/2025
v1.1.51-new## What's Changed * bump version by @SolomonLake in https://github.com/roboflow/roboflow-python/pull/353 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.51...v1.1.51-newLow1/17/2025
v1.1.51## What's Changed * Only stretch image to resize if format is Stretch by @SolomonLake in https://github.com/roboflow/roboflow-python/pull/352 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.50...v1.1.51Low1/17/2025
v1.1.50## What's Changed * PaliGemma2 model upload support by @lrosemberg in https://github.com/roboflow/roboflow-python/pull/347 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.48...v1.1.50Low12/13/2024
v1.1.49## What's Changed * Add log support for dedicated deployment by @PacificDou in https://github.com/roboflow/roboflow-python/pull/335 * Allow null "updated" or "created" timestamps by @stellasphere in https://github.com/roboflow/roboflow-python/pull/338 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.48...v1.1.49Low11/5/2024
v1.1.48## What's Changed * Bump package version by @SolomonLake in https://github.com/roboflow/roboflow-python/pull/331 * fix_assert_model_version by @venkatram-dev in https://github.com/roboflow/roboflow-python/pull/325 * bugfix - downloading yolov8 files incorrectly amends data.yaml by @tonylampada in https://github.com/roboflow/roboflow-python/pull/334 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.47...v1.1.48Low10/15/2024
v1.1.47-new## What's Changed * Fix check for has_model for model upload by @SolomonLake in https://github.com/roboflow/roboflow-python/pull/330 * Bump package version by @SolomonLake in https://github.com/roboflow/roboflow-python/pull/331 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.46...v1.1.47-newLow10/2/2024
v1.1.46## What's Changed * fix_box_loss_error by @venkatram-dev in https://github.com/roboflow/roboflow-python/pull/313 * Bump mypy by @iurisilvio in https://github.com/roboflow/roboflow-python/pull/327 * Add yolov11 model deploy support by @SolomonLake in https://github.com/roboflow/roboflow-python/pull/329 ## New Contributors * @venkatram-dev made their first contribution in https://github.com/roboflow/roboflow-python/pull/313 **Full Changelog**: https://github.com/roboflow/roboflow-python/Low10/2/2024
v1.1.45## What's Changed * chore(pre_commit): ⬆ pre_commit autoupdate by @pre-commit-ci in https://github.com/roboflow/roboflow-python/pull/310 * Import paligemma format into text-image-pairs project by @tonylampada in https://github.com/roboflow/roboflow-python/pull/323 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.44...v1.1.45Low9/16/2024
v1.1.44## What's Changed * Feat: Multi-label support by @balthazur in https://github.com/roboflow/roboflow-python/pull/320 ## New Contributors * @balthazur made their first contribution in https://github.com/roboflow/roboflow-python/pull/320 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.43...v1.1.44Low8/28/2024
v1.1.43## What's Changed * Fix yolov10 version deploy by @grzegorz-roboflow in https://github.com/roboflow/roboflow-python/pull/319 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.42...v1.1.43Low8/26/2024
v1.1.42## What's Changed * poll video inference job fix by @PacificDou in https://github.com/roboflow/roboflow-python/pull/317Low8/23/2024
v1.1.41## What's Changed * Refactoring dataset upload by @lrosemberg in https://github.com/roboflow/roboflow-python/pull/312 * Dedicated deployment: update args; add roboflow --version and whoami by @PacificDou in https://github.com/roboflow/roboflow-python/pull/315 ## New Contributors * @lrosemberg made their first contribution in https://github.com/roboflow/roboflow-python/pull/312 **Full Changelog**: https://github.com/roboflow/roboflow-python/compare/v1.1.40...v1.1.41Low8/22/2024
v1.1.40## What's Changed * change domain name for dedicated deployment by @PacificDou in https://github.com/roboflow/roboflow-python/pull/307 * fix: raise UploadErrors for images and annotations by @caiquejjx in https://github.com/roboflow/roboflow-python/pull/266 * chore(pre_commit): ⬆ pre_commit autoupdate by @pre-commit-ci in https://github.com/roboflow/roboflow-python/pull/306 * Add args for dedicated deployment: duration, deletion_on_expiration by @PacificDou in https://github.com/roboflow/robLow8/16/2024
v1.1.39## What's Changed * ensure fps limit of 120 is enforced by @ryanjball in https://github.com/roboflow/roboflow-python/pull/299 Low8/13/2024
v1.1.38 ## What's Changed * chore(pre_commit): ⬆ pre_commit autoupdate by @pre-commit-ci in https://github.com/roboflow/roboflow-python/pull/300 * add cli interface for dedicated deployment by @PacificDou in https://github.com/roboflow/roboflow-python/pull/301 * Change args for roboflow deployment by @PacificDou in https://github.com/roboflow/roboflow-python/pull/305 * chardet is not required for anything by @tonylampada in https://github.com/roboflow/roboflow-python/pull/304 ## New ContributorLow8/13/2024
v1.1.37## What's Changed * Active Learning - Ability to change inference server path. by @reedajohns in https://github.com/roboflow/roboflow-python/pull/290 * Warn users about correct model type string for hf uploads by @probicheaux in https://github.com/roboflow/roboflow-python/pull/286 * Ban module level imports for `cv2`, `matplotlib` and `numpy` by @iurisilvio in https://github.com/roboflow/roboflow-python/pull/292 * bugfix: login breaks if ~/.config doesn't exist by @tonylampada in https://gitLow7/29/2024
v1.1.36## What's Changed - remove precedence loading api key from env variable / config when initializing api key https://github.com/roboflow/roboflow-python/pull/289 by @ryanjball Low7/17/2024

Dependencies & License Audit

Loading dependencies...

Similar Packages

azure-coreMicrosoft Azure Core Library for Pythonazure-template_0.1.0b6187637
azure-mgmt-coreMicrosoft Azure Management Core Library for Pythonazure-template_0.1.0b6187637
azure-monitor-opentelemetry-exporterMicrosoft Azure Monitor Opentelemetry Exporter Client Library for Pythonazure-template_0.1.0b6187637
azure-servicebusMicrosoft Azure Service Bus Client Library for Pythonazure-template_0.1.0b6187637
azure-monitor-opentelemetryMicrosoft Azure Monitor Opentelemetry Distro Client Library for Pythonazure-template_0.1.0b6187637