Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenBB Platform v4 #5225

Merged
merged 1,479 commits into from
Nov 13, 2023
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
1479 commits
Select commit Hold shift + click to select a range
c345ca7
change location
jmaslek Oct 6, 2023
f347933
check something
jmaslek Oct 6, 2023
6d124d3
add cache
jmaslek Oct 6, 2023
a14d188
fixed auth w/@IgorWounds and @montezdesousa
the-praxs Oct 6, 2023
390f9cb
fixes for econometrics
hjoaquim Oct 6, 2023
84c194e
Merge branch 'feature/integration-testing' into hotfix/wrong-instanti…
hjoaquim Oct 6, 2023
b03e06d
include Darren auth suggestions
montezdesousa Oct 6, 2023
47821e2
some routers included if dev + chg hub backend var
montezdesousa Oct 6, 2023
bbe40da
coverage router should not be here
montezdesousa Oct 6, 2023
60df2bc
Merge branch 'feature/openbb-sdk-v4' into feature/integration-testing
the-praxs Oct 6, 2023
65ecfd7
update docker readme
montezdesousa Oct 6, 2023
59fcce4
forgot to check auth here
montezdesousa Oct 6, 2023
71e95a5
Change extension imports
jmaslek Oct 6, 2023
66f9ffd
update docstrings and readme
montezdesousa Oct 6, 2023
39e9136
headers function wasnt being called, just referenced
jmaslek Oct 6, 2023
ba169a8
relative import
jmaslek Oct 6, 2023
ce149aa
econometrics add headers everywhere
jmaslek Oct 6, 2023
d363eac
Fix QA
IgorWounds Oct 6, 2023
494a52e
Fix TA
IgorWounds Oct 6, 2023
4744b58
Merge
IgorWounds Oct 6, 2023
ea4f4a7
Fix test
IgorWounds Oct 6, 2023
8eb1497
Fix python interface QA and TA
IgorWounds Oct 6, 2023
9e569eb
Lint
IgorWounds Oct 6, 2023
2bde8e8
Cleanup
IgorWounds Oct 6, 2023
1d906d4
Merge pull request #5531 from OpenBB-finance/hotfix/wrong-instantiations
IgorWounds Oct 6, 2023
0874b99
Change path
IgorWounds Oct 6, 2023
4302e70
Merge branch 'feature/openbb-sdk-v4' into feature/integration-testing
hjoaquim Oct 7, 2023
549af38
make the changes and some etf models
deeleeramone Oct 8, 2023
63d7330
Merge branch 'feature/openbb-sdk-v4' of https://github.com/OpenBB-fin…
deeleeramone Oct 8, 2023
baf3bd3
tests for command_runner
hjoaquim Oct 8, 2023
6835838
ruff
hjoaquim Oct 8, 2023
b5bb99c
Merge pull request #5532 from OpenBB-finance/feature/more-unit-tests
IgorWounds Oct 8, 2023
e2224e0
Merge branch 'feature/openbb-sdk-v4' into feature/integration-testing
hjoaquim Oct 9, 2023
2f89ee0
solving naming issues on pytest
hjoaquim Oct 9, 2023
ee4decd
Update some docstrings, fix typos and lint
piiq Oct 9, 2023
45a7582
solving econometrics instantiating wrong openbb
hjoaquim Oct 9, 2023
6b1aebb
chaging the way pytest runs
hjoaquim Oct 9, 2023
f2cf772
messing around with the imports
hjoaquim Oct 9, 2023
7fd5336
ruff
hjoaquim Oct 9, 2023
51f4d37
Change template to add platform considerations (#5533)
hjoaquim Oct 9, 2023
687be73
solving __pycache__ issue
hjoaquim Oct 9, 2023
86e8118
removing typo
hjoaquim Oct 9, 2023
160f807
ci yml
hjoaquim Oct 9, 2023
24ce3e9
making linters happy (i guess)
hjoaquim Oct 9, 2023
9edd57d
Merge pull request #5494 from OpenBB-finance/feature/integration-testing
IgorWounds Oct 9, 2023
aeb0e0a
merge branch feature/openbb-sdk-v4
deeleeramone Oct 10, 2023
a1ca018
Improve Omega Ratio and docstrings
IgorWounds Oct 10, 2023
7b6f6f5
Merge branch 'feature/openbb-sdk-v4' into feature/add-v4-standard-models
hjoaquim Oct 10, 2023
a775242
chaging pro validation hash
hjoaquim Oct 10, 2023
7ab3816
ruff
hjoaquim Oct 10, 2023
7eca47e
Fix OLS Summary and lint
IgorWounds Oct 10, 2023
41be83f
Add OECD Provider for economy extension (#5534)
jmaslek Oct 10, 2023
2ba872e
Add record to docs
IgorWounds Oct 10, 2023
77a4a5b
Merge branch 'feature/openbb-sdk-v4' of https://github.com/OpenBB-fin…
deeleeramone Oct 11, 2023
92b12b5
update a couple of cboe models
deeleeramone Oct 11, 2023
fc15b7a
Fix econometrics bugs. Make tests pass. Lint.
IgorWounds Oct 11, 2023
0f039b7
black
hjoaquim Oct 11, 2023
500a25f
ruff
hjoaquim Oct 11, 2023
c12ba46
pydantic v2: remove deprecated Extra
montezdesousa Oct 11, 2023
1d3a6e9
pydantic v2: self.dict -> self.model_dump
montezdesousa Oct 11, 2023
2e1d901
revert pydantic
IgorWounds Oct 11, 2023
8cc230c
revert the revert
IgorWounds Oct 11, 2023
3736c31
try 1: pin urllib3 < 2
montezdesousa Oct 11, 2023
b9a8098
Revert "try 1: pin urllib3 < 2"
montezdesousa Oct 11, 2023
20dfda4
Revert dep
IgorWounds Oct 11, 2023
bfe31c3
Fix
IgorWounds Oct 11, 2023
19e51e3
re-lock
IgorWounds Oct 11, 2023
0d1c2bd
Skip all tests when doing cspell in pre-commit
piiq Oct 11, 2023
bd590c5
Resolve linter errors
piiq Oct 11, 2023
baa70b1
Add OECD to install script
IgorWounds Oct 11, 2023
5b103f0
Add OECD
IgorWounds Oct 11, 2023
bfa57dd
Resolve more linter errors
piiq Oct 11, 2023
623ea5a
Exclude static files of v4 python from ruff
piiq Oct 11, 2023
68dc4a3
More linting
piiq Oct 11, 2023
58717ec
Another attempt to resolve even more linting errors
piiq Oct 11, 2023
4356c7a
Change how Literal is used
IgorWounds Oct 11, 2023
6a4f47d
Merge pull request #5542 from OpenBB-finance/hotfix/fix-econometrics
IgorWounds Oct 11, 2023
f11a9d4
Merge branch 'feature/openbb-sdk-v4' of https://github.com/OpenBB-fin…
deeleeramone Oct 11, 2023
27956cc
Merge branch 'feature/add-v4-standard-models' of https://github.com/O…
deeleeramone Oct 11, 2023
c365186
ticker. symbol. consistent. @piiq
the-praxs Oct 11, 2023
162cfd4
change ticker field in Stock Search to is_symbol
deeleeramone Oct 11, 2023
7cbc661
Update Cboe model for stocks_search -> is_symbol parameter.
deeleeramone Oct 11, 2023
9e536ea
Fix issue
IgorWounds Oct 11, 2023
003e383
Merge
IgorWounds Oct 11, 2023
6a64043
Lint
IgorWounds Oct 11, 2023
f30adf6
Merge pull request #5524 from OpenBB-finance/feature/add-v4-standard-…
IgorWounds Oct 11, 2023
7298d76
Small QA to rename SDK to Platform (#5544)
the-praxs Oct 12, 2023
86aaf82
`validator` -> `field_validator` in standard models
the-praxs Oct 12, 2023
73171d7
Standard convention for multi-ticker symbols (#5549)
the-praxs Oct 12, 2023
e75b0a6
Fix stock_search integration test params
IgorWounds Oct 12, 2023
e7942e6
Update dependencies and linting on the CI (#5550)
piiq Oct 12, 2023
9dbc7b9
Fix buggy docstring in python package methods (#5548)
montezdesousa Oct 12, 2023
ab480cf
Merge with develop (#5551)
piiq Oct 12, 2023
dc8fe89
Merge branch 'develop' into feature/openbb-sdk-v4
piiq Oct 12, 2023
5ea8bee
Charting extension integration tests (#5547)
hjoaquim Oct 12, 2023
c8a2437
Add trading economics economic calendar
jmaslek Oct 12, 2023
a852f06
dev install
jmaslek Oct 12, 2023
2d8c35d
Data Models disposition on the website (#5538)
hjoaquim Oct 12, 2023
2073acf
everything except tests
jmaslek Oct 12, 2023
6423e58
fix `datetime.date` import in fetcher test
the-praxs Oct 12, 2023
61a66c4
merge
jmaslek Oct 12, 2023
8977a36
modified url to remove `api_key` placeholder
the-praxs Oct 12, 2023
561018d
record test
the-praxs Oct 12, 2023
057bf30
merge -- thnx prat
jmaslek Oct 12, 2023
7ead89b
api key is called c here
jmaslek Oct 12, 2023
e7abffe
fixed fetcher test for api key
the-praxs Oct 12, 2023
2d97585
recorded tests
the-praxs Oct 12, 2023
5c3fbfa
Merge branch 'feature/tradingeconomics' of https://github.com/OpenBB-…
the-praxs Oct 12, 2023
1017157
refactor
jmaslek Oct 12, 2023
d04edc1
life is ruff
jmaslek Oct 12, 2023
a7b20de
codespell
jmaslek Oct 12, 2023
64bdd02
Make Intrinio options chains great again (#5540)
the-praxs Oct 12, 2023
afaeaea
Merge pull request #5554 from OpenBB-finance/feature/tradingeconomics
jmaslek Oct 12, 2023
2e0cd88
Hotfix/fix post tests (#5555)
IgorWounds Oct 12, 2023
3e8043f
obbject tests (#5558)
hjoaquim Oct 13, 2023
ab430a1
change to model_dum() instead (#5561)
hjoaquim Oct 13, 2023
a5d2e83
Passing tests (#5560)
IgorWounds Oct 16, 2023
f6eac35
Stock Historical standardization and UX improvements (#5457)
the-praxs Oct 16, 2023
08549aa
Fix econcal endpoint (#5567)
hjoaquim Oct 16, 2023
fdbc6d7
Fixes FMP index endpoint to get 1 day interval data (#5535)
the-praxs Oct 16, 2023
9203900
`validator` -> `field_validator`, a3'd everything
tehcoderer Oct 16, 2023
324cfa6
Fix regression in tests. Lint
IgorWounds Oct 17, 2023
d82951b
updating the integration test actions
hjoaquim Oct 17, 2023
3f3477f
Fix typo
IgorWounds Oct 17, 2023
4178298
Fix typo
IgorWounds Oct 17, 2023
59b5fc1
Fix import
IgorWounds Oct 17, 2023
57df6dc
Publish versions `a3` to Pypi (#5568)
hjoaquim Oct 17, 2023
7b3a025
add providers to economy api
IgorWounds Oct 17, 2023
d4491ce
make symbol required in stock_quote
montezdesousa Oct 17, 2023
9e05906
Fix keys
IgorWounds Oct 17, 2023
ad71cc7
Fix oecd
IgorWounds Oct 17, 2023
a9dcc5b
add comma
IgorWounds Oct 17, 2023
9e10f6d
revert
IgorWounds Oct 17, 2023
8623898
Add quotes
IgorWounds Oct 17, 2023
f75454a
Sleep
IgorWounds Oct 17, 2023
1a39127
Improve tests
IgorWounds Oct 17, 2023
376730d
Improve
IgorWounds Oct 17, 2023
aafa1b3
Feature/query transform (#5566)
montezdesousa Oct 17, 2023
b64fe24
Merge branch 'develop' into feature/openbb-sdk-v4
IgorWounds Oct 17, 2023
9a7b3ec
av add `query` to `transform_data` call
the-praxs Oct 18, 2023
e05844b
transform_data: missing refactoring
montezdesousa Oct 18, 2023
2c7bef6
fix uvicorn command in the doc
the-praxs Oct 18, 2023
9eb6cc4
Automated examples (#5576)
IgorWounds Oct 18, 2023
c86faf8
Merge branch 'develop' into feature/openbb-sdk-v4
IgorWounds Oct 18, 2023
bbd530e
use SecretStr for sensitive fields (#5578)
montezdesousa Oct 19, 2023
f69868d
Add tests for provider (#5583)
IgorWounds Oct 19, 2023
b43c3ea
feature/v4-biztoc-provider: Adds Biztoc provider and GlobalNews (#5546)
deeleeramone Oct 19, 2023
7c7b4ca
Add Biztoc to workflow
IgorWounds Oct 19, 2023
494a3fd
update readme: credentials
montezdesousa Oct 20, 2023
914572f
Add Preferences to README
IgorWounds Oct 20, 2023
6a921e4
improve tests
IgorWounds Oct 20, 2023
ea5fda0
fix biztoc
IgorWounds Oct 20, 2023
c9199d8
obbject pylint
montezdesousa Oct 20, 2023
6952dd1
Bug fix: serializ SecretStr before dumping to json
montezdesousa Oct 22, 2023
c8fb915
Merge remote-tracking branch 'OpenBB-finance/develop' into feature/op…
hjoaquim Oct 23, 2023
58b5e69
export credentials as json (#5592)
montezdesousa Oct 23, 2023
88b49d5
Check for wrong, changed, or outdated params. (#5597)
IgorWounds Oct 24, 2023
55799d9
Improving `economy.cpi` for the FRED data (#5602)
the-praxs Oct 25, 2023
912fc6d
Improve error message.
IgorWounds Oct 25, 2023
863653d
Improve
IgorWounds Oct 25, 2023
0766d96
Merge branch 'develop' into feature/openbb-sdk-v4
IgorWounds Oct 25, 2023
8e1231d
Test tests (#5607)
IgorWounds Oct 25, 2023
b70ed0d
4.0.0a4 PyPI publishing (#5608)
hjoaquim Oct 26, 2023
0fa263f
cleaned `descriptions.py`
the-praxs Oct 26, 2023
386b135
fix description in `cpi.py`
the-praxs Oct 26, 2023
bc109ff
Add ETF extension to v4 (#5609)
piiq Oct 26, 2023
6b8947c
Add ETF historical price from yfinance (#5610)
piiq Oct 26, 2023
c51336f
remove `symbol` from data for `stocks.ca.peers`
the-praxs Oct 26, 2023
af6ea23
Merge branch 'feature/openbb-sdk-v4' of https://github.com/OpenBB-fin…
the-praxs Oct 26, 2023
deebdce
Test docstrings (#5613)
IgorWounds Oct 26, 2023
2764b7d
Clean up the newly created ETF extension (#5611)
piiq Oct 27, 2023
22a289f
user preferences descriptions (#5593)
hjoaquim Oct 27, 2023
d4e2fc8
Feature/v4-sec-provider: Add SEC provider to V4 (#5556)
deeleeramone Oct 30, 2023
5c0b856
Add didiers to_records method (#5588)
jmaslek Oct 30, 2023
435ed78
Feature/v4-price-performance: % returns for various horizons, compara…
deeleeramone Oct 30, 2023
6eec033
Feature/ipo-calendar: V4 IPO Calendar (#5605)
deeleeramone Oct 30, 2023
9392afc
Add disc router and WSJ provider
IgorWounds Oct 27, 2023
9714f55
OBBject extensions (#5612)
montezdesousa Oct 31, 2023
e0c23c3
Hotfix/fix-v4-economic-calendar: Add FMP to Econ Calendar and fix som…
deeleeramone Oct 31, 2023
df1b0c6
Add stocks disc endpoints (#5630)
IgorWounds Oct 31, 2023
a52d196
Bump timeout
IgorWounds Oct 31, 2023
fc97948
Feature/disc router (#5616)
IgorWounds Oct 31, 2023
0a99b55
Add ETF info and sector exposure from FMP (#5620)
piiq Oct 31, 2023
4b4cd9a
Add ETF holdings and holding report dates from FMP (#5629)
piiq Oct 31, 2023
b7d6ba8
Disc router for equities. (#5640)
IgorWounds Nov 1, 2023
83874da
Bug fixes in financial statements (#5537)
the-praxs Nov 1, 2023
96a20a6
Add ETF county weighting command with FMP data (#5645)
piiq Nov 1, 2023
146bb71
fix missing data in intrinio financials
the-praxs Nov 2, 2023
c49d764
removed inutile params from Polygon financial statement models
the-praxs Nov 2, 2023
a5b6774
Intrinio IPO overhaul
the-praxs Nov 2, 2023
2c0ede7
tests fixed and re-recorded
the-praxs Nov 2, 2023
108a3eb
Add ETF holdings performance with FMP data (#5659)
piiq Nov 3, 2023
8e6967b
Add stock search from FMP (#5642)
deeleeramone Nov 3, 2023
3b8004c
Feature/v4 pypi (#5579)
hjoaquim Nov 3, 2023
e2acb3b
economy.calendar nasdaq (#5628)
montezdesousa Nov 3, 2023
b1c98f4
Feature/v4-dividend-calendar: Adds Nasdaq dividend calendar and moves…
deeleeramone Nov 6, 2023
6740a59
remove references to test
hjoaquim Nov 6, 2023
0a79b2c
Add disc endpoints (#5660)
IgorWounds Nov 6, 2023
d365d92
using dev install (#5673)
hjoaquim Nov 6, 2023
537a6da
Expanding the `fixedincome` menu (#5655)
hjoaquim Nov 6, 2023
ec1d5ca
Feature/user-cache-dir: Add User Preference for the Cache Directory (…
deeleeramone Nov 6, 2023
88099d2
improve docs structure for V4 (#5586)
DidierRLopes Nov 6, 2023
8c965c4
Add multi-ticker support to etf_countries (#5670)
deeleeramone Nov 7, 2023
d71b9fa
Fix Nasdaq Econ Calendar Fetcher (#5668)
deeleeramone Nov 7, 2023
4fb3572
Feature/v4-unusual-options: Adds unusual options endpoint. (#5677)
deeleeramone Nov 7, 2023
dcc64d1
Change type
IgorWounds Nov 7, 2023
e5e10d3
update FMP fetcher to use the V4 endpoint (#5681)
deeleeramone Nov 7, 2023
da4de4b
Fix price performance not parsed correctly when there is only 1 ticke…
piiq Nov 8, 2023
2c337db
Add crypto search standard model and FMP data for it (#5679)
piiq Nov 8, 2023
56842eb
Apply renaming to news data (#5684)
piiq Nov 8, 2023
f666a0b
Feature/v4-market-snapshots: Adds full market snapshots (#5473)
deeleeramone Nov 8, 2023
82fc6ee
Add NBBO Quotes, with historical, to `obb.stocks.quote()` (#5617)
deeleeramone Nov 8, 2023
dddcea3
hotfix/update-quandl-to-nasdaq: Merge Quandl + Nasdaq (#5682)
deeleeramone Nov 8, 2023
72a197f
Add more input types to data processing commands (#5453)
hjoaquim Nov 8, 2023
0820c1a
Add stocks/dps module (#5638)
jmaslek Nov 8, 2023
1978439
Rename Forex to Currency (#5687)
IgorWounds Nov 8, 2023
694ca6e
restore fields as optional (#5686)
deeleeramone Nov 8, 2023
76e335f
Rename Crypto (#5689)
the-praxs Nov 8, 2023
0259766
Move model from sec to finra (#5692)
jmaslek Nov 9, 2023
ec7be90
Update toml
IgorWounds Nov 9, 2023
15965ec
fixed deps
the-praxs Nov 9, 2023
f223f5d
add openbb-etf lock file
the-praxs Nov 9, 2023
260dc66
cleanup
the-praxs Nov 9, 2023
e2b29ba
cleanup (#5694)
the-praxs Nov 9, 2023
caabe8d
Merge branch 'feature/openbb-sdk-v4' of https://github.com/OpenBB-fin…
the-praxs Nov 9, 2023
511558e
Rename Fixed Income (#5695)
IgorWounds Nov 9, 2023
7c2d0ed
Rename stocks to equity (#5688)
piiq Nov 10, 2023
3f1c990
Feature/files-for-igor: Adding a few standard models for Igor (#5699)
deeleeramone Nov 10, 2023
a40b47e
Add devtools metapackage (#5703)
piiq Nov 10, 2023
26a37b8
Rename econometrics commands to be more verbose (#5702)
piiq Nov 10, 2023
7ae881a
Expose command to model map (#5706)
IgorWounds Nov 10, 2023
3c1510f
Rename ta qa (#5708)
piiq Nov 10, 2023
c6f0863
Equity cleanup (#5707)
the-praxs Nov 10, 2023
ad7fd7a
Don't enforce imperative for first word of the docstring
piiq Nov 10, 2023
f5b7036
Remove ultima from default extensions
piiq Nov 11, 2023
8718c08
Rename `economy` and create `index` extension (#5705)
the-praxs Nov 11, 2023
d1cd9ac
Merge branch 'develop' into feature/openbb-sdk-v4
piiq Nov 11, 2023
0ac0fd6
Rename etf/disc (#5715)
piiq Nov 12, 2023
b32373f
Docs/v4-working-docs: PR to Work on V4 Docs (#5693)
deeleeramone Nov 12, 2023
7b521d6
Revert changes related to pydantic2 made into v3 code
piiq Nov 12, 2023
314700f
Revert fred model changes in v3
piiq Nov 12, 2023
58934c1
Revert pydantic2 databento model changes in v2
piiq Nov 12, 2023
ebd0963
Update some names and v3 lock file
piiq Nov 12, 2023
c7d6d72
Clean up openbb/package before the beta release
piiq Nov 12, 2023
c3f7df8
Platform publishing procedure (#5701)
hjoaquim Nov 13, 2023
549537b
Changes to get `a7` out (#5697)
hjoaquim Nov 13, 2023
5f40a44
Update publishing instructions
piiq Nov 13, 2023
179c2bb
Bump core dependencies in extensions and providers
piiq Nov 13, 2023
b4e4348
Add changes to the publish script following the beta release
piiq Nov 13, 2023
886cfb8
Update the versions in static extension map and openbb metapackage
piiq Nov 13, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@
omit =
env/*
tests/*
**/tests/**
**/package/**
source = .
8 changes: 4 additions & 4 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ on:
types: [opened, synchronize, edited]
push:
branches:
- 'feature/*'
- 'hotfix/*'
- 'release/*'
- "feature/*"
- "hotfix/*"
- "release/*"
merge_group:
types: [checks_requested]

Expand Down Expand Up @@ -48,7 +48,7 @@ jobs:
pip install types-pytz types-requests types-termcolor types-tabulate types-PyYAML types-python-dateutil types-setuptools types-six
- run: bandit -x ./tests -r . || true
- run: black --diff --check .
- run: codespell --ignore-words-list=vai,mis,gard,commun,statics,ro,zar,zlot,jewl,ba,buil,coo,ether,hist,hsi,mape,navagation,operatio,pres,ser,yeld,shold,ist,varian,datas,ake,creat,vie,hel,ket,toke,certi,buidl,ot,te,buda,shs,welp --quiet-level=2 --skip=./tests,.git,*.css,*.csv,*.html,*.ini,*.ipynb,*.js,*.json,*.lock,*.scss,*.txt,*.yaml,./build/pyinstaller,./website/config.toml -x openbb_terminal/economy/fedreserve_model.py
- run: codespell --ignore-words-list=vai,mis,gard,commun,parana,statics,ro,zar,zlot,jewl,ba,buil,coo,ether,hist,hsi,mape,navagation,operatio,pres,ser,yeld,shold,ist,varian,datas,ake,creat,vie,hel,ket,toke,certi,buidl,ot,te,buda,shs,welp,fo,nwe --quiet-level=2 --skip=./tests,.git,*.css,*.csv,*.html,*.ini,*.ipynb,*.js,*.json,*.lock,*.scss,*.txt,*.yaml,./build/pyinstaller,./website/config.toml -x openbb_terminal/economy/fedreserve_model.py
- run: ruff .
- run: mypy --ignore-missing-imports openbb_terminal
- run: pylint terminal.py openbb_terminal tests
Expand Down
43 changes: 43 additions & 0 deletions .github/workflows/sdkv4-core.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Test SDKV4

on:
pull_request:
branches:
- feature/openbb-sdk-v4

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true

jobs:
unit_tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python_version:
["3.8", "3.9", "3.10", "3.11"]
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.ref }}
- name: Install Python ${{ matrix.python_version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python_version }}
allow-prereleases: true
cache: "pip"

- name: Cache pip packages
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('openbb_sdk/poetry.lock') }}
restore-keys: |
${{ runner.os }}-pip-

- name: Run tests
run: |
pip install nox
nox -s tests --python ${{ matrix.python_version }}
15 changes: 13 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
__pycache__/
logs/
*.pyc
.DS_Store
*.env
Expand All @@ -13,6 +12,8 @@ venv/
!notebooks/jupyter/.gitkeep
.python-version
.mypy_cache
.ruff_cache
.pytest_cache
iframe_figures/
exports/*
.idea
Expand Down Expand Up @@ -46,13 +47,16 @@ openbb_terminal/core/plots/assets/plotly*.js
**/node_modules/*
# pyinstaller artifacts
*.pyo
dist/*
**/dist/*
build/terminal
build/nsis/app
DMG/*
*.dmg
*.sh

# User settings for the SDK
user_settings.json

# User stylesheets
openbb_terminal/miscellaneous/styles/user/hub.richstyle.json

Expand All @@ -71,3 +75,10 @@ cache/

# lightning logs
lightning_logs/

# user script to install all extensions and providers
openbb_sdk/sdk/core/tests/app/model/charts/test_chart_settings.py
*/mocked_path

# CA certificates
*.pem
24 changes: 16 additions & 8 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,25 @@ repos:
rev: "v0.0.285"
hooks:
- id: ruff
- repo: https://github.com/pycqa/pydocstyle
rev: 6.3.0
hooks:
- id: pydocstyle
name: pydocstyle
entry: pydocstyle
language: python
types: [python]
files: '^openbb_sdk/.*\.py$'
exclude: 'tests/.*\.py|openbb_sdk/test_.*\.py'
args: ["--config=pyproject.toml"]
- repo: https://github.com/codespell-project/codespell
rev: v2.2.5
hooks:
- id: codespell
entry: codespell
args:
[
"--ignore-words-list=VAI,MIS,shs,gard,te,commun,ro,zar,vie,hel,jewl,zlot,ba,buil,coo,ether,hist,hsi,mape,navagation,operatio,pres,ser,yeld,shold,ist,varian,datas,ake,creat,statics,ket,toke,certi,buidl,ot",
"--ignore-words-list=VAI,MIS,shs,gard,te,commun,parana,ro,zar,vie,hel,jewl,zlot,ba,buil,coo,ether,hist,hsi,mape,navagation,operatio,pres,ser,yeld,shold,ist,varian,datas,ake,creat,statics,ket,toke,certi,buidl,ot",
"--quiet-level=2",
"--skip=./tests,.git,*.css,*.csv,*.html,*.ini,*.ipynb,*.js,*.json,*.lock,*.scss,*.txt,*.yaml,build/pyinstaller/*,./website/config.toml",
"-x=openbb_terminal/economy/fedreserve_model.py",
Expand All @@ -49,7 +60,7 @@ repos:
hooks:
- id: pylint
name: pylint
entry: pylint openbb_terminal terminal.py tests -j 0
entry: pylint
language: system
types: [python]
- repo: https://github.com/Yelp/detect-secrets
Expand All @@ -61,17 +72,14 @@ repos:
"--baseline",
".secrets.baseline",
"--exclude-files",
"cassettes/*",
"--exclude-files",
"record/*",
"--exclude-files",
"website/content/api/*",
"cassettes/.*|record/.*|website/content/api/.*|openbb_sdk/extensions/charting/openbb_charting/infrastructure/assets/.*\\.js|openbb_sdk/extensions/charting/openbb_charting/infrastructure/.*\\.html",
]
exclude: package.lock.json
exclude: package.lock.json
- repo: local
hooks:
- id: reserved_args
name: Check validity of reserved arguments
entry: python custom_pre_commit/check_reserved_args.py
language: system
types: [python]
files: .*_controller\.py$
2 changes: 1 addition & 1 deletion .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@ max-returns=9
max-statements=120

# Minimum number of public methods for a class (see R0903).
min-public-methods=1
min-public-methods=0


[EXCEPTIONS]
Expand Down
9 changes: 7 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ Use your best judgment, and feel free to propose changes to this document in a p
- [Data sources](#data-sources)
- [View](#view)
- [Controller](#controller)
- [Add SDK endpoint](#add-sdk-endpoint)
- [Add SDK endpoint (V3)](#add-sdk-endpoint-v3)
- [Add SDK endpoint (V4)](#add-sdk-endpoint-v4)
- [Add Unit Tests](#add-unit-tests)
- [Open a Pull Request](#open-a-pull-request)
- [Review Process](#review-process)
Expand Down Expand Up @@ -452,7 +453,7 @@ The **import only occurs inside this menu call**, this is so that the loading ti

In addition, note the `self.load_class` which allows to not create a new `FundamentalAnalysisController` instance but re-load the previous created one. Unless the arguments `self.ticker`, `self.start` or `self.stock` have changed since. The `self.queue` list of commands is passed around as it contains the commands that the terminal must perform.

### Add SDK endpoint
### Add SDK endpoint (V3)

In order to add a command to the SDK, follow these steps:

Expand Down Expand Up @@ -508,6 +509,10 @@ In order to add a command to the SDK, follow these steps:
python generate_sdk.py sort
```

### Add SDK endpoint (V4)

Refer to the documentation [here](openbb_sdk\CONTRIBUTING.md).

### Add Unit Tests

This is a vital part of the contribution process. We have a set of unit tests that are run on every Pull Request. These tests are located in the `tests` folder.
Expand Down
33 changes: 33 additions & 0 deletions build/docker/api.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# ---- Base Python ----
FROM python:3.10-slim-buster AS base

# set work directory
WORKDIR /openbb

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# install dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends build-essential openssh-client \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

# ---- Copy Files/Build ----
FROM base AS builder

WORKDIR /openbb

COPY ./openbb_sdk ./openbb_sdk

# Install the SDK
RUN pip install /openbb/openbb_sdk

# ---- Copy Files ----
FROM base

COPY --from=builder /usr/local /usr/local

# Specify the command to run
CMD ["uvicorn", "openbb_core.api.rest_api:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
2 changes: 1 addition & 1 deletion build/pyinstaller/hooks/hook-rich.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
from PyInstaller.utils.hooks import copy_metadata, collect_data_files
from PyInstaller.utils.hooks import collect_data_files, copy_metadata

datas = copy_metadata("rich") + collect_data_files("rich")
16 changes: 16 additions & 0 deletions noxfile.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import nox

test_locations = [
"openbb_sdk/tests",
"openbb_sdk/sdk",
"openbb_sdk/providers",
]


@nox.session(python=["3.8", "3.9", "3.10", "3.11"])
def tests(session):
session.install("poetry", "toml")
session.run("python", "./openbb_sdk/dev_install.py", "-e", "all", external=True)
session.install("pytest")
session.install("pytest-cov")
session.run("pytest", *test_locations, "--cov=openbb_sdk/")
Loading
Loading