System Requirements
Before installing CryptoView Pro, ensure your system meets these requirements:
Python Version Python 3.8 or higher required Check your version:
Operating System
Windows 10/11
macOS 10.14+
Linux (Ubuntu 20.04+, Debian, Fedora)
Memory Minimum 4GB RAM 8GB+ recommended for large datasets
Disk Space 500MB for dependencies Additional space for data caching
Installation Steps
Install Python
If Python isn’t installed, download it from python.org .
Download the Windows installer
Important: Check “Add Python to PATH” during installation
Verify installation:
python --version
pip --version
Using Homebrew (recommended): # Install Homebrew if not already installed
/bin/bash -c "$( curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install Python
brew install [email protected]
# Verify
python3 --version
# Ubuntu/Debian
sudo apt update
sudo apt install python3 python3-pip python3-venv
# Fedora
sudo dnf install python3 python3-pip
# Verify
python3 --version
pip3 --version
Clone the Repository
Get the CryptoView Pro source code: # Using HTTPS
git clone https://github.com/your-username/cryptoview-pro.git
cd cryptoview-pro
# Or using SSH
git clone [email protected] :your-username/cryptoview-pro.git
cd cryptoview-pro
Don’t have Git? Download Git or download the repository as a ZIP file.
Create Virtual Environment
Create an isolated Python environment to avoid dependency conflicts: # Create virtual environment
python -m venv venv
# Activate it
venv\Scripts\activate
# You should see (venv) in your prompt
To deactivate later: Simply run deactivate in your terminal.
Install Dependencies
Install all required packages from requirements.txt: # Upgrade pip first (recommended)
pip install --upgrade pip
# Install all dependencies
pip install -r requirements.txt
This process takes 2-5 minutes depending on your internet connection and system. If you encounter errors during installation, see the Troubleshooting section below.
Verify Installation
Test that all critical packages are installed: python - c "import streamlit, ccxt, xgboost, prophet, plotly; print('✅ All packages installed successfully!')"
If this command runs without errors, you’re ready to go!
Dependencies Explained
Here’s what gets installed and why:
Core Dependencies
Web Framework
Exchange Integration
Data Processing
Visualization
Streamlit powers the interactive web dashboard.
Provides the UI framework
Handles real-time updates
Manages session state
Built-in caching system
Version: Latest (automatically updates) CCXT (CryptoCurrency eXchange Trading) library connects to 100+ exchanges.
Unified API for multiple exchanges
Fetches OHLCV data
Real-time price quotes
Built-in rate limiting
Supported exchanges in CryptoView Pro: from data.collectors import CryptoDataCollector
# Kraken (default)
collector = CryptoDataCollector( 'kraken' )
# Binance
collector = CryptoDataCollector( 'binance' )
# Coinbase
collector = CryptoDataCollector( 'coinbase' )
Pandas & NumPy handle all data manipulation.Pandas provides:
DataFrame structures for time series
Efficient data transformations
Rolling window calculations
Date/time handling
NumPy provides:
Fast numerical computations
Array operations
Mathematical functions
Memory-efficient storage
Plotly creates interactive charts.Features:
Candlestick charts
Real-time updates
Zoom and pan
Multiple subplots (price, RSI, MACD, volume)
Export to PNG/SVG
Machine Learning Dependencies
xgboost
scikit-learn
joblib
scipy
XGBoost is a gradient boosting framework for short-term predictions.Used for:
1-72 hour forecasts
Feature engineering pipeline
Model persistence (saving/loading)
Configuration in config/settings.py: MODELS_CONFIG = {
'xgboost' : {
'n_estimators' : 200 , # Number of trees
'learning_rate' : 0.07 , # Step size
'max_depth' : 6 , # Tree depth
'subsample' : 0.8 , # Sample ratio
'colsample_bytree' : 0.8 # Feature ratio
}
}
scikit-learn provides:
Data scaling (MinMaxScaler)
Train/test splitting
Cross-validation (TimeSeriesSplit)
Evaluation metrics (RMSE, MAE, R²)
Prophet (by Meta) handles long-term trend forecasting.Used for:
1 week to 1 month predictions
Seasonality detection
Trend changepoint detection
Confidence intervals
Configuration: MODELS_CONFIG = {
'prophet' : {
'changepoint_prior_scale' : 0.5 , # Trend flexibility
'seasonality_prior_scale' : 10 , # Seasonal strength
'seasonality_mode' : 'multiplicative' ,
'daily_seasonality' : True ,
'weekly_seasonality' : True ,
'yearly_seasonality' : False
}
}
Prophet may take longer to install due to its dependencies (pystan). This is normal.
Optional Dependencies
Telegram Alerts
Environment Variables
python-telegram-bot
requests
python-telegram-bot enables push notifications.Setup in .env file: TELEGRAM_BOT_TOKEN = your_bot_token_here
TELEGRAM_CHAT_ID = your_chat_id_here
Alert configuration: ALERT_THRESHOLDS = {
'price_change_pct' : 5.0 , # Alert on 5% moves
'rsi_overbought' : 70 , # RSI upper threshold
'rsi_oversold' : 30 , # RSI lower threshold
'volume_spike' : 2.0 # 2x average volume
}
python-dotenv loads environment variables from .env files.Example .env file: # Exchange API Keys (optional, for private endpoints)
BINANCE_API_KEY = your_api_key
BINANCE_API_SECRET = your_api_secret
# Default Settings
DEFAULT_CRYPTO = BTC/USDT
DEFAULT_TIMEFRAME = 1h
FORECAST_HOURS = 168
# Telegram Alerts
TELEGRAM_BOT_TOKEN = 123456:ABC-DEF1234ghIkl
TELEGRAM_CHAT_ID = 987654321
# Performance Tuning
AUTO_REFRESH_SECONDS = 30
CACHE_TTL = 60
DATA_LIMIT = 2000
Configuration
After installation, configure CryptoView Pro for your needs:
Basic Configuration
Edit config/settings.py to customize:
# Select cryptocurrencies to track
AVAILABLE_CRYPTOS = [
'BTC/USDT' , 'ETH/USDT' , 'SOL/USDT' , # Add or remove as needed
]
# Default settings
DEFAULT_CRYPTO = os.getenv( 'DEFAULT_CRYPTO' , 'BTC/USDT' )
DEFAULT_TIMEFRAME = os.getenv( 'DEFAULT_TIMEFRAME' , '1h' )
# Data collection
DATA_LIMIT = 2000 # Number of historical candles
MIN_DATA_POINTS = 500 # Minimum required for training
CACHE_TTL = 60 # Cache duration in seconds
# Auto-refresh
AUTO_REFRESH_SECONDS = 30 # Dashboard update frequency
Exchange Configuration
Using Kraken (Default)
Using Binance
Using Coinbase Pro
# No API keys needed for public data
from data.collectors import CryptoDataCollector
collector = CryptoDataCollector( 'kraken' )
df = collector.fetch_ohlcv( 'BTC/USDT' , timeframe = '1h' )
Model Configuration
Fine-tune model parameters in config/settings.py:
MODELS_CONFIG = {
'xgboost' : {
'n_estimators' : 200 , # More trees = better fit, slower training
'learning_rate' : 0.07 , # Lower = more conservative, needs more trees
'max_depth' : 6 , # Deeper = more complex patterns, risk overfitting
'subsample' : 0.8 , # Random sampling to prevent overfitting
'colsample_bytree' : 0.8 # Feature sampling per tree
},
'prophet' : {
'changepoint_prior_scale' : 0.5 , # 0.001-0.5: flexibility for trend changes
'seasonality_prior_scale' : 10 , # 1-20: strength of seasonal patterns
'seasonality_mode' : 'multiplicative' , # or 'additive'
'daily_seasonality' : True ,
'weekly_seasonality' : True ,
'yearly_seasonality' : False # Not useful for crypto
}
}
Start with default values and adjust based on backtesting results. More aggressive parameters can improve short-term accuracy but may reduce generalization.
Running the Application
Once installed and configured, start CryptoView Pro:
Activate Virtual Environment
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
Navigate to Project Directory
cd path/to/cryptoview-pro
Launch Streamlit
Optional flags: # Custom port
streamlit run app.py --server.port 8502
# Disable auto-open browser
streamlit run app.py --server.headless true
# Enable CORS for remote access
streamlit run app.py --server.enableCORS false
Access Dashboard
Open your browser to: Or the custom port you specified.
Troubleshooting Installation Issues
Error: Microsoft Visual C++ 14.0 is required (Windows)
Some packages require C++ build tools. Solution:
Download Microsoft C++ Build Tools
Install “Desktop development with C++”
Restart terminal and retry: pip install -r requirements.txt
Alternative: Install pre-built wheels:pip install --only-binary :all: -r requirements.txt
Error: Prophet installation fails
Prophet has complex dependencies (pystan) that can fail. Solution: Try installing Prophet separately: # Option 1: Using conda (recommended)
conda install -c conda-forge prophet
# Option 2: Pre-compiled wheel
pip install prophet --no-cache-dir
# Option 3: Skip Prophet (use XGBoost only)
# Edit requirements.txt and remove the 'prophet' line
CryptoView Pro will work without Prophet - you’ll just be limited to XGBoost and won’t have long-term forecasting.
Error: 'No module named ccxt'
Dependencies weren’t installed in the active environment. Solution: # Verify you're in virtual environment (should see (venv))
which python
# Reinstall dependencies
pip install --upgrade pip
pip install -r requirements.txt
# Verify ccxt
python -c "import ccxt; print(ccxt.__version__)"
Error: SSL certificate verification failed
Network/firewall issues preventing package downloads. Solution: # Temporary workaround (not recommended for production)
pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org -r requirements.txt
# Better: Fix SSL certificates
pip install --upgrade certifi
ImportError: DLL load failed (Windows)
Memory Error during pip install
Not enough RAM for compilation. Solution: # Install packages one at a time
pip install streamlit
pip install ccxt
pip install pandas numpy
pip install plotly
pip install scikit-learn
pip install xgboost
pip install prophet
# Or increase pip's memory limit
pip install --no-cache-dir -r requirements.txt
Docker Installation (Alternative)
Prefer containerized deployment? Use Docker:
Create Dockerfile
FROM python:3.11-slim
WORKDIR /app
# Install dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy application
COPY . .
# Expose Streamlit port
EXPOSE 8501
# Run application
CMD [ "streamlit" , "run" , "app.py" , "--server.address" , "0.0.0.0" ]
Build Image
docker build -t cryptoview-pro .
Run Container
docker run -p 8501:8501 \
-e TELEGRAM_BOT_TOKEN=your_token \
-e TELEGRAM_CHAT_ID=your_id \
cryptoview-pro
Access Application
Open browser to http://localhost:8501
Increase Cache TTL # config/settings.py
CACHE_TTL = 300 # 5 minutes
Reduces API calls, faster dashboard updates
Limit Data Points DATA_LIMIT = 1000 # Instead of 2000
Faster training, lower memory usage
Disable Auto-Refresh AUTO_REFRESH_SECONDS = 0 # Manual only
Saves CPU, useful for batch analysis
Use XGBoost Only Remove Prophet from requirements.txt Faster installation, lower dependencies
Next Steps
Quickstart Guide Generate your first predictions in 5 minutes
Configuration Set up exchanges, API keys, and alerts
Model Training Learn when to use each model type
API Reference Explore the complete API documentation
Updating CryptoView Pro
Keep your installation up to date:
# Pull latest changes
git pull origin main
# Update dependencies
pip install --upgrade -r requirements.txt
# Restart application
streamlit run app.py
Always backup your configuration files (.env, custom settings.py) before updating.