Visual Data for absolutely everyone
LabelFlow is an open platform for image labeling. Its source is entirely available on this Github repository. You are in charge of your own data and workflows.
LabelBox, Roboflow, v7labs and other Image labeling tools are are awesome. They made our lives massively easier when we needed to label data. However, most tools are very limited in terms of control and customisations.
That's where LabelFlow.ai comes in. Self-hosted or hosted by us. White-label by design. API-driven and ready to be deployed on your own domain. Full control over your images and labels.
Labelflow.ai is the parent company developing LabelFlow, and commercializing a Hosted version.
You can build LabelFlow from source, and serve it from your machine. Read how to deploy it yourself.
- TypeScript: Main programming language of the web app
- ReactJS: View library of the web app
- NextJS: Web framework of the web app
- GraphQL: API, communication between client and server
- Python for the machine learning server
- PyTorch for the machine learning server
LabelFlow officially launched as v.0.1 on 7th of September, however a lot of new features are coming. Watch releases of this repository to be notified for future updates:
LabelFlow.ai hosted version
You can use our hosted version now for free, at labeflow.ai.
Serving your own LabelFlow
This guide walks you through the steps needed to run a production-ready version of LabelFlow locally.
Before continuing, please have a look at our License
You need to have below listed softwares installed on your machine to run labelflow.
✔️Git 📦 ✔️Node (v15.5.0 or above) 📦 ✔️Yarn (v1.22.4 or above) 📦
Running LabelFlow on your machine
Clone the repository on your machine using
git clone https://github.com/labelflow/labelflow.git
Go into the labelflow folder
Install dependencies using yarn
Build the web app
Start the web server
Open your browser and visit http://localhost:3000.
A note on environment variables
You can find the full list of environment variables needed for a fully featured app in the
.env.development file. As you can see this file contains variables that are secrets and that should not be committed to your repo. In order to still be able to have secrets you should create:
.env.localfile at the root of the repo and make a copy of it inside the folders
typescript/db. We recommend doing symlinks between the files to avoid having to copy/paste again each file when modifying it
.env.productionfile that will be a copy of
.env.developmentbut with the env var values set to the production ones. This file won't be committed either so you can safely store your secrets here
- The short term roadmap is on Github https://github.com/orgs/labelflow/projects/5
- The longer term feature roadmap is on Canny https://labelflow.canny.io/
As they explain very well, the BSL is the closest thing to open source that we can do without being threatened by external companies. LabelFlow source is available on this repository, you can deploy LabelFlow entirely on premises, and you can contribute to LabelFlow here!
See LICENSE for details.
- Discord Community https://discord.gg/sHtanUQA2V
- Website https://labelflow.ai/website
- Twitter https://twitter.com/labelflowai
- LinkedIn https://www.linkedin.com/company/labelflow/
- Facebook https://facebook.com/labelflow-102033695440701