Install from source
Source installations
Follow the instructions below to install FiftyOne from source and build the
App.
You'll need the following tools installed:
- Python (3.9 - 3.12)
- Node.js - on Linux, we recommend using
nvm to install an up-to-date version.
- Yarn - once Node.js is installed, you can
enable Yarn via
corepack enable
We strongly recommend that you install FiftyOne in a
virtual environment
to maintain a clean workspace.
If you are working in Google Colab,
skip to here.
First, clone the repository:
git clone https://github.com/voxel51/fiftyone
cd fiftyone
Then run the install script:
# Mac or Linux
./install.sh
# Windows
.\install.bat
If you run into issues importing FiftyOne, you may need to add the path to the
cloned repository to your PYTHONPATH:
export PYTHONPATH=$PYTHONPATH:/path/to/fiftyone
Note that the install script adds to your nvm settings in your ~/.bashrc or
~/.bash_profile, which is needed for installing and building the App.
Upgrading your source installation
To upgrade an existing source installation to the bleeding edge, simply pull
the latest develop branch and rerun the install script:
git checkout develop
git pull
# Mac or Linux
bash install.bash
# Windows
.\install.bat
Rebuilding the App
When you pull in new changes to the App, you will need to rebuild it, which you
can do either by rerunning the install script or just running yarn build in
the ./app directory.
Developer installation
If you would like to
contribute to FiftyOne,
you should perform a developer installation using the -d flag of the install
script:
# Mac or Linux
bash install.bash -d
# Windows
.\install.bat -d
Although not required, developers typically prefer to configure their FiftyOne
installation to connect to a self-installed and managed instance of MongoDB,
which you can do by following
these simple steps.
Source installs in Google Colab
You can install from source in
Google Colab by running the following in a
cell and then restarting the runtime:
%%shell
git clone --depth 1 https://github.com/voxel51/fiftyone.git
cd fiftyone
# Mac or Linux
bash install.bash
# Windows
.\install.bat
Generating documentation
See the
docs guide
for information on building and contributing to the documentation.
Uninstallation
You can uninstall FiftyOne as follows:
pip uninstall fiftyone fiftyone-brain fiftyone-db
Prerequisites for beginners
System-specific setup
Follow the instructions for your operating system or environment to perform
basic system setup before installing FiftyOne.
If you're an experienced developer, you've likely already done this.
Linux
1. Install Python and other dependencies
These steps work on a clean install of Ubuntu Desktop 24.04, and should also
work on Ubuntu 24.04 and 22.04, and on Ubuntu Server:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-venv python3-dev build-essential git-all libgl1-mesa-dev
- On Linux, you will need at least the
openssl and libcurl packages
- On Debian-based distributions, you will need to install
libcurl4 or
libcurl3 instead of libcurl, depending on the age of your distribution
# Ubuntu
sudo apt install libcurl4 openssl
# Fedora
sudo dnf install libcurl openssl
2. Create and activate a virtual environment
python3 -m venv fiftyone_env
source fiftyone_env/bin/activate
3. Install FFmpeg (optional)
If you plan to work with video datasets, you'll need to install
FFmpeg:
sudo apt-get install ffmpeg
MacOS
1. Install Xcode Command Line Tools
xcode-select --install
2. Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
After running the above command, follow the instructions in your terminal to
complete the Homebrew installation.
3. Install Python
brew install python@3.9
brew install protobuf
4. Create and activate a virtual environment
python3 -m venv fiftyone_env
source fiftyone_env/bin/activate
5. Install FFmpeg (optional)
If you plan to work with video datasets, you'll need to install
FFmpeg:
brew install ffmpeg
Windows
1. Install Python
⚠️ The version of Python that is available in the Microsoft Store is not
recommended ⚠️
Download a Python 3.9 - 3.12 installer from
python.org. Make sure to pick a 64-bit
version. For example, this
Python 3.10.11 installer.
Double-click on the installer to run it, and follow the steps in the installer.
- Check the box to add Python to your
PATH
- At the end of the installer, there is an option to disable the
PATH
length limit. It is recommended to click this
2. Install Microsoft Visual C++
Download
Microsoft Visual C++ Redistributable.
Double-click on the installer to run it, and follow the steps in the installer.
3. Install Git
Download Git from this link. Double-click
on the installer to run it, and follow the steps in the installer.
4. Create and activate a virtual environment
- Press
Win + R. type cmd, and press Enter. Alternatively, search
Command Prompt in the Start Menu.
- Navigate to your project.
cd C:\path\to\your\project
- Create the environment
python -m venv fiftyone_env
- Activate the environment typing this in the command line window
fiftyone_env\Scripts\activate
- After activation, your command prompt should change and show the name of
the virtual environment
(fiftyone_env) C:\path\to\your\project
5. Install FFmpeg (optional)
If you plan to work with video datasets, you'll need to install
FFmpeg.
Download an FFmpeg binary from here. Add
FFmpeg's path (e.g., C:\ffmpeg\bin) to your PATH environmental variable.
Docker
Refer to
these instructions
to see how to build and run Docker images containing release or source builds
of FiftyOne.
quickstart 🚀
Dive right into FiftyOne by opening a Python shell and running the snippet
below, which downloads a
small dataset
and launches the
FiftyOne App so you
can explore it:
import fiftyone as fo
import fiftyone.zoo as foz
dataset = foz.load_zoo_dataset("quickstart")
session = fo.launch_app(dataset)
Then check out
this Colab notebook
to see some common workflows on the quickstart dataset.
Note that if you are running the above code in a script, you must include
session.wait() to block execution until you close the App. See
this page
for more information.
key features 🔑
https://github.com/user-attachments/assets/9dc2db88-967d-43fa-bda0-85e4d5ab6a7a
https://github.com/user-attachments/assets/246faeb7-dcab-4e01-9357-e50f6b106da7
https://github.com/user-attachments/assets/8c32d6c4-51e7-4fea-9a3c-2ffd9690f5d6
https://github.com/user-attachments/assets/24fa1960-c2dd-46ae-ae5f-d58b3b84cfe4
- Rich Integrations:
Works with popular deep learning libraries like PyTorch, Hugging Face,
Ultralytics, and more.
https://github.com/user-attachments/assets/de5f25e1-a967-4362-9e04-616449e745e5
https://github.com/user-attachments/assets/c7ed496d-0cf7-45d6-9853-e349f1abd6f8
documentation 🪪
Check out these resources to get up and running with FiftyOne:
Full documentation is available at fiftyone.ai.
additional resources 🚁
FiftyOne Enterprise 🏎️
Want to securely collaborate on billions of samples in the cloud and connect to
your compute resources to automate your workflows? Check out
FiftyOne Enterprise.
faq & troubleshooting ⛓️💥
Refer to our
common issues
page to troubleshoot installation issues. If you're still stuck, check our
frequently asked questions page for
more answers.
If you encounter an issue that the above resources don't help you resolve, feel
free to open an issue on GitHub
or contact us on Discord.
contributors 🧡
FiftyOne and FiftyOne Brain are
open source and community contributions are welcome! Check out the
contribution guide
to learn how to get involved.
Special thanks to these amazing people for contributing to FiftyOne!
citation 📖
If you use FiftyOne in your research, feel free to cite the project (but only
if you love it 😊):
@article{moore2020fiftyone,
title={FiftyOne},
author={Moore, B. E. and Corso, J. J.},
journal={GitHub. Note: https://github.com/voxel51/fiftyone},
year={2020}
}