montezdesousa
291344b9c0
Autogenerate credentials model from json ( #4624 )
...
* autogenerate credentials model
* revert to to_dict
* black
* mypy
* ruff
* ignore mypy
* degiro secret to replace me
* add safeguard for people not flashing keys
* ruff
* split local and hub keys
* warn if writing to .env
* warn if sending to hub
* update user on what's going on...
* update fixture
* rewrite expected
* rewrite cassettes
* rewrite controller cassettes
* too much changes, let's revert here
* rever env handler
* rewrite std output
* patch usermodel and rewrite cassettes
* delete unecessary cassettes and std out records
* remove controller cassettes
* ruff
* add exception for inconclusive api tests opening controller
* fix twitter key and env handler prints
* fix twitter test
---------
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt >
2023-04-03 09:12:01 +00:00
montezdesousa
b6b42afd71
Hub | Add colors, sources sync ( #4546 )
...
* fix show version
* update login prompt and account
* update set preference
* fix account controller
* block login/logout if not called from account
* change conditions to start terminal
* fix required args account model
* add not to login command
* pylint
* accounte controller messages
* set default user when logout
* logout then show menu
* remove unused functions
* fix logging bug
* ruff
* fix account unittests
* fix session unittests
* refactor colors preference
* no theme, no party
* add colors sync
* dynamic theme
* add comment
* add colors to settings
* ruff
* linting
* update menu desc
* adjust keys sync flag
* write to dotenv sync flag
* english
* fix pull command
* fix edge cases
* handle some errors
* small bug
* change func name
* pylint
* no light
* colors preview
* ruff
* fix login logout preferences
* ruff
* delete folder
* pylint
* default, custom, hub
* fix clear
* docstring
* add preference exceptions
* set only rich style
* request theme only if hub
* linting
* change guest msg
* add option to update chart style on the fly
* apply style
* rollback to old terminal style
* fix console theme
* remove print
* remove hub rich style
* ruff
* mypy
* black
* Hub | Add sources sync (#4565 )
* Add sources model
* adapt session model
* fetch sources dict
* rename local funcs
* set sources inside current user
* set sources inside current user
* generate sources dict from hub
* fix dict generator
* send request to hub
* fix conflict
* revert datasources to develop head
* fix docstring
* avoid invalid patch types
* add default option to sources
* fix small bug on sources
* ruff
* black
* remove (
* mypy failing only on git
* ignore mypy
* pylint
* fix settings controller
* Tests: fix keys model writing to .env
* fix keys controller test writing to .env
* ruff
* Test: fix account controller
* Test: fix account controller pull
* Tests: fix launch terminal
* Test: add sources to user object
* Tests: fix clear cmd tests
* ruff
* revert core/sdk changes
* TerminalStyle docstring
* upload config docstring
* remove comment
* remove unecessary pylint disable
* revert openbb_terminal/sdk changes
* Terminal style docstring
* docstring
* remove unecessary changes
* add TODO
* add other todo
* Tests: prevent sync from being written in .env
* change clear msg
* display sources source on menu
* update settings controller
* display keys source
* black
* sync not needed for pull
* remove sync from apply configs
* change func name for consistency
* Update test_keys_model.py
* save rich style in user folder
* search recursively inside styles
* set hub theme by default
* remove debug print
* allow any plot style
* comment plotstyle sync for now
* fix sources set terminal to hub
* ruff
* rewrite cassettes
* remove repeated settings
* rewrite expected
2023-03-27 16:59:36 +00:00
montezdesousa
bdbd6a12f8
fix test keys written on .env file ( #4599 )
2023-03-27 14:43:06 +00:00
montezdesousa
475ebb5acd
[WIP] Migrate user, feature flags and configurations to dataclass ( #4309 )
...
* implement user and change is guest
* replace User methods
* move remaining functions to user
* fix bug
* portfolio test
* fix tests
* fix tests
* uncomment skip
* ruff
* start credentials model implementation
* change deault structure
* refacto quandl
* change default struct and file names
* bug
* start using global user
* add comments
* move update flair
* change cfg references in keys model
* reddit & fmp
* refactore additional keys
* remaing config keys
* remove unsude imports and fix hub keys
* ruff
* fix line too long
* unblock unittests
* fix keys model tests
* remove os patch
* fix account controller tests
* fix account controller tests
* fix account model
* account fixed
* fix user tests
* User Model
* User Model
* User Model
* Move session folder
* User Model : grouping the models
* User Model : fix bugs
* Config Plot + bug fix
* User Model : Refactoring plots
* Feature flags
* Remove dup
* clean comments a fix some vars
* fix feature flags controller
* refactor obbff from settings controller
* refactor a bunch of obbff variables
* fix bug blocking terminal
* fix integration tests
* refactor controllers with obbff
* refactor remaining ffs
* remove comments
* log not started
* mispelled variable
* set current user on local model
* User Model : moving files + updating
* User Preferences
* User : Refactor is_guest function + bug fix
* User : refactor is_guest function
* Fix conftest.py
* remove lost obbffs
* typo on fileoverwrite
* Plot config: move variables and start plot dpi
* User : tests
* refactor plot dpi references
* remove plot dpi imports
* refactor some config terminal leftover
* /account/sync : fix bug
* remove configs reload
* start path refactor
* installation paths vs user paths
* remove cfg_plot
* Tests : User Refactoring
* user prefix only for preferences
* user prefix only for preferences
* move user paths
* remove comment
* update apply remote configs
* fix tz not updating
* save some copys
* small fix
* create interface for credentials and preferences
* wrong docstrings fixed
* ruff core
* fix some pref setting
* login is better
* ruff
* ruff
* remove Literal
* add small comment
* Tests : User Refactoring
* Credentials Model : add DataBento
* Fix helper_funcs
* Fixing code
* Tests : fixing
* User Model : freezing the models
* Fixed Income + Databento
* Tests : fixing keys
* black
* ruff
* Tests : user model
* Tests : user model
* Fix linting
* Fix linting
* Linting
* Linting
* Fixing code and tests
* Fix tests
* mypy
* SDK
* Clean ruff cache
* Fix syntax issue
* Update fred_view
* Black
* Linting
* Update code
* Update tests
* Linting
* Linting
* Tests
* Black
* Linting
* Linting
* Mock os.listdir to avoid looking for file that doesnt exist
* Mock options paths
* lint
* Tests : fix
* Code : update
* Tests + Linting
* Tests
* Ruff
* Code : update
* Tests
* Code : update
* Fix workflow
* Code : update
---------
Co-authored-by: Chavithra PARANA <chavithra@gmail.com >
Co-authored-by: luqazino@gmail.com <luqazino@gmail.com >
Co-authored-by: James Maslek <jmaslek11@gmail.com >
2023-03-05 00:37:19 +01:00
teh_coderer
602cfa2c8c
[POC] Plotly Backend ( #3941 )
...
* Update portfolio_view.py
* mypy 1.0 test
* Update helpers.py
* black
* ruff
* Update thought_of_the_day.py
* isort
* Update portfolio_view.py
* Update business_insider_view.py
* funds,bt,ca,fa view updates
* economy,etf,futures view updates
* econometrics regression
* mypy
* reports notebooks, PlotlyTA class adjustments, crypto finbrain view
* crypto views updates
* crypto views done?, ba, econometrics, funds, reports
* update docstrings
* Update sec_view.py
* portfolio reports
* Update equity.ipynb
* ruff
* mypy + equity reports
* Update yahoo_finance_view.py
* Update economy_controller.py
* clean up returns
* mypy
* finished dashboards/reports templates
* update some tests
* Update common.py
* Update account_controller.py
* Update banner.txt
* update tests
* tests
* Update helpers_denomination.py
* tests
* tests
* finished tests, refactor add_histplot/add_corr_plot
* ruff
* Update backend.py
* mypy
* Update backend.py
* pywry linux libs for tests
* pywry version bump
* OpenBBFIgure import changes
* Update business_insider_view.py
* Update backend.py
* tests
* bump pywry version
* forecast plot_explainability converted to plotly
* Update helpers.py
* tests
* Update helpers.py
* tests
* Update helpers.py
* Update helpers.py
* default plotly annotation `showarrow` to false
* Update backend.py
* fixes
* Update poetry.lock
* docker
* Update openbb.dockerfile
* up
* Update style.css
* bump pywry version
* Update unit-test.yml
* Update unit-test.yml
* figure to image/pdf export
* requirements txt files, pywry version bump
* mypy, pylint
* cleanup
* Update covid_view.py
* Update helper_funcs.py
* Update backend.py
* updates
* Update backend.py
* Update backend.py
* bump pywry version
* Update poetry.lock
* Update trailmap.py
* update reports
* Update custom_indicators_plugin.py
* Update momentum_plugin.py
* equity report
* reqs files
* Update fred_view.py
* ruff
* Update po_view.py
* bump pywry version
* reqs txt files
* fix installer icons for mac
* test updated torch/darts/pyinstaller on mac
* Update dashboards_controller.py
* Update terminal.py
* Update terminal.spec
* Update terminal.spec
* test
* Update poetry.lock
* Report adjustments, improved dashboard subprocesses termination
* pylint
* Update plotly_helper.py
* Update plotly_helper.py
* pylint
* revert darts
* test
* test
* fix
* improve shap scatter plot
* Update helpers.py
* Update helpers.py
* cleanup
* Update runa_view.py
* more cleanupp
* fixes
* update tests
* Update intrinio_view.py
* Update intrinio_view.py
* Update intrinio_view.py
* reqs files, poetry lock
* Update backend.py
* test for new icon
* Update fmp_view.py
* updates
* Update plotly_helper.py
* Update businessinsider_view.py
* ruff
* pylint
* fix previous merge
* Update plotly_helper.py
* update reqs files
* Update directories.py
* fix alt covid
* fix display_candle data is None load being unreachable, get covid views ready for sdk server
* Update covid_view.py
* refactor cleanup
* plotly_ta adjustments
* terminal wide ignore print_table if export
* Update plotly_helper.py
* forgot to save a few
* added edge case fallback if figures are in queue before backend fail
* Update ta_class.py
* Rename env variable name required to return plotly json
* Resolve pydocstyle warnings
* Resolve linting errors
* revert forecasting/pyinstaller versions
* Update terminal.spec
* finished incoming fixedincome menu, improve get_ecb_yield_curve speed with multiprocessing
* update deps
* Update backend.py
* fix fred model/view from switch to DataFrame, improve ecb_model
* Update config_terminal.py
* Update backend.py
* black
* clean up
* Update fred_view.py
* Update ta_class.py
* Update ta_class.py
* Update plotly_helper.py
* sync fixedincome
* Update ecb_model.py
* convert excel to csv for faster processing
* cleanup
* remove excel files
* Update terminal_controller.py
* update tests
* adjustments/missed figs in export_data
* Update cryptocurrency_helpers.py
* fixes
* account for volume column with no volume when plotting indicators , images autogen POC
* Update plotly_helper.py
* Update etf_controller.py
* Update etf_controller.py
* margin arg for export_data func figures, some plot adjustments
* logic for numpy array for plotly helper `get_dateindex` function
* cleanup
* update
* req file updates
* views
* Update backend.py
* update tests
* Update test_load_none[btc-usd].yaml
* convert merged cpi chart
* linting
* updates
* clean
* tests
* Update openbb.dockerfile
* remove test docker in root
* Update CONTRIBUTING.md
---------
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com >
Co-authored-by: Chavithra <chavithra@gmail.com >
2023-03-01 22:48:45 -05:00
DidierRLopes
f1a824a179
Add tweet news in terminal toolbar ( #3757 )
...
* Add tweet news in terminal toolbar
* allow to store tweet news settings
* update dependencies
* Add tweet news in terminal toolbar
* lint
* dependencies
* 5s timeout for twitter api
* poetry update for resolve
* reqs
* set news to false by default
* update tweepy
* update reqs
* update reqs again?
* update setuptools
* small improv
* Add tweet news in terminal toolbar
* update packages
* black linting
* black formatting
* ruff fixes
* fix settings controller
* Reqs
* fix tz issue
* add keywords selection
* linting
* helper funcs mypy
* pylint fixes
* Checkout poetry.lock + pyproject.toml
* Update dependencies
* Remove integration test file
* News Toolbar : Fix bugs
* Tests : News Toolbar
* Update dependencies
* Tests : change variable name
* Remove unused keys
* Remove unecessary global variable
* Fix linting
* Lighter API call
* Ruff
* Linting + Remove keys
* Linting
* Dotenv loading issue.
* Ruff
* Revert "Dotenv loading issue."
This reverts commit 4493f1a3e7 .
* Tests : fix
* Tests : fix test_settings_controller.py
* Twitter Toolbar : avoid checking API when not enabled
* Tests : news toolbar
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com >
Co-authored-by: Chavithra PARANA <chavithra@gmail.com >
2023-02-23 13:22:22 +01:00
montezdesousa
825b8955df
Set guest by default and put authentication behind environment variable ( #4197 )
...
* small bug
* small bug on routines list
* guest as default
* limit logout to users2
* simpler this way
* add logout
* move logout to account & add env var
* put authentication under env var
* fix tests
* remove login
* remove openbb vars on login
* ruff
* revert .toml
* Delete Icon
* Update .env
* fix sdk guest not loading keys
* ruff
* remove press enter & --login
* ruff
* move env load
* load env
* move dot env loading to terminal.py
* fix user sdk login mixing .env with user
* now it works
* fix reset
* fix tests
* ruff
* Login on the SDK using the OpenBB Personal Access Token (#4206 )
* openbb key on keys menu
* adding sdk endpoints
* adding login via token to the sdk
* base url
* rename to personal access token
* added docstrings and examples
* openbb is special
* removing extra break line
* making keys working with the personal access token
* resolve conflicting tests
* Revert "resolve conflicting tests"
This reverts commit 2fca2c0ec3 .
* using custom requests
* tests
* tests
* tests
* using process_session_response instead
* rewriting some tests
* Fix sdk guest not loading keys (#4207 )
* fix sdk guest not loading keys
* ruff
* remove comment
* tests
---------
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com >
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com >
Co-authored-by: James Maslek <jmaslek11@gmail.com >
* test record mode vcr none
* remove yes from tests yml
* specify modules to reload
* try disable check api
* UPdate spec file
* Small stocks bug
* avoid reloading in test mode
* will this work?
* skip session tests
* try with env var as well
* mock sdk reload
* pylint
* bump poetry on python 3.8
* adapt to python 3.8
* adapt to python 3.8 remaining tests
* Tests : update cassettes
* Fix linting
* Makes login conditions simpler
* Tests : txt
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com >
Co-authored-by: Chavithra <chavithra@gmail.com >
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt >
2023-02-14 09:56:03 +00:00
montezdesousa
1186939884
Fix keys menu: tokenterminal & shroom bug fix ( #2781 )
...
* fix tikenterminal and shroom
* add unittests
* add the 2 keys to api
2022-10-11 10:16:28 +01:00
montezdesousa
732a614937
Allow users to change api keys through OpenBB SDK ( #2642 )
...
* set fred keys through api
* linting
* doc change
* expose api keys dict
* allow optional persistency of api key change
* black
* place decorators
* add keys paths
* av and fmp keys
* some fixes
* rewrite av, fmp, fred cassettes
* quandl key
* polygon key
* rewrite polygon cassette
* news and tradier
* cmc key
* change some docstring
* change some docstring
* filtered keys dict on mykeys
* simplify mykeys collection
* revert arg to persist
* finnhub
* iex key
* reddit key
* reddit docstring
* check for prefix before removing
* glassnode key
* glassnode virtual path
* bitquery keys
* twitter key
* robinhood key
* degiro keys
* oanda key
* binance keys
* si key
* coinbase key
* refactor btcrb dates and logic
* walert key
* coinglass key
* regenerate cassettes
* cpanic keys
* ethplorer keys
* replace ouput status failed msg
* smartstake keys
* gitub keys
* messari keys
* eodhd keys
* santiment keys
* remove unused imports
* typo formatting test
* remove forbidden arg
* fix btcrb test
* fix test import
* revert cassette changes
* fix more tests
* fix last failing
* black
* try to change status to int code
* change status to int
* first try at keys controller refactoring
* fix some tests accordingly
* display msg on set
* change some vars
* remove elifs
* add progress bar and remove duplicate key check
* add mykeys and refresh to menu
* remove unused import
* change mykeys output to df
* remove check keys from keys ctrl tests
* update test split to new structure
* reduce duplicate code
* upper case
* change var name
* rename mykeys df cols
* add keys integrations tests
* add mykeys test to keys controller
* fix mykeys
* fix wrong eodhd var name
* pylint
* test_set_key
* black
* patch dotenv kinda
* fix mypy
* remove refresh
* filter mykeys df
* filter mykeys df
* update integration tests
* first unit test for set api key
* add 2 more test cases to fred
* add persist test to fred unittest
* add av unittest
* add polygon unittest
* generate av cassettes
* add unittests av, fmp, quandl, polygon, fred
* change si token to key
* forgot controller func
* unittest: news, tradier, cmc, finnhub, iex, bitquery
* add si unittest
* update eodhd key name
* add unittest: walert, glassnode, coinglass, cpanic, ethplorer, github, messari, eodhd, santiment
* black
* add reddit unittest
* refactor unittests to handle multi args
* regenerate cassettes
* add more unittests
* add degiro, oanda and rh unittest
* generate oanda records
* fix rh and degiro unittest
* fix oanda unittest
* black
* flake8
* fix si controller test
* move tmp
* pylint
* fix av test
* fix fmp key check
* rewrite fmp
* rewrite oanda output
* fix quandl check
* rewrite expected
* supress logger exception
* fix iex cloud key
* remove iex warning
* fix coinglass check key
* cpanic fix
* regenerate cpanic cassettes
* flake8
* fix smartstake keys check
* regenerate expected output
* fix eodhd
* try at binance
* black
* fix controller tests
* pylint
* disable warning
* flake
* add option to show keys
* add Enum to model
* regenerate test output
* update contributing
* flake
* fix type hint
* remove status msg dict
* pylint
* regenerate and remove unecessary cassettes
* remove duplicate return
* supress traceback
* remove unused imports
* update some docstrings
* add todo
* add export option to mykeys
* minor change
* refactor color scheme
* update contributing
* update contributing
* regenerate cassettes
* fix check output
* small msg change
* small details
* rewrite some tests
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt >
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com >
2022-10-08 12:30:23 +02:00
Colin Delahunty
5bc7bc070e
Tests over API Best Practices ( #2344 )
...
* Started new tests
* Added special function
* Improved dict
* Finished new test
* Got bad functions to 75
* Got bad func to 73
* Bad func down to 60
* Bad func down to 50
* Bad func down to 35
* Got bad func to 30
* No more bad functions
* Added tests
* Added fix
* Fixed some tests
* Fixed some tests
* Fixed some tests
* Fixed some tests
* Added tests to CI
* Fixed CI tests
* Fixed CI tests
* Imrproved CI tests
* Fixed reports
* Fixed reports
* Added stuff
* Removed CI
* Fixed
* Fixed some typing'
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com >
2022-09-22 22:31:46 +01:00
DidierRLopes
8edf079041
Big refactor to be explicit about data sources ( #2490 )
...
* refactor stocks datasources
* add rest of data sources
* add_cmd without source
* forgot one tiny thing
* fix crypto tests
* fix forex tests
* fix etf tests
* fix economy tests
* fix oss tests
* fix remaining tests
* fix tests
* Rewrote vcr files
* Take 2
* fix test
* fix tests for FA
Co-authored-by: colin99d <colin99delahunty@gmail.com >
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com >
2022-09-04 18:04:56 +01:00
Colin Delahunty
f4bcfcca1c
Fixed breaking changes to hotpenny ( #2368 )
...
* Fixed breaking changes to hotpenny
* Added features
* Added fixes
2022-08-19 09:21:39 -04:00
soggyomelette
a9755e2847
add a test for oanda key ( #2297 )
...
Co-authored-by: Chavithra <chavithra@gmail.com >
2022-08-16 11:56:43 +02:00
soggyomelette
824373cad1
Adds santiment to keys menu in response to #2224 ( #2238 )
...
* 'Adds santiment key in keys_controller.py and adds tests for santiment and messari keys'
* fix linting
* fix linting
* Fixed \n issue
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com >
Co-authored-by: colin99d <colin99delahunty@gmail.com >
2022-08-05 10:53:44 -04:00
Theodore Aptekarev
775d218891
Add parser for input command arguments (The Forward Slash PR) ( #2064 )
...
* Add helper command to filter unix paths and other edge cases
* Remove sort argument filtering from parsing
* Make --file arg mandatory for loading files
* Refactor queue parsing logic
* Enable adding controller level input parsing filters
* Remove the github repo path hack because it's not needed anymore
* Fix typos and line length linting
* Update unix path parser to match known extensions
* Update oss custom filters to not require space after slash arg
* Fix tests and failing linters
* Add pre-commit hook to check for reserved arguments validity
* Fix tests
* Fix finviz compare screener tests
* Fix screener test
* Fix screener test
* Fix float representation in pd dataframe on finviz screener tests
* Update test records
* Update test records
* Remove explicit float formatting in tests
* Update tests
* Remove prepending file argument
* Update long arguments that have lost their short default to file
* Update arguments in docs
* Update portfolio test data
* Fix econometrics/desc throwing error on empty df and fix tests
* Update tests
* Fix econometrics load autocompletion
* Fix portfolio tests giving different results every time
* Allow loading openbb scripts from arbitrary path
* Fix passing path as a terminal argument
* Fix guess game being case sensitive
* Silence bandit warning about using pseudo-random generators
* Update gov tests
* Fix screener sort fields that have forward slash
* Make controllers apply custom argument filters on entry
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt >
2022-08-05 12:51:23 +03:00
soggyomelette
7849b5668b
Adds a test for binance key as asked for in #2006 ( #2026 )
...
* Adds a test for binance key as asked for in #2006
* Update keys_controller.py
* Update keys_controller.py
* fixing linting
* fixing tests
* fixing linting
* fix tests
* fix linting
* fix linting
* fix linting
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt >
2022-07-02 12:06:51 +01:00
Colin Delahunty
8994168e45
openbb_terminal tests: coverage (61% -> 65%) ( #1664 )
...
* Attempting more tests
* Began adding tests
* Added keys controller tests
* Added tests for settings and econometrics controller
* Prevented tests from changing .env files
* Fixed issues with tests
* Added econometrics tests
* fixed pylint issues
* Added folder
* Added QA tests
* Fixed qa tests
* Fixed qa tests
* Fixed tests
* Removed skip
* Added mock to tests
* Update helper_funcs.py
Fix any windows path issues
* Update helper_funcs.py
oops forgot import lol
* Skipped display_hist
* expanded tests
* Maybe mocked matplotlib everywhere
Co-authored-by: teh_coderer <me@tehcoderer.com >
2022-04-19 20:44:15 -04:00
jmaslek
b71abcfbf4
Updating some names ( #1575 )
...
* quick econ fix
* black
* keys and feature flags
* terminal name 👀
* some more replacements
* some more replacements
* edit pyproject
* gst -> openbb
* add example portfolios back to git
* Update api from gst
* sorry. skipping some tests
* another round of names
* another round of test edits
* Missed some .gst refs and update timezone
* water mark stuff
* Fixing Names in terminal.spec and name of GTFF_DEFAULTS to OBBFF_DEFAULTS
* fix more GST to OpenBB Terminal
* Logging : merge conflicts with main
* Revert wrong files
Co-authored-by: Andrew <andrew.kenreich@gmail.com >
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt >
Co-authored-by: Chavithra PARANA <chavithra@gmail.com >
2022-03-29 09:46:26 -04:00