Spaces:
Sleeping
Sleeping
gauravlochab
chore: change the system from loading to adding the csv for solving the rate limiter error
175e92c
| # Quick Start Guide: CSV-First Deployment | |
| This guide shows you exactly how to run the CSV-first deployment for your Hugging Face Space. | |
| ## Prerequisites | |
| Make sure you have Python installed with these packages: | |
| ```bash | |
| pip install pandas requests plotly gradio logging datetime typing os | |
| ``` | |
| ## Step 1: Generate CSV Files Locally | |
| ### Option A: Using the Interactive Script (Recommended) | |
| 1. **Open your terminal** in the project directory | |
| 2. **Run the CSV generation script**: | |
| ```bash | |
| python generate_csv_for_space.py | |
| ``` | |
| 3. **Follow the interactive prompts**: | |
| ``` | |
| ============================================================ | |
| CSV Generation for Hugging Face Space Deployment | |
| ============================================================ | |
| 1. Checking existing CSV files... | |
| 2. Checking data freshness... | |
| 3. Data generation options: | |
| [1] Generate fresh data from API (recommended) | |
| [2] Skip if CSV files are fresh (< 24 hours old) | |
| [3] Exit without generating | |
| Enter your choice (1-3): 1 | |
| ``` | |
| 4. **Choose option 1** to generate fresh data | |
| 5. **Wait for completion** - the script will: | |
| - Fetch data from the API | |
| - Apply preprocessing | |
| - Save CSV files | |
| - Show you what files were created | |
| ### Option B: Using Python Directly | |
| If you prefer to run it programmatically: | |
| ```python | |
| # Run this in Python or Jupyter notebook | |
| from app import fetch_apr_data_from_db, save_to_csv, save_roi_to_csv | |
| from initial_value_fixer import fix_apr_and_roi | |
| # Fetch data | |
| df_apr, df_roi = fetch_apr_data_from_db() | |
| # Apply preprocessing | |
| df_apr_processed = fix_apr_and_roi(df_apr) | |
| # Save CSV files | |
| save_to_csv(df_apr_processed) | |
| save_roi_to_csv(df_roi) | |
| print("CSV files generated successfully!") | |
| ``` | |
| ## Step 2: Verify CSV Files Were Created | |
| Check that these files exist in your directory: | |
| ```bash | |
| ls -la *.csv | |
| ``` | |
| You should see: | |
| - `optimus_apr_values.csv` | |
| - `optimus_apr_statistics.csv` | |
| - `optimus_roi_values.csv` | |
| ## Step 3: Test CSV Loading Locally (Optional) | |
| Test that the CSV files load correctly: | |
| ```python | |
| from load_from_csv import load_apr_data_from_csv, load_roi_data_from_csv | |
| # Test loading | |
| df_apr, csv_file = load_apr_data_from_csv() | |
| df_roi, csv_file = load_roi_data_from_csv() | |
| print(f"APR data loaded: {len(df_apr)} records") | |
| print(f"ROI data loaded: {len(df_roi)} records") | |
| ``` | |
| ## Step 4: Test the App Locally | |
| Run your app locally to make sure everything works: | |
| ```bash | |
| python app.py | |
| ``` | |
| The app should: | |
| 1. Try to load from CSV files first | |
| 2. Show visualizations using CSV data | |
| 3. Display "Successfully loaded APR/ROI data from CSV" in logs | |
| ## Step 5: Deploy to Hugging Face Space | |
| ### Upload These Files to Your Space: | |
| **Required Files:** | |
| - `app.py` (modified with CSV-first logic) | |
| - `load_from_csv.py` (new CSV loading functions) | |
| - `initial_value_fixer.py` (existing preprocessing) | |
| - `fetch_and_preprocess_data.py` (existing data functions) | |
| **Generated CSV Files:** | |
| - `optimus_apr_values.csv` | |
| - `optimus_apr_statistics.csv` | |
| - `optimus_roi_values.csv` | |
| ### Upload Methods: | |
| **Method 1: Hugging Face Web Interface** | |
| 1. Go to your Space on huggingface.co | |
| 2. Click "Files" tab | |
| 3. Upload each file individually | |
| 4. Commit changes | |
| **Method 2: Git (if you have git setup)** | |
| ```bash | |
| git add *.py *.csv | |
| git commit -m "Add CSV-first deployment files" | |
| git push | |
| ``` | |
| ## Step 6: Monitor Your Space | |
| After deployment: | |
| 1. **Check Space logs** for these messages: | |
| ``` | |
| Successfully loaded APR data from CSV: X records | |
| Successfully loaded ROI data from CSV: Y records | |
| Creating APR visualizations from CSV data... | |
| ``` | |
| 2. **Verify fast loading** - graphs should appear instantly | |
| 3. **No API calls** - you shouldn't see API-related errors in logs | |
| ## Troubleshooting | |
| ### Problem: "No module named 'load_from_csv'" | |
| **Solution:** Make sure you uploaded `load_from_csv.py` to your Space | |
| ### Problem: "CSV file not found" | |
| **Solution:** | |
| 1. Check CSV files are in the Space root directory | |
| 2. Verify file names match exactly: `optimus_apr_values.csv`, `optimus_roi_values.csv` | |
| ### Problem: "Error loading data from CSV" | |
| **Solution:** | |
| 1. Regenerate CSV files locally: `python generate_csv_for_space.py` | |
| 2. Re-upload the new CSV files to your Space | |
| ### Problem: App falls back to API calls | |
| **Solution:** This means CSV loading failed. Check Space logs for specific error messages. | |
| ## Updating Data | |
| To update your Space with fresh data: | |
| 1. **Run locally** (every few days or weekly): | |
| ```bash | |
| python generate_csv_for_space.py | |
| ``` | |
| 2. **Upload new CSV files** to your Space | |
| 3. **Space automatically updates** with new data | |
| ## Expected Results | |
| ✅ **Fast Loading**: Graphs appear instantly | |
| ✅ **No Rate Limits**: No API calls from the Space | |
| ✅ **Smooth Graphs**: ROI graph has smooth curves | |
| ✅ **All Features**: All preprocessing and visualization features work | |
| ✅ **Reliable**: No dependency on external API availability | |
| ## Commands Summary | |
| ```bash | |
| # Generate CSV files | |
| python generate_csv_for_space.py | |
| # Test locally | |
| python app.py | |
| # Check what files were created | |
| ls -la *.csv | |
| # Check file sizes | |
| du -h *.csv | |
| ``` | |
| That's it! Your Hugging Face Space will now run without rate limiting issues using the preprocessed CSV data. | |