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 from financetoolkit import Toolkit
import os
from dotenv import load_dotenv
load_dotenv()
# ── 1. Setup ────────────────────────────────────────────────────────── # ── 1. Setup ──────────────────────────────────────────────────────────
API_KEY = "wybWEsp1oB9abHfz3yPpQYwffxaN21B7" API_KEY = os.environ.get("FMP_API_KEY", "")
# You can pass one ticker or a list of tickers. # You can pass one ticker or a list of tickers.
# start_date limits how far back data goes. # 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 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( companies = Toolkit(
tickers=["AAPL", "MSFT", "GOOGL"], tickers=["AAPL", "MSFT", "GOOGL"],

View File

@ -10,8 +10,11 @@ Run this file: python 03_technicals_risk_performance.py
""" """
from financetoolkit import Toolkit 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( companies = Toolkit(
tickers=["AAPL", "MSFT"], tickers=["AAPL", "MSFT"],

View File

@ -9,8 +9,11 @@ Run this file: python 04_economics_and_export.py
""" """
from financetoolkit import Toolkit 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( companies = Toolkit(
tickers=["AAPL"], tickers=["AAPL"],

View File

@ -5,8 +5,11 @@ Analyzes Technicals + News to suggest Long, Short, or Hedge positions.
import technical_analyzer import technical_analyzer
import news_analyzer import news_analyzer
import sys 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(): def get_user_input():
print("\n=== Financial Advisor (Bi-Directional Hedge Edition) ===") print("\n=== Financial Advisor (Bi-Directional Hedge Edition) ===")

14
app.py
View File

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

View File

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

View File

@ -1,6 +1,9 @@
from financetoolkit import Toolkit 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" TICKER = "NVDA"
try: try: