FiftyOne is an open-source tool for building high-quality datasets and computer vision models. It enables users to visualize datasets, analyze models, and improve data quality more efficiently. The library is currently at version 1.14.1 and maintains a rapid release cadence with frequent minor updates.
pip install fiftyoneVerified import paths — ran on the pinned version, not inferred.
This quickstart downloads a sample dataset from the FiftyOne Dataset Zoo and launches the interactive FiftyOne App to visualize and explore the data. If running in a script, `session.wait()` is necessary to keep the App open until manually closed.
Always run `fiftyone migrate` (for open-source) or the Enterprise migration tool (for Enterprise) BEFORE installing an older version of FiftyOne to perform any necessary downward database migrations. If an error occurs, reinstall the newer version and then follow the migration instructions.
To make a dataset persistent, set `dataset.persistent = True` before exiting the session. You can also explicitly manage non-persistent datasets using `fo.core.delete_non_persistent_datasets()`.
After modifying a `Sample` object, you must call `sample.save()`. Similarly, after editing fields like `dataset.info` or `dataset.classes`, you must call `dataset.save()` for the changes to persist.
Upgrade to Python 3.10, 3.11, or 3.12. FiftyOne releases after June 1, 2026, might no longer be compatible with Python 3.9.
Ensure your MongoDB instance is at a supported version. FiftyOne releases after December 1, 2025, might no longer be compatible with MongoDB 6.0.
Ensure FiftyOne is installed (`pip install fiftyone`) and that there is no `fiftyone.py` file or `fiftyone` directory in your current working directory that could be shadowing the installed library. Also, verify your virtual environment is activated if you are using one.
Upgrade your pip (`pip install --upgrade pip setuptools wheel`) and ensure you are using a supported Python version (3.9 - 3.12 for FiftyOne 1.14.1) in a compatible environment.
For scripts, use `session.wait()` after `fo.launch_app()` to keep the Python process alive until the App is closed. On Windows, wrap your code in a `if __name__ == '__main__':` block. Check if port 5151 is in use or if there are MongoDB connection issues, and ensure FFmpeg is installed for video datasets.
Ensure FiftyOne is fully and correctly installed, especially if installing from source, and restart your Python environment. You may need to reinstall FiftyOne (`pip install --upgrade fiftyone --no-cache-dir`) to resolve potential caching issues with a partial installation.
Ensure both your Python client and the FiftyOne App/service are running the same version. This often requires restarting your Python kernel and any FiftyOne App instances after upgrading or downgrading the library. You may need to clear Python package caches during reinstall.