security: remove all hardcoded API keys, use dotenv environment variables
This commit is contained in:
parent
ed02221f0d
commit
5764751c26
@ -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.
|
||||||
|
|||||||
@ -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"],
|
||||||
|
|||||||
@ -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"],
|
||||||
|
|||||||
@ -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"],
|
||||||
|
|||||||
@ -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
14
app.py
@ -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"
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user