FiftyOne DB is the underlying database backend component for the FiftyOne computer vision framework, storing metadata about datasets and samples. It primarily relies on MongoDB. The current PyPI version is 1.4.1. While `fiftyone-db` is a specific PyPI package, it acts as an internal dependency for the main `fiftyone` library, which has a rapid release cadence (e.g., currently at `1.14.x`). Users typically interact with the database layer through the `fiftyone` package itself.
pip install fiftyone-dbVerified import paths — ran on the pinned version, not inferred.
The `fiftyone-db` package is an internal component. User interaction typically happens through the main `fiftyone` library. This quickstart demonstrates loading a dataset and launching the FiftyOne App, which utilizes `fiftyone-db` under the hood.
Ensure MongoDB (version 6.0+ recommended) is installed and running, and accessible by the FiftyOne client. For custom MongoDB, set `FIFTYONE_DATABASE_URI` or `database_uri` in `~/.fiftyone/config.json`.
Always check release notes for migration instructions when upgrading or downgrading. For downgrades, use `fiftyone migrate --all -v <VERSION>` before changing the `fiftyone` package version.
Use `dataset.persistent = True` or `dataset.save()` to mark a dataset as persistent, or when creating, pass `persistent=True` to `fo.Dataset()`.
Increase the open file limit by running `ulimit -n 64000` in your shell before starting FiftyOne.
Upgrade to MongoDB v6.0 or later. For Python, ensure you are using Python 3.10-3.12 (as of current FiftyOne versions) and plan for Python 3.9 deprecation.
Ensure MongoDB is installed and running. If using a custom MongoDB, verify the `FIFTYONE_DATABASE_URI` environment variable or `database_uri` in your FiftyOne config is correct. Check for other processes using port 27017 (default MongoDB port).
Install `psutil` in your active virtual environment: `pip install psutil`. On Debian-based Linux, `python3-dev` might also be needed: `sudo apt install python3-dev`.
Verify the dataset name using `fo.list_datasets()`. If the dataset was non-persistent, re-import it from its source files. If it was meant to be persistent, ensure it was saved with `dataset.persistent = True`.
Install IPython directly into your active virtual environment: `pip install ipython`.