Prerequisites
-
Python Environment
# Create virtual environment
python -m venv blast-venv
source blast-venv/bin/activate # Linux/macOS
# or
blast-venv\Scripts\activate # Windows
-
Node.js and npm (for web UI)
- Install from nodejs.org
- Required for web frontend development
-
Browser Requirements
# Install browser dependencies
python -m playwright install chromium
Installation
-
Clone Repository
git clone https://github.com/stanford-mast/blast.git
cd blast
-
Install Dependencies
# Install Python dependencies
pip install -e ".[dev]"
# Install frontend dependencies
cd blastai/frontend
npm install
Development Server
Just run blastai serve
.
Configuration
Create a development config file:
# dev_config.yaml
settings:
persist_cache: false # Disable cache persistence on disk (also use "no-cache" to disable in memory)
blastai_log_level: "debug"
browser_use_log_level: "debug"
constraints:
max_concurrent_browsers: 2
allow_parallelism:
task: true
data: true
Testing
# Run all tests (probably don't since our test suite needs to be distilled a bit)
pytest
# Run specific test file
pytest tests/test_engine.py
# Run with coverage
pytest --cov=blastai
Debugging
-
Backend Debugging
settings:
persist_cache: false
blastai_log_level: "debug"
browser_use_log_level: "debug"
-
Frontend Debugging
- Use browser dev tools
- Check browser console
- Monitor network requests
-
Browser Debugging
# Enable browser debugging
constraints = Constraints(require_headless=False)
Documentation
Go to the GitHub repo for docs.
Next Steps