security: remove all hardcoded API keys, use dotenv environment variables

This commit is contained in:
vanshshah10002-prog 2026-02-25 05:28:44 +05:30
parent ed02221f0d
commit 5764751c26
8 changed files with 36 additions and 13 deletions

View File

@ -10,9 +10,12 @@ Run this file: python 01_basic_stock_data.py
"""
from financetoolkit import Toolkit
import os
from dotenv import load_dotenv
load_dotenv()
# ── 1. Setup ──────────────────────────────────────────────────────────
API_KEY = "wybWEsp1oB9abHfz3yPpQYwffxaN21B7"
API_KEY = os.environ.get("FMP_API_KEY", "")
# You can pass one ticker or a list of tickers.
# start_date limits how far back data goes.

View File

@ -9,8 +9,11 @@ Run this file: python 02_ratios_and_models.py
"""
from financetoolkit import Toolkit
import os
from dotenv import load_dotenv
load_dotenv()
API_KEY = "wybWEsp1oB9abHfz3yPpQYwffxaN21B7"
API_KEY = os.environ.get("FMP_API_KEY", "")
companies = Toolkit(
tickers=["AAPL", "MSFT", "GOOGL"],

View File

@ -10,8 +10,11 @@ Run this file: python 03_technicals_risk_performance.py
"""
from financetoolkit import Toolkit
import os
from dotenv import load_dotenv
load_dotenv()
API_KEY = "wybWEsp1oB9abHfz3yPpQYwffxaN21B7"
API_KEY = os.environ.get("FMP_API_KEY", "")
companies = Toolkit(
tickers=["AAPL", "MSFT"],

View File

@ -9,8 +9,11 @@ Run this file: python 04_economics_and_export.py
"""
from financetoolkit import Toolkit
import os
from dotenv import load_dotenv
load_dotenv()
API_KEY = "wybWEsp1oB9abHfz3yPpQYwffxaN21B7"
API_KEY = os.environ.get("FMP_API_KEY", "")
companies = Toolkit(
tickers=["AAPL"],

View File

@ -5,8 +5,11 @@ Analyzes Technicals + News to suggest Long, Short, or Hedge positions.
import technical_analyzer
import news_analyzer
import sys
import os
from dotenv import load_dotenv
load_dotenv()
API_KEY = "wybWEsp1oB9abHfz3yPpQYwffxaN21B7"
API_KEY = os.environ.get("FMP_API_KEY", "")
def get_user_input():
print("\n=== Financial Advisor (Bi-Directional Hedge Edition) ===")

14
app.py
View File

@ -13,7 +13,9 @@ import openpyxl
from io import BytesIO
from datetime import datetime, timedelta
from difflib import SequenceMatcher
import json, traceback, time, math
import json, traceback, time, math, os
from dotenv import load_dotenv
load_dotenv()
app = Flask(__name__)
@ -40,11 +42,11 @@ def safe_jsonify(data, status=200):
text = text.replace(': -Infinity', ': null').replace(':-Infinity', ':null')
return Response(text, status=status, mimetype='application/json')
FMP_API_KEY = "wybWEsp1oB9abHfz3yPpQYwffxaN21B7"
GEMINI_API_KEY = "AIzaSyBX8v2d_UV_Hktcj-AvV7TyR6TD5grn24w" # fallback
ALPHA_VANTAGE_KEY = "P0D5N0A8SVC00YUW"
FINNHUB_KEY = "d6ao9dhr01qqjvbr6m1gd6ao9dhr01qqjvbr6m20"
FRED_KEY = "010a35b0ca89efdef4234f33c5089d7a"
FMP_API_KEY = os.environ.get("FMP_API_KEY", "")
GEMINI_API_KEY = os.environ.get("GEMINI_API_KEY", "")
ALPHA_VANTAGE_KEY = os.environ.get("ALPHA_VANTAGE_KEY", "")
FINNHUB_KEY = os.environ.get("FINNHUB_API_KEY", "")
FRED_KEY = os.environ.get("FRED_API_KEY", "")
# ── AI Backend: Ollama (local) with Gemini fallback ──────
OLLAMA_URL = "http://localhost:11434"

View File

@ -10,9 +10,12 @@ import pandas as pd
import numpy as np
from financetoolkit import Toolkit
import sys
import os
from dotenv import load_dotenv
load_dotenv()
# Constants
API_KEY = "wybWEsp1oB9abHfz3yPpQYwffxaN21B7"
API_KEY = os.environ.get("FMP_API_KEY", "")
TICKERS = ["^NSEBANK", "NVDA", "TSLA"]
MONTHLY_BUDGET = 300.0

View File

@ -1,6 +1,9 @@
from financetoolkit import Toolkit
import os
from dotenv import load_dotenv
load_dotenv()
API_KEY = "wybWEsp1oB9abHfz3yPpQYwffxaN21B7"
API_KEY = os.environ.get("FMP_API_KEY", "")
TICKER = "NVDA"
try: