Installation Guide
This guide will help you install and set up portfolio-lib in your environment.
Requirements
Python Version - Python 3.8 or higher - Recommended: Python 3.9+
Dependencies - numpy >= 1.20.0 - pandas >= 1.3.0 - matplotlib >= 3.4.0 - scipy >= 1.7.0
Installation Methods
Method 1: Using pip (Recommended)
pip install portfolio-lib
Method 2: From Source
git clone https://github.com/NeuralNinja110/Portfolio-lib.git
cd portfolio-lib
pip install -e .
Method 3: Development Installation
For contributors and developers:
git clone https://github.com/NeuralNinja110/Portfolio-lib.git
cd portfolio-lib
pip install -e ".[dev]"
This installs additional development dependencies like pytest, black, and flake8.
Virtual Environment Setup
It’s recommended to use a virtual environment:
Using venv (Python 3.3+)
python -m venv portfolio_env
source portfolio_env/bin/activate # On Windows: portfolio_env\Scripts\activate
pip install portfolio-lib
Using conda
conda create -n portfolio_env python=3.9
conda activate portfolio_env
pip install portfolio-lib
Verification
Test your installation:
import portfolio_lib
from portfolio_lib.indicators import TechnicalIndicators
from portfolio_lib.core import Portfolio
from portfolio_lib.portfolio import RiskMetrics
print(f"portfolio-lib version: {portfolio_lib.__version__}")
# Quick test
import numpy as np
prices = np.array([100, 102, 101, 103, 105, 104, 106])
sma = TechnicalIndicators.sma(prices, 5)
print(f"SMA calculation successful: {sma[-1]:.2f}")
Expected output:
portfolio-lib version: 1.0.0
SMA calculation successful: 103.20
Common Installation Issues
Issue: Import Error
ImportError: No module named 'portfolio_lib'
Solution:
- Verify installation: pip list | grep portfolio-lib
- Check virtual environment is activated
- Reinstall: pip uninstall portfolio-lib && pip install portfolio-lib
Issue: Dependency Conflicts
ERROR: package-name has requirement numpy>=1.20.0, but you have numpy 1.19.0
Solution:
- Update dependencies: pip install --upgrade numpy pandas matplotlib scipy
- Use fresh virtual environment
Issue: Windows Installation Problems
Solution:
- Install Visual C++ Build Tools
- Use pre-compiled wheels: pip install --only-binary=all portfolio-lib
Optional Dependencies
For enhanced functionality, install optional packages:
Plotting and Visualization
pip install plotly>=5.0.0 seaborn>=0.11.0
Data Sources
pip install yfinance>=0.1.70 alpha-vantage>=2.3.0
Advanced Analytics
pip install scikit-learn>=1.0.0 statsmodels>=0.13.0
Performance Optimization
pip install numba>=0.56.0 cython>=0.29.0
Complete Installation
For a full-featured installation:
pip install portfolio-lib[complete]
This includes all optional dependencies for maximum functionality.
Docker Installation
Use the official Docker image:
docker pull portfolio-lib/portfolio-lib:latest
docker run -it portfolio-lib/portfolio-lib:latest python
Or build from source:
git clone https://github.com/NeuralNinja110/Portfolio-lib.git
cd portfolio-lib
docker build -t my-portfolio-lib .
docker run -it my-portfolio-lib python
Jupyter Integration
For Jupyter notebook users:
pip install portfolio-lib jupyter matplotlib
jupyter notebook
Or use JupyterLab:
pip install portfolio-lib jupyterlab matplotlib
jupyter lab
IDE Setup
VS Code
Install Python extension
Select correct Python interpreter (Ctrl+Shift+P → “Python: Select Interpreter”)
Install IntelliSense: the extension will auto-detect portfolio-lib
PyCharm
Open project settings
Configure Python interpreter to your virtual environment
Portfolio-lib will be available for auto-completion
Spyder
Install in same environment as portfolio-lib
Restart Spyder after installation
Update and Uninstall
Update to latest version:
pip install --upgrade portfolio-lib
Check current version:
pip show portfolio-lib
Uninstall:
pip uninstall portfolio-lib
Next Steps
After successful installation:
Read the Getting Started guide
Explore portfolio_lib Examples for practical use cases
Check API Reference for detailed function documentation
Need Help?
GitHub Issues: Report bugs or request features
Documentation: Complete API reference and examples
Community: Join our Discord/Slack for discussions
System-Specific Notes
macOS
# If using Homebrew Python
brew install python
pip3 install portfolio-lib
Ubuntu/Debian
sudo apt update
sudo apt install python3-pip python3-venv
pip3 install portfolio-lib
CentOS/RHEL
sudo yum install python3-pip
pip3 install portfolio-lib
Windows
Install Python from python.org
Use Command Prompt or PowerShell
Consider using Anaconda distribution for easier dependency management