Hi❗
ActiveTigger1 is a collaborative text annotation web tool dedicated to computational social sciences. It is designed to assist exploration and model (BERT) fine-tuning to classify text dataset relying on active learning.
Designed primarily by researchers in social sciences, its use can extend to all users that need to annotate textual data.
Important
The app is currently 🚧 in beta test 🚧. The stable version is planned for August 2025.
Presentation of ActiveTigger 🇫🇷
If you don't already have it installed, install docker/docker compose first.
Clone the current repository.
git clone https://github.com/emilienschultz/activetigger.gitFavor the production branch.
cd activetigger
git checkout productionThen, you can run the app with docker compose. You need to be in the docker directory.
cd docker
docker compose -f docker-compose.yml -f docker-compose.dev.yml -p activetigger upThe configuration file is ./docker/.env to set the environment variables. If you want to change the default root password you need to modify it.
Docker will start:
- Postgresql
- Python API (and install all requirements)
- frontend
- a reverse proxy with Nginx
By default the docker stack is in mode DEV. This means that both API and FRONTEND are started using the local code in watch mode. You can update the code the service will be restarted. You can therefor use docker for development.
Important
If you want to use a GPU inside docker locally you need to first follow the NVIDIA GPU section from the deploy documentation.
The app is built on a client/API/Database architecture :
- the server runs an API with FastAPI
- the client is in React
- The database can be either SQLite or Postgresql (if you use Postgresql, you need to install it first). For local non-docker installation, it is recommended to use SQLite.
First, clone the repository
git clone https://github.com/emilienschultz/activetigger.gitCreate a virtual environnement with Python 3.11, for instance with Anaconda/Miniconda (documentation here for Ubuntu)
conda create -n activetigger python=3.11
conda activate activetiggerInstall requirements
pip install -r activetigger/api/requirements.txtAdd a specific config.yaml file in the api directory if you want to specify the path of the static files and database (you can modify and rename the config.yaml.sample or use the default config):
path: path to store files (for instance./data)path_models: path to store the models (for instance./data/models)
Launch the server (on 0.0.0.0 port 5000 by default, you can configure exposed port if needed with -p PORTNUM).
cd activetigger/api
python -m activetiggerCheck that the API is running by going to http://localhost:5000 in your browser.
To enable GPU support, install Rapids Cuml. For instance, for CUDA 12
pip install --extra-index-url https://pypi.nvidia.com cuml-cu12On Ubuntu, you need to install some drivers for the postgresql database and the python package psycopg2.
sudo apt-get install libpq-devThe requirements contain the clone of the repository.
The frontend is written in React/Typescript. To run the dev version and to build the app, you need first to install node.js and npm (version > 20).
For linux :
sudo apt-get install nodejs npmFor mac, you can install brew https://brew.sh/ and
brew install nodeThen you can install the npm packages
cd frontend
npm iYou can then run the dev version
npm run devIf you run the backend on a different port, mind the fact that you need to change the address in the frontend/.env file to set the correct port.
To compile
npm run compileTo build
npm run buildYou can deploy the app with Github Pages for tests
A python client is under development to interact with the API https://github.com/emilienschultz/activetigger-client
The documentation is here
Something in the code looks ugly ? Do you miss a feature? Please add your knowledge to the common effort.
- Create a fork
- Create your feature branch:
git checkout -b my-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request 🚀
The development of Active Tigger is supported by : DRARI Île-de-France ECODEC Progedo
Boelaert J., Ollion É., Schultz É. (2025). ActiveTigger (Version 0.9.0) [Computer software]. https://github.com/emilienschultz/activetigger
Footnotes
-
The current version is a refactor of R Shiny ActiveTigger app (Julien Boelaert & Etienne Ollion). Active Tigger name is a pun that draws on the similarity between the words 'Tagger' and 'Tigger.' ↩