You will need the following installed on your system:
- Python 3.8+
- Pip
If you would like to update the api, please follow the instructions below.
-
Create a local virtual environment and activate it:
python -m venv .venv #or py -m venv .venv source .venv/bin/activate # linux .venv\Scripts\activate # windows
-
Install the dependencies:
pip install -r requirements.txt
-
Add your environment variables. An example is provided at
.env.examplecp .env.example .env
Make sure to update the values in
.envto match your local setup. -
Format the code:
poe format_with_isort poe format_with_black
You can also run
poe formatto run both commands at once. -
Check the code quality:
poe typecheck poe pylint poe flake8
You can also run
poe lintto run all three commands at once. -
To start the local server, run:
poe init # pick python poe devThis runs
func startwith the--pythonflag.
The fill-database-fuji.py script queries the database for datasets without Fuji scores and fills them by calling the FUJI API.
📖 For detailed instructions, see RUN-FUJI-PIPELINE.md
Option 1: Docker Compose (Recommended)
# Set MINI_DATABASE_URL in .env file, then:
docker-compose up fill-database-fujiOption 2: Local Development
# Start FUJI services
docker-compose up -d
# Run the script
python fill-database-fuji.py- Queries the database for datasets where
score IS NULL - Processes datasets in batches using 30 FUJI API instances
- Calls the FUJI API in parallel across all endpoints
- Updates the database with scores and evaluation dates
- Retries failed API calls up to 3 times with exponential backoff
- Shows real-time progress with detailed statistics
See RUN-FUJI-PIPELINE.md for complete documentation, troubleshooting, and configuration options.