The open platform for image labeling
Try it now »
Explore docs
·
Report Bug
·
Request Feature
·
Join the Community
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
- NodeJS: Javascript runtime for development and production on docker
- 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:
You can use our hosted version now for free, at labeflow.ai.
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) 📦
-
Clone the repository on your machine using
git clone https://github.com/labelflow/labelflow.git
-
Go into the labelflow folder
cd labelflow
-
Install dependencies using yarn
yarn install
-
Build the web app
yarn build:web
-
Start the web server
yarn start:web
-
Open your browser and visit http://localhost:3000.
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:
-
an
.env.local
file at the root of the repo and make a copy of it inside the folderstypescript/db
,typescript/infrastructure
andtypescript/db
. We recommend doing symlinks between the files to avoid having to copy/paste again each file when modifying it -
an
.env.production
file that will be a copy of.env.development
but 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/
LabelFlow sources are entirely available on Github, and LabelFlow is primarily distributed under the terms of the Business Source License (BSL), like our friends at MariaDB, Sentry and CockroachDB.
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