This guide explains how to install and use Investor Paradise CLI from PyPI using uv (the fast Python package manager).
- Python 3.11 or higher
- Google API Key (Get one here)
uv is a fast Python package installer and resolver written in Rust.
macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | shWindows:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"Alternative (using pip):
pip install uvVerify installation:
uv --versionuv tool install investor-paradise-cliThis will:
- Install the CLI tool globally along with all dependencies (including google-adk)
uv tool install investor-paradise-cliThis is the easiest method:
- Installs the CLI globally in an isolated environment
- Automatically adds to PATH (accessible from anywhere)
- No need to activate virtual environments
- Just run
investor-paradise-clifrom any directory
From GitHub (Latest Development):
uv tool install git+https://github.com/atulkumar2/investor_paradise.gitFrom PyPI (Stable Release):
uv pip install investor-paradise-cliFrom GitHub (Latest Development):
uv pip install git+https://github.com/atulkumar2/investor_paradise.gitNote: This method requires you to be in a project directory with pyproject.toml.
First, create a project:
# Create a new directory for your analysis work
mkdir my-stock-analysis
cd my-stock-analysis
# Initialize a uv project
uv initThen add the dependency:
# Add Investor Paradise CLI (includes google-adk)
uv add investor-paradise-cliThis automatically:
- Installs the package in your project
- Updates
pyproject.tomlwith the dependency - Resolves and locks dependencies in
uv.lock
Note: Skip this step if you used Method 1 (uv tool install) - it already adds to PATH automatically!
If you used uv pip install and want to run investor-paradise-cli from anywhere:
macOS/Linux (bash):
# Add to ~/.bashrc or ~/.bash_profile
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcmacOS (zsh):
# Add to ~/.zshrc
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrcWindows (PowerShell):
# Add to PowerShell profile
$profilePath = $PROFILE
if (!(Test-Path -Path $profilePath)) {
New-Item -ItemType File -Path $profilePath -Force
}
Add-Content -Path $profilePath -Value '$env:PATH += ";$env:USERPROFILE\.local\bin"'Windows (Command Prompt):
- Open System Properties β Environment Variables
- Under User Variables, find
Path - Click Edit β New
- Add:
%USERPROFILE%\.local\bin - Click OK to save
After adding to PATH, verify:
which investor-paradise-cli # macOS/Linux
where investor-paradise-cli # WindowsThe CLI needs a Google API key to function. You have multiple options:
Simply start the CLI without setting up the API key:
investor-paradise-cliThe CLI will:
- Detect that no API key is configured
- Prompt you to enter your Google API key
- Securely store it in your system's credential manager:
- Windows: Windows Credential Manager
- macOS: Keychain
- Linux: Secret Service (gnome-keyring, kwallet, or similar)
You only need to do this once - the key will be remembered for future sessions.
macOS/Linux:
export GOOGLE_API_KEY="your_google_api_key_here"Windows (PowerShell):
$env:GOOGLE_API_KEY="your_google_api_key_here"Windows (Command Prompt):
set GOOGLE_API_KEY=your_google_api_key_hereCreate a .env file in your working directory:
echo "GOOGLE_API_KEY=your_google_api_key_here" > .envSimply run from anywhere:
investor-paradise-cliinvestor-paradise-cliOr with uv:
uv run investor-paradise-cliFrom your project directory:
uv run investor-paradise-cliOn the first launch, the CLI will:
- Check API Key: Prompt for Google API key if not found
- Check Data Files: Look for market data cache and news vector data
- Download Data (if needed):
- NSE market data cache (2019-2025) - ~50MB, takes about 1 minute
- Economic Times news articles (last 6 months) - ~580MB download, ~1.2GB disk space after extraction, takes a few minutes
- Load Data: Load the market data into memory (~10-20 seconds)
- Ready! Start asking questions
Example First Run:
π Initializing Investor Paradise...
π¦ Checking if latest market data parquet cache and Economic Times news vector data is available...
β οΈ Starting download of latest NSE market data cache (2019-2025)
π This could take a minute (size ~50MB)
Downloading combined_data.parquet ββββββββββββββββββββββββββββββββββ 50.9/50.9 MB
β
All cache files downloaded successfully!
β οΈ Starting download of Economic Times news articles (last 6 months)
π° This could take a few minutes (download ~580MB, disk space ~1.2GB after extraction)
Downloading 202506.zip βββββββββββββββββββββββββββββββββββββββββββββββ
π¦ Extracting 202506.zip...
β
Extracted and cleaned up 202506.zip
...
β
All vector data files downloaded and extracted successfully!
π Loading NSE stock data...
β
Data loaded: 2,797,728 rows
π
Database Context: 2019-10-01 to 2025-11-28
π¬ Ready! Ask me about NSE stocks or just say hi!
Session: 3a7f8b2c... | Commands: 'exit', 'clear', 'switch'
π You:
π You: Show me top 5 performing stocks in the last month
π You: What are the latest news about Reliance Industries?
π You: Analyze TCS stock performance
π You: Compare HDFC Bank and ICICI Bank
π You: exitswitch- Change to a different session or create new oneclear- Clear current session history and start freshexit,quit,bye- Exit the application
# Show help
uv run investor-paradise-cli --help
# Reset stored API key
uv run investor-paradise-cli --reset-api-key
# Refresh cache data
uv run investor-paradise-cli --refresh-cache
# Download vector data manually
uv run investor-paradise-cli --download-vector-dataFor isolated project setup with full dependency management:
# Create a new project directory
mkdir my-stock-analysis
cd my-stock-analysis
# Initialize UV project
uv init
# Add Investor Paradise CLI (includes google-adk)
uv add investor-paradise-cli
# Run the CLI
uv run investor-paradise-cliThis approach:
- Creates isolated environment per project
- Manages dependencies in
pyproject.toml - Locks versions in
uv.lockfor reproducibility - Best for development and team projects
# Create a script: analyze.py
import asyncio
from investor_agent.data_engine import NSESTORE
async def analyze_stock():
# Load data
df = NSESTORE.df
print(f"Loaded {len(df):,} rows")
# Get specific stock data
stock_data = NSESTORE.get_stock_data("TCS", start_date="2024-01-01")
print(stock_data.head())
asyncio.run(analyze_stock())Run with uv:
uv run analyze.pyBy default, data is stored in:
<project-root>/
βββ investor_agent/
βββ data/
βββ cache/ # Market data parquet files
β βββ combined_data.parquet
β βββ nse_indices_cache.parquet
β βββ nse_sector_cache.parquet
β βββ nse_symbol_company_mapping.parquet
βββ vector-data/ # News articles by month
β βββ 202506/
β βββ 202507/
β βββ 202508/
β βββ 202509/
β βββ 202510/
β βββ 202511/
βββ investor_agent_sessions.db # Session history
# 1. Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. Install Investor Paradise CLI globally (includes google-adk)
uv tool install investor-paradise-cli
# 3. Run the CLI from anywhere (it will prompt for API key on first run)
investor-paradise-cli# 1. Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. Install Investor Paradise CLI (includes google-adk)
uv pip install investor-paradise-cli
# 3. Run the CLI
investor-paradise-cli# 1. Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. Create and initialize project
mkdir my-stock-analysis && cd my-stock-analysis && uv init
# 3. Install Investor Paradise CLI (includes google-adk)
uv add investor-paradise-cli
# 4. Run the CLI
uv run investor-paradise-cliThat's it! The CLI will guide you through API key setup and data downloads on first run.
Problem: uv: command not found
Solution:
# Reload your shell configuration
source ~/.bashrc # or ~/.zshrc on macOS
# Or install via pip
pip install uvProblem: Installation fails with dependency conflicts
Solution:
# Use fresh virtual environment
uv venv --python 3.11
source .venv/bin/activate
uv pip install investor-paradise-cliProblem: Google ADK not found
Solution:
# Reinstall the CLI to ensure all dependencies are installed
uv add investor-paradise-cliProblem: "GOOGLE_API_KEY not found" error
Solution:
- Run with
--reset-api-keyflag to re-enter your key - Or set environment variable before running
export GOOGLE_API_KEY="your_key_here"
uv run investor-paradise-cliProblem: Download fails or times out
Solution:
# Retry with refresh flag
uv run investor-paradise-cli --refresh-cache
# For vector data specifically
uv run investor-paradise-cli --download-vector-dataProblem: CLI is slow or unresponsive
Solutions:
- First query is always slower (data loads into memory)
- Ensure you have at least 2GB free RAM
- Check internet connection for API calls
- Use specific date ranges in queries for faster results
uv pip show investor-paradise-cliuv pip install --upgrade investor-paradise-cliuv pip uninstall investor-paradise-cli
uv pip install investor-paradise-cli- Python: 3.11 or higher
- RAM: Minimum 2GB free, Recommended 4GB
- Disk Space:
- ~50MB for market data cache
- ~1.2GB for news vector data (6 months)
- Total: ~1.3GB
- Network: Required for:
- Initial data download
- Google API calls during queries
- News fetching (optional)
- First launch takes longer: Data downloads and loads (~5-10 minutes first time)
- Subsequent launches are fast: Data is cached locally
- Keep sessions: Previous conversations are saved, use
switchto resume - Clear when needed: Use
clearcommand to reset context if confused - Specific queries: More specific = faster and better results
- Stocks: 2000+ NSE-listed companies
- Date Range: October 2019 - November 2025
- Data Points: OHLCV (Open, High, Low, Close, Volume)
- News: Economic Times articles (last 6 months, embedded for RAG)
- Updates: Manual refresh with
--refresh-cache
# Uninstall package
uv pip uninstall investor-paradise-cli
# Remove data (optional)
rm -rf investor_agent/data/# Simplest Installation (Recommended)
uv tool install investor-paradise-cli
investor-paradise-cli
# Alternative: Using uv pip
uv pip install investor-paradise-cli
investor-paradise-cli
# Project-Based Installation
mkdir my-stock-analysis && cd my-stock-analysis
uv init
uv add investor-paradise-cli
uv run investor-paradise-cli
# Commands within CLI
exit # Exit application
clear # Clear session history
switch # Switch/create session
# Command-line flags
--help # Show help
--reset-api-key # Reset API key
--refresh-cache # Refresh market data
--download-vector-data # Download news data