Skip to content

Commit ce85869

Browse files
Merge pull request #9 from Visionary-Code-Works/dev
Dev
2 parents 01669e5 + 0fa4b64 commit ce85869

30 files changed

+223
-48
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,3 +223,4 @@ $RECYCLE.BIN/
223223

224224
# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
225225

226+
.vscode/

.vscode/settings.json

Lines changed: 0 additions & 5 deletions
This file was deleted.

docs/finance_apis.csv

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
API Name,Website,Unique Feature,Pricing
2+
Alpha Vantage,https://www.alphavantage.co,Wide range of data services; technical indicators,Free/Paid
3+
IEX Cloud,https://iexcloud.io,Wide array of financial data; tiered pricing model with a free tier,Free/Paid
4+
Quandl,https://www.quandl.com,"Financial, economic, and alternative data; free datasets available for academic use",Free/Paid
5+
Financial Modeling Prep,https://financialmodelingprep.com,Broad set of financial data APIs; includes stock market data and financial statements,Free/Paid
6+
World Trading Data,https://www.worldtradingdata.com,Real-time and historical stock data; free tier available,Free/Paid
7+
MarketStack,https://marketstack.com,REST API interface to obtain stock market data from around the world; free tier with limited access,Free/Paid
8+
Finnhub,https://finnhub.io,"Free APIs for stock data, forex, and crypto; both real-time and historical data",Free/Paid
9+
Twelve Data,https://twelvedata.com,"Financial data including real-time and historical stock data, forex, and cryptocurrencies; free plan with limited access",Free/Paid

poetry.lock

Lines changed: 38 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "stock-analysis-program"
3-
version = "1.0.5"
3+
version = "1.0.6"
44
description = "A Python-based toolkit for fetching and visualizing financial data and metrics for stocks."
55
authors = [
66
"Thaddeus Thomas <thaddeus.r.thomas@gmail.com>",
@@ -24,13 +24,18 @@ packages = [
2424

2525
[tool.poetry.dependencies]
2626
python = "^3.11"
27-
yfinance = "^0.2.33"
28-
matplotlib = "^3.8.0"
29-
pandas = "^2.1.1"
27+
yfinance = "^0.2.37"
28+
matplotlib = "^3.8.3"
29+
pandas = "^2.2.1"
3030

3131
[tool.poetry.dev-dependencies]
32-
pytest = "^7.4.3"
32+
pytest = "^8.1.1"
33+
34+
[[tool.poetry.source]]
35+
name = "StockAnalysisProgram"
36+
url = "https://github.com/Visionary-Code-Works/StockAnalysisProgram"
37+
priority = "primary"
3338

3439
[build-system]
35-
requires = ["poetry>=1.71"]
40+
requires = ["poetry>=1.8.2"]
3641
build-backend = "poetry.masonry.api"

scripts/finance_apis.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import pandas as pd
2+
3+
# Creating a DataFrame with details of the finance APIs
4+
finance_apis = pd.DataFrame(
5+
{
6+
"API Name": [
7+
"Alpha Vantage",
8+
"IEX Cloud",
9+
"Quandl",
10+
"Financial Modeling Prep",
11+
"World Trading Data",
12+
"MarketStack",
13+
"Finnhub",
14+
"Twelve Data",
15+
],
16+
"Website": [
17+
"https://www.alphavantage.co",
18+
"https://iexcloud.io",
19+
"https://www.quandl.com",
20+
"https://financialmodelingprep.com",
21+
"https://www.worldtradingdata.com",
22+
"https://marketstack.com",
23+
"https://finnhub.io",
24+
"https://twelvedata.com",
25+
],
26+
"Unique Feature": [
27+
"Wide range of data services; technical indicators",
28+
"Wide array of financial data; tiered pricing model with a free tier",
29+
"Financial, economic, and alternative data; free datasets available for academic use",
30+
"Broad set of financial data APIs; includes stock market data and financial statements",
31+
"Real-time and historical stock data; free tier available",
32+
"REST API interface to obtain stock market data from around the world; free tier with limited access",
33+
"Free APIs for stock data, forex, and crypto; both real-time and historical data",
34+
"Financial data including real-time and historical stock data, forex, and cryptocurrencies; free plan with limited access",
35+
],
36+
"Pricing": [
37+
"Free/Paid",
38+
"Free/Paid",
39+
"Free/Paid",
40+
"Free/Paid",
41+
"Free/Paid",
42+
"Free/Paid",
43+
"Free/Paid",
44+
"Free/Paid",
45+
],
46+
}
47+
)
48+
49+
# Saving the DataFrame to a CSV file
50+
file_path = "finance_apis.csv"
51+
finance_apis.to_csv(file_path, index=False)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# src/__init__.py
2+
3+
from .fetcher import (
4+
StockDataFetcher,
5+
StockSummaryFetcher,
6+
FinancialMetricsFetcher,
7+
RevenueGrowthFetcher,
8+
)
9+
from .plotter import (
10+
StockPricePlotter,
11+
FinancialMetricsPlotter,
12+
RevenueGrowthPlotter,
13+
StockVolatilityPlotter,
14+
StockExchangePerformancePlotter,
15+
CurrentPricesTickerDisplay,
16+
)
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# fetcher/__init__.py
22

3-
from financial_metrics_fetcher import FinancialMetricsFetcher
4-
from revenue_growth_fetcher import RevenueGrowthFetcher
5-
from stock_data_fetcher import StockDataFetcher
6-
from stock_summary_fetcher import StockSummaryFetcher
3+
from .financial_metrics_fetcher import FinancialMetricsFetcher
4+
from .revenue_growth_fetcher import RevenueGrowthFetcher
5+
from .stock_data_fetcher import StockDataFetcher
6+
from .stock_summary_fetcher import StockSummaryFetcher

src/stock_analysis_program/fetcher/stock_data_fetcher.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
"""
1212

1313
import yfinance as yf
14-
import pandas as pd
1514

1615

1716
class StockDataFetcher:

src/stock_analysis_program/main.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,11 @@
99
plotting capabilities for stocks and financial indices.
1010
"""
1111

12-
from fetcher import (
12+
from .__init__ import (
1313
StockDataFetcher,
1414
StockSummaryFetcher,
1515
FinancialMetricsFetcher,
1616
RevenueGrowthFetcher,
17-
)
18-
from plotter import (
1917
StockPricePlotter,
2018
FinancialMetricsPlotter,
2119
RevenueGrowthPlotter,

0 commit comments

Comments
 (0)