π Environment Setup Guide
This guide covers setting up your development environment for SuperOptiX, including Python environments, virtual environments, and best practices for different operating systems.
π― Overview
A properly configured environment is crucial for SuperOptiX development. This guide covers:
- π Python Setup: Installing and configuring Python
- π§ Virtual Environments: Isolating project dependencies
- π¦ Package Management: Using pip, uv, conda, and poetry
- π οΈ Development Tools: IDE setup and debugging tools
π Python Setup
Python Version Requirements
SuperOptiX requires Python 3.11+ (3.12 recommended):
Bash
# Check your Python version
python --version
# or
python3 --version
# Should show Python 3.11.x or 3.12.x
Installing Python
Bash
# Install pyenv
curl https://pyenv.run | bash
# Add to shell profile (.bashrc, .zshrc, etc.)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
# Install Python 3.12
pyenv install 3.12.0
pyenv global 3.12.0
π§ Virtual Environments
Why Virtual Environments?
Virtual environments isolate project dependencies, preventing conflicts between different projects:
- Isolation: Each project has its own Python packages
- Reproducibility: Exact dependency versions for consistent builds
- Clean Development: No system-wide package pollution
- Easy Cleanup: Remove entire environment when done
Bash
# Install Miniconda (lightweight)
# Download from https://docs.conda.io/en/latest/miniconda.html
# Create a new conda environment
conda create -n superoptix python=3.12
# Activate the environment
conda activate superoptix
# Install SuperOptiX
pip install superoptix
# Deactivate when done
conda deactivate
π¦ Package Management
π οΈ Development Tools
IDE Setup
Bash
# Install VS Code extensions
code --install-extension ms-python.python
code --install-extension charliermarsh.ruff
code --install-extension ms-python.pylint
VS Code Settings (settings.json
):
JSON
{
"python.defaultInterpreterPath": "./superoptix-env/bin/python",
"python.formatting.provider": "ruff",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.linting.ruffEnabled": true,
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
}
Code Quality Tools
Ruff (Code Formatting & Linting)
Ruff is an extremely fast Python linter and formatter written in Rust:
Bash
# Install Ruff
pip install ruff
# Format code
ruff format .
# Lint code
ruff check .
# Fix issues automatically
ruff check --fix .
# Check formatting
ruff format --check .
Ruff Configuration (.ruff.toml
):
TOML
# Target Python version
target-version = "py312"
# Line length
line-length = 88
# Enable all rules
select = ["ALL"]
# Ignore specific rules
ignore = [
"E501", # Line too long
"D100", # Missing docstring in public module
"D104", # Missing docstring in public package
]
# Format settings
[format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"
Pre-commit Hooks
Bash
# Install pre-commit
pip install pre-commit
# Create .pre-commit-config.yaml
cat > .pre-commit-config.yaml << EOF
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.1.6
hooks:
- id: ruff
args: [--fix]
- id: ruff-format
EOF
# Install hooks
pre-commit install
π§ Environment Variables
Setting Environment Variables
Bash
# Create .env file
cat > .env << EOF
OPENAI_API_KEY=your-api-key
ANTHROPIC_API_KEY=your-api-key
GOOGLE_API_KEY=your-api-key
AZURE_OPENAI_API_KEY=your-azure-key
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
EOF
# Load with python-dotenv
pip install python-dotenv
# In your Python code
from dotenv import load_dotenv
load_dotenv()
π§ͺ Testing Your Environment
Environment Validation
Bash
# Test Python installation
python --version
pip --version
# Test SuperOptiX installation
super --version
# Test basic functionality
python -c "
from superoptix import SuperOptiX
print('SuperOptiX imported successfully!')
"
Dependency Check
Bash
# Check installed packages
pip list | grep superoptix
# Check for conflicts
pip check
# Verify environment isolation
which python
which pip
π¨ Troubleshooting
Common Issues
Performance Optimization
π Next Steps
Now that your environment is set up:
- Install SuperOptiX following the Installation Guide
- Configure LLMs with the LLM Setup Guide
- Create your first agent with the Quick Start Guide
- Learn project structure with the Project Structure Guide