Baselinr Installation Guide
Prerequisites
Before installing Baselinr, ensure you have:
-
Python 3.10 or higher
python --version # Should be 3.10+ -
pip (Python package manager)
pip --version -
Docker and Docker Compose (optional, for development environment)
docker --version
docker-compose --version
Installation Options
Option 1: Basic Installation (PostgreSQL Only)
For profiling PostgreSQL databases:
cd profile_mesh
pip install -e .
This installs:
- Core Baselinr
- PostgreSQL support
- SQLite support
- Configuration management
- CLI interface
Option 2: With Dagster Orchestration
For Dagster integration:
pip install -e ".[dagster]"
Adds:
- Dagster asset factory
- Job scheduling
- Web UI
- Event emission
Option 3: With Snowflake Support
For Snowflake data warehouses:
pip install -e ".[snowflake]"
Adds:
- Snowflake connector
- Snowflake-specific optimizations
Option 4: Full Installation (Recommended for Development)
Install everything:
pip install -e ".[all,dev]"
Includes:
- All database connectors
- Dagster integration
- Development tools (pytest, black, mypy)
- Full feature set
Verify Installation
After installation, verify Baselinr is working:
# Check CLI is available
baselinr --help
# Check Python import
python -c "from baselinr import __version__; print(__version__)"
You should see:
Baselinr - Data profiling and drift detection
...
Post-Installation Setup
1. Set Up Development Database (Optional)
Start the Docker environment with PostgreSQL and Dagster:
cd profile_mesh
make docker-up
Wait about 30 seconds for initialization, then verify:
# Check PostgreSQL
docker exec -it baselinr_postgres psql -U baselinr -d baselinr -c "\dt"
# Check Dagster UI
# Open http://localhost:3000 in your browser
2. Create Configuration
Copy the example configuration:
cp examples/config.yml my_config.yml
Edit my_config.yml with your database credentials:
source:
type: postgres # or snowflake, sqlite
host: your-database-host
port: 5432
database: your-database
username: your-username
password: your-password
3. Run First Profile
baselinr profile --config my_config.yml
Troubleshooting
"Command not found: baselinr"
The CLI wasn't installed correctly. Try:
pip install --force-reinstall -e .
Or use the Python module directly:
python -m baselinr.cli profile --config config.yml
"ModuleNotFoundError: No module named 'baselinr'"
The package isn't in your Python path. Make sure you're in the profile_mesh directory and run:
pip install -e .
"Connection refused" with Docker
Docker containers may not be ready:
# Check container status
docker ps
# View logs
cd docker && docker-compose logs postgres
# Restart containers
make docker-down
make docker-up
"pydantic.errors.ValidationError"
Your configuration file has errors. Check:
- YAML syntax (indentation)
- Required fields are present
- Database type is valid (postgres, snowflake, sqlite)
Run with debug logging:
python -c "
import logging
logging.basicConfig(level=logging.DEBUG)
from baselinr.config.loader import ConfigLoader
ConfigLoader.load_from_file('my_config.yml')
"
Snowflake Connection Issues
Make sure you have the Snowflake connector installed:
pip install -e ".[snowflake]"
Verify your Snowflake config includes:
- account
- warehouse
- role (optional but recommended)
Permission Errors (Windows)
If you get permission errors installing:
# Run PowerShell as Administrator, or use --user flag
pip install --user -e .
Environment Variables
Baselinr supports environment variable overrides:
# Set environment-specific values
export BASELINR_SOURCE__HOST=prod-server.example.com
export BASELINR_SOURCE__PASSWORD=secret_password
export BASELINR_ENVIRONMENT=production
# Run with overrides
baselinr profile --config config.yml
Upgrading
To upgrade to a newer version:
cd profile_mesh
git pull # If using git
pip install --upgrade -e ".[all]"
Uninstalling
To remove Baselinr:
pip uninstall baselinr
# Also remove Docker environment if you set it up
cd docker
docker-compose down -v # -v removes volumes
Next Steps
After successful installation:
- Read QUICKSTART.md for a guided tutorial
- Run the quickstart example:
python examples/quickstart.py - Check the README.md for full documentation
- Explore Dagster integration at http://localhost:3000 (if using Docker)
Getting Help
If you encounter issues:
- Check this troubleshooting section
- Review the error message carefully
- Check Docker logs:
docker-compose logs - Verify your configuration file
- Try the SQLite example first (no external database needed)
System Requirements
Minimum
- Python 3.10+
- 100 MB disk space
- 512 MB RAM
Recommended
- Python 3.11+
- 500 MB disk space (with Docker images)
- 2 GB RAM (for Dagster)
- Docker Desktop (for development)
Platform Support
Baselinr is tested on:
- ✅ Linux (Ubuntu 20.04+)
- ✅ macOS (11+)
- ✅ Windows 10/11 (with WSL2 recommended for Docker)
Related Documentation
- Quick Start Guide - Get started in 5 minutes
- Configuration Reference - Complete configuration options
- Troubleshooting Guide - Common installation issues
- Python SDK Guide - SDK usage guide
- Best Practices Guide - Installation best practices
For more information, see:
- README.md - Main documentation
- Complete Documentation Index - Full documentation index