Commit Graph

119 Commits

Author SHA1 Message Date
DidierRLopes
1036308f35 1st integration with TimeGPT-1 (Beta), from Nixtla (#5292)
* integrate time gpt from Nixtla

* add to reqs

* add residuals to timegpt

* fix some bugs

* remove twitter functions

* remove twitter functions and all references to it

* start work to integrate date features

* add date_features to timegpt

* remove twitter functions

* remove twitter functions and all references to it

* Update deps for timegpt + askobb

* Update forecast load to set an index to date

* lint

* spell

* mypy

* mypy2

* blac k

* pylint

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-08-25 15:28:34 +00:00
Colin Delahunty
1ca7fd9beb Improves the settings/userdata command, and upgrade ruff (#5359)
* Began the fax

* Bumped ruff

* Fixed a BUNCH of ruff errors

* Fixed a lot of ruff errors

* Simplify if statements

* Fixed black

* Updated some stuff

* Updated some stuff

* A lot more ruff fixes

* Added a fix

* Added a fix

* Fixed mypy

* Fixed some stuff

* Reverted one thing

* Small fix

* Small fix

* Small fix

* Added fix

* Added fix

* Update requirements
2023-08-22 20:11:48 +00:00
DidierRLopes
c6b0bfe6f2 hotfix/simplify-regex (#5324) 2023-08-14 22:39:10 -07:00
James Maslek
2c44cae0e9 add back --url auto complete 2023-08-14 09:57:41 -04:00
DidierRLopes
5ddeb8f35e Fix regex (#5320)
* check that routine title is valid

* more updates

* small fixes

* override local routine

* more improvements to routine logic

* --debug runs .dev

* few more updates

* small fix

* rename BASE_URL from ultima to ULTIMA_BASE_URL

* use debug from dataclasses instead of env since env doesn't get updated

* create --dev flag that can point to .dev backend

* merge conflits

* few changes, made it actually work 🤣

* fix regex

---------

Co-authored-by: tehcoderer <me@tehcoderer.com>
2023-08-14 03:20:25 -07:00
DidierRLopes
c40c3f7529 Creates a "--dev" flag that points to dev backend for testing with hub (#5319)
* check that routine title is valid

* more updates

* small fixes

* override local routine

* more improvements to routine logic

* --debug runs .dev

* few more updates

* small fix

* rename BASE_URL from ultima to ULTIMA_BASE_URL

* use debug from dataclasses instead of env since env doesn't get updated

* create --dev flag that can point to .dev backend

* merge conflits

* few changes, made it actually work 🤣

---------

Co-authored-by: tehcoderer <me@tehcoderer.com>
2023-08-13 23:20:07 -07:00
DidierRLopes
3d6ad59643 few more updates (#5317)
* check that routine title is valid

* more updates

* small fixes

* override local routine

* more improvements to routine logic

* --debug runs .dev

* few more updates
2023-08-13 17:43:10 -07:00
DidierRLopes
db746aa1a9 Silly (#5313)
* check that routine title is valid

* more updates

* small fixes

* override local routine

* more improvements to routine logic
2023-08-13 00:27:26 -07:00
Pratyush Shukla
564d08edd8 add --india flag to stocks/load (#5281)
* add `--india` flag to `stocks/load`

Add ticker, set `india` and voila!

* updated "help"

* added check for `.ns`, `.NS` in ticker

* consolidated conditions into 1 line
2023-08-04 17:55:47 +00:00
montezdesousa
d6bc45d046 add public routines flag (#5236)
* add public routines flag

* Spelling

* mypy

* Tests

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-07-21 16:26:31 +00:00
James Maslek
87b5bdb521 Release Cleanup (#5233)
* turn hold off when run even if no figure

* Add warning text to PlotlyTA

* better wording

* fixes #5232

* Fix askobb + updaate reqs

* bump requests

* Couple other bumps

* Here we go with the mac builds

* That wasn't right

* Not gonna have a good time today

* Previous miniconda

* did that wrong

* Wrong version

* ?

* installer-url instead

* 3.1 not 5.1

* CONDA UPDATE

* Revert the mac builds

* Run poetry lock and update some packages

* bump poetry on unit test

* Fix one test

* Add vanilla 3.11

* Fix issue on runner

* One last try

* Remove windows conda :D
2023-07-20 22:26:05 +00:00
James Maslek
8b007785a1 Adds a matlab like hold on to plot on same axis (#5173)
* definitely not juan walking me through everything

* trying to pretty it

* start doing same axis with hold

* actually do the sameaxis correctly

* Better docstring

* Fix mypy

* mypy3

* pylint fixes

* Add message about candle

* might work, might now

* Update stocks_controller.py

* Update plotly_helper.py

* Update plotly_helper.py

* Make fmp view legends nice

* Update helper_funcs.py

* Add custom legends for when hold on

* bigger font

* add colors to new axes

* add custom title, remove location

* Start guide.

* Update plot-holds.md

Add figures

* More words

* Update plot-holds.md

* Finish guide

* tests

* Sneak in test updates for release

* guess not sneak test

---------

Co-authored-by: teh_coderer <me@tehcoderer.com>
2023-07-19 23:29:24 +00:00
teh_coderer
281799f047 hotfix / improve autoscaling/dynamic loading, fix forex candle charts, equity reports (#5183)
* improve autoscaling/dynamic loading, fix forex candle charts

* updates

* Update plotly_helper.py

* fix?

* fix table date sorting, localize forex load

* tests

* tests?

* ugh tests

* Update test_display_debt.txt

* Update test_get_debt.csv

* Update forex_helper.py

* close #5182

* fix `crypto/dd/info` tables not loading due to `dict` object in dataframe values

* Update parent_classes.py

* tables: show full value on hover, fix year only filtering. on reset use queue if logged in

* lint + first batch of test fix

* tests pt2

* Tests v3

* Pylint

* typo

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-07-14 14:46:01 +00:00
James Maslek
52c560d414 Close 2 stocks fa issues with polygon (#5217)
* Fix #5190

* Add quarterly back to polygon cash flow

* Add some to stocks statics

* lint

* Fix tests + balance all of a sudden not working
2023-07-14 14:27:04 +00:00
James Maslek
bdc23a6f2f just change the message for being logged in 2023-06-21 15:09:16 -04:00
montezdesousa
105557e898 Feature/routine tags (#5154)
* no guest if installer

* prevent guest if logout from account

* this not true

* rename reloop var

* ask for email again if no email

* add tags to routines upload

* Update constants.py

* Update terminal_controller.py

* Update terminal_controller.py

* black

* ruff

* black

* Update constants.py

* point at .co

* mypy

* sneak in askobb timeout

* fix test

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-06-21 12:31:00 +00:00
James Maslek
228f0c4f69 Query askobb on api openbb co (#5153)
* Query askobb on api openbb co

* mypy
2023-06-19 22:48:53 +00:00
martinb-bb
bf33211219 Progressive improvements to askobb v0.3 (#5150)
* temperature

* remove home

* preface home

* Add askobb to all menus

* 0.3

* index

* temp +

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-06-19 17:31:46 +00:00
James Maslek
27bf7207ee Small enhancements (#5146)
* Cosmetic changes + timeout bug

* cant spell

* Fix #5085

* Handle ca tickers + fix tests

* wrong type

* pylint
2023-06-16 14:46:11 +00:00
montezdesousa
1539793862 No guest if installer (#5076)
* no guest if installer

* prevent guest if logout from account

* this not true

* rename reloop var

* ask for email again if no email

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-06-01 16:07:11 +00:00
montezdesousa
76fcaf77da Upload routine to hub on stop (#5077)
* upload routine to hub on stop

* write cassette

* write cassette

* remove .openb from name

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-05-31 10:42:56 +00:00
Igor Radovanovic
d748766573 Preserve stock ticker suffix (#5056)
* Preserve suffix

* Fix suffix doubling
2023-05-22 18:58:37 +00:00
Thomas Marban
29a297c2dc First introduction of news_biztoc — A new partnership with BizToc.com (#4864)
* First introduction of news_biztoc — A new partnership with BizToc.com

* bump pywry

* fix rm command (#4890)

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* Fix `crypto/defi/anchor` (#4892)

* handle defi anchor exceptions

* reason

* mypy

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* fix windows pyinstaller subprocess fail if space in path

* remove API_IEX_TOKEN

* remove API_SENTIMENTINVESTOR_TOKEN

* Add autocompletion and merge into one news function + add to sources dictionary

* Autocomplete for the tag

* fix test

* Make a new sdk help[er for openbb.news

* pylint

* lint

* lint2

* Regenerate sdk

* remove cmd from list

* api-keys

* Update api-keys.md

Add images

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
2023-05-10 18:12:55 +00:00
teh_coderer
9026a41ff2 Feature / Logging (#4923)
* init

* updates

* Update loggers.py

* Update loggers.py

* sdk handling

* feature flag

* fix MOCKING_USER_PATH for windows

* Update loggers.py

* Update plotly.html

* updates

* Update parent_classes.py

* Update plotly.html

* add posthog to deps

* Update loggers.py
2023-04-28 12:43:57 +00:00
montezdesousa
3d243b361a Sync with hub on reset + routines fixes (#4842)
* keep session alive on reset

* remove print

* silence routines

* ruff

* skip login if is papermill

* ruff

* move is_papermill to avoid prompt_toolkit warning fd is not a terminal

* move is_papermill back and check for atty instead

* only download routines and update sources if terminal

* only starts prompt toolkit if isatty

* black

* avoid duplicate files after reset/login

* remove hub  routines on reset

* comment

* fix unittest

* forgot this debugging prints
2023-04-21 16:12:09 +00:00
James Maslek
dceaabcf53 Get rid of twitter news bar (#4820) 2023-04-18 15:47:22 +00:00
James Maslek
da7fb3a831 Improve options menu slightly + close some bugs (#4793)
* platform to logs

* dte not /365 and delete code i never got to

* 4 decimals on chains

* Change options default load to the defaut source

* mypy

* Less polluting of logs

* #4420

* #4811

* Fix test

* Remove unnecessary log decs

* Save us money

* whoops
2023-04-18 12:54:44 +00:00
montezdesousa
229f732b74 Keep session on reset (#4813)
* add remember attribute to user

* don't save hist if not remember

* remove routines on exit if not remember

* fix unittests

* remove hub routines on exit

* check if user is local first

* remove hist file on exit if not remember

* comma

* Fix `exe --file` choices on login (#4799)

* download and save routines in sync, to have choices immediatly available

* fix: docs min

---------

Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* don't delete session on reset

* Update terminal_helper.py

* Update terminal_helper.py

* less prints

---------

Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-04-17 19:47:24 +00:00
montezdesousa
889ff94f12 Extend "Remember me?" login prompt option (#4802)
* add remember attribute to user

* don't save hist if not remember

* remove routines on exit if not remember

* fix unittests

* remove hub routines on exit

* check if user is local first

* remove hist file on exit if not remember

* comma

* Fix `exe --file` choices on login (#4799)

* download and save routines in sync, to have choices immediatly available

* fix: docs min

---------

Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

---------

Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-04-17 17:53:09 +00:00
Pratyush Shukla
96d21f71fd Added fix (#4710)
* Added fix

* Fixed `load`, `find`, `price` and refactored code

* Modified line 1304 in parent_classes.py

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
2023-04-10 08:39:14 +00:00
Colin Delahunty
5a8d6e823f Removes exchange option from stocks/load (#4673)
* Added fixes

* Added fixes
2023-04-04 00:05:15 +00:00
montezdesousa
f5230b26c0 Hub | sync, pull, sources and other updates (#4640)
* remove sync and pull

* ruff

* remove runtime fetch configs

* add comment

* reset when logged

* update translation yml file

* sdk regen

* print bold red messages if logout process fails

* fix sources not being applied

* handle bad json

* update hub links

* save terminal crash when sources file is broken

* add user defaults to gitignore

* actually no needed, will just be more specific about richstyle coming from hub

* black

* rewrite stdout

* fix session_model tests

* fix sdk session tests

* move paths

* remove duplicate line

* fix user being reset in test_logout_user test

* remove unecessary recording

* change colors msg

* remove repeated code
2023-04-03 13:49:53 +00:00
jose-donato
dbd466d381 New table design (#4485)
* fix: new table design

* fix: added trillions

* fixing some raw data

* fix: trying to fix global+resize

* feat: improving design

* fix: new styling and lot of reorganizing

* title fix

* feat: new html

* fix: bottom bar

* fix: table dates

* fix: table html

* fix: new filtering

* fix: new filtering

* fix: long

* Lint

* Lint again

* fix: beautiful james suggestions

* fix: some more fixes

* fix: typo

* fix economy bug

* feat: added toast to notify user and some more cleanup

* fix: more issues

* tests

* fix: james updates

* fix: added banner to charts as well

* fixing title

* better fix

* feat: added column resizing and any number of columns

* auto column width - poc

* feat: added colors toggle, support to display source, fixed some more issues

* fix: table deploy

* fix: table issue

* fix header

* fix: some fixes

* fix: remember pagination and default pagination to 30

* mypy

* Colins tests

* Fix economy test

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
2023-03-23 16:45:46 +00:00
montezdesousa
1a1e8c0ed4 Add login command (#4509)
* 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

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-03-21 10:13:59 +00:00
Colin Delahunty
3aec94cdde Improve Loading Custom Files (#4504)
* Got things working

* Got things working

* Got things working
2023-03-17 11:16:20 +00:00
montezdesousa
b19dc5205d Remove matplotlib references (#4479)
* remove theme refs

* will come for dtabento later

* remove theme refs except databento

* ruff

* remove mpl variables

* mpl still used in po

* move databento to plotly

* pylint

* ruff

* theme ref to openbb_terminal

* juans sugg

* fix: removed raw arg in `display_candle` which could return the dataframe and error, added figure to `export_data`

---------

Co-authored-by: teh_coderer <me@tehcoderer.com>
2023-03-15 14:25:59 +00:00
jose-donato
40cfe8148d Interactive tables using react (#4386)
* feat: experimenting tables with react

* feat: adding new interactive tables

* feat: adding more table features

* small changes

* update

* Update backend.py

* Update backend.py

* fix: dark mode?

* feat: lot of table improvements

* fix: my b

* fix: load only when prod

* feat: naive detect links and dates

* handle index and column names

* increased min width

* codespell

* mypy, pylint

* fix: added new chart, export, etc

* testing

* updates

* fix : add PLOT_OPEN_EXPORT,  USE_INTERACTIVE_DF to user dataclass

* bump pywry version, readd removed `plots_backend().start()`

* req files

* Update unit-test.yml

* Update unit-test.yml

* Update unit-test.yml

* updates

* fixing some date things

* update table

* fix formatting with timezones

* fixing some long prints and tables

* Mickey Mouse

Co-authored-by: teh_coderer <tehcoderer@users.noreply.github.com>
Co-authored-by: jose-donato <jose-donato@users.noreply.github.com>

* fix: ?!?!?

* adding limit arg to all print_rich_table

* tests

* lint

* simple by Default on interactive charts

* playing with some css (thks jose)

* Fix #4426

* Edit some structure

* fix sdk generation

* Update backend.py

* fa menu tested and working

* fix #4460

* fix #4460 drop indices

* update tests

* update tests

* Update helper_funcs.py

* tests

* Update unit-test.yml

* Update etf.ipynb

---------

Co-authored-by: teh_coderer <me@tehcoderer.com>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
Co-authored-by: teh_coderer <tehcoderer@users.noreply.github.com>
Co-authored-by: jose-donato <jose-donato@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-03-13 17:50:48 +00:00
montezdesousa
f2316b15e8 Allow stocks/load --file from anywhere (#4410)
* allow load file from anywhere

* ruff

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-03-06 15:25:02 -05: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
Colin Delahunty
cebf454cdf Added flake8-simplify (#4227)
* Added flake8-simplify

* Update linting.yml

* update.  left 1 for you colin

* Fix that one

* Missed

* Fix

* mypy

---------

Co-authored-by: james <jmaslek11@gmail.com>
2023-02-20 19:27:34 -05:00
james
15141122a2 Merge 2023-02-16 08:57:34 -05: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
James Maslek
2a7ec56000 Sunset some dependencies (#4215)
* Sunset some dependencies

* Mypy

* Last iex refs

* remove ref to investpy

* tests

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
2023-02-13 08:54:54 -05:00
james
0419be66a9 merge and fix 2023-02-11 20:21:10 -05:00
James Maslek
06d737f4be Adding intrinio and cleaning up options a bit more (#4127)
* Add intrinio load functions into stocks and options.  First try at options sdk with intrinio

* Add a new eodchain function + add intrinio model test

* Unit tests for intrinio options

* dont add eodchain yet -- wait for other PR

* Make null handling better + add intrinio sdk to reqs

* mock dates

* update test

* fix ruff

* black and gitignore

* Clean up and make options load class

* Clean up clean up

* Fix intrinio stock load

* Get requirements even

* sort intrinio chain and fix

* Dont rename the candle input argument

* Fix bug #4060

* Historical option prices

* Add grhist from intrinio and isort

* Fix things for presentation

* Fix tradier chain printing

* YahooFInance chain cleanup

* standardize nasdaq

* Format intrinio

* Cleanup SDK

* Fix tests

* mypy

* Clean up trail map and edit docs

* Fix mapping of info on sdk

* Add intrinio to deps

* Add a rich progress bar to expirations :)

* controller test

* Silly error + tests

* Required arg

* bad assert statememts

* Mutable default

* Keys and switch another tqdm

* BizIns Tests

* tests

* Last Test
2023-02-10 16:54:05 +00:00
james
0ed729e59e Merge branch 'develop' into feature/mypy10 2023-02-09 20:07:10 -05:00
montezdesousa
5953be0a42 Terminal authentication + keys/settings/routines (#4015)
* import order

* pylint

* no login, go to prompt

* add logout and whoami

* clear before prompt

* black

* these are unecessary

* error

* improve login prompt message

* login does not follow the controller pattern, so will name it differently

* nop

* move logout and change to results

* change return obj

* ruff

* pyupgrade

* remove user from statics

* message

* fetch configs at start

* remove unecessary func

* unecessary dataclass

* change user vars

* change login flow

* remote logout should not be used

* simplify

* fix double exit logout bug

* wrong exception

* apply keys

* change controller

* mypy

* save if no internet

* pylint

* logout everywhere

* breaking changes: move to local/hub models

* unused import

* fix logout bug

* whoami in guest mode

* add todo

* small bug guest allowed

* limit flair length

* fix bug on user pull

* logout working

* handle no connection

* logout user when logout

* remove keys push

* split logger funcs

* commant apply configs for now

* account to session

* rename user

* clear sounds better

* breaking changes: splitting guest from logged users

* pull imports up

* delete session model

* move logout func

* add ability to save and apply keys from remote

* no sensitive keys

* add support for feature flags

* unecessary print

* allow settings from differnt modules

* change setff to static

* change way to set ff

* fix bug in applying configs

* simplify obbff application

* bug on setting configs

* allow text ff

* obbff in settings

* add upload to cfg_plot 1

* data sources + backend

* this solves circular import?

* move create_session to model

* rever logs changes, not needed for now

* sync optionally

* outline account controller interface

* don't sync when guest

* block guest on installer

* or not and

* start routines

* fix bug on ff, settings

* is installer

* implementing chavi suggestions

* fix colors on installer prompt

* Logging login (#4046)

* basic logging for the login

* removing unused import

* hacking the logs custom filter to not filter the email

* black

* cooping with the new changes

* removing redundant method

* ruff

* ruff

* mypy

* SDK login (#4051)

* sdk login

* adding to the trail map

* minor fix

* improve sdk expirience

* adapting to new changes

* add docstrings

* block guest from account

* change guest msg

* change guest messages

* add sync on/off

* display onoff

* missing paragraph

* fix glitch on logout

* add sys clear

* filtering password

* filtering the email from user

* avoid writing to multiple log files if a user logs out

* fix bug, guest allowed in installer without connection

* log user on the sdk

* split login from lauch

* add clear and change messages on account

* docstrings

* start pull cmd

* change account menu description

* Fix login bug and decouple some logic (#4056)

* fix bug, guest allowed in installer without connection

* split login from lauch

* improvements on the sdk login

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* sync fix

* change account controller description

* ruff

* add help on account cmds

* update clear prompt

* fix email not in jwt

* remove jwt from requiremnts

* pull command output

* remove character

* pull cmd when no data

* add space below whoami

* fix log filenotfound exception

* changed arg name

* delete .hist on logout

* add asteriscs to password

* pylint

* uncomment rich config

* show only diffs on pull

* black#

* warn when no changes#

* pull msg was switched

* apply diff only

* breaking?: strbool change

* reduce some code

* add timeout to hub requests

* black

* add remote logout

* success msg only if success

* remove colors in prompt

* update docstrings

* keep timeout outside funcs

* update clear

* clear and patch

* delete session

* routine upload

* move .his file to .openbb folder

* change apply configs

* refactor logout

* remove mixed portfolio changes

* fix bug in lock file

* fix bug pwidth, pheight are floats

* fix sources command & add choices

* refactor timezone setting

* userdata

* fix flair

* need to cast paths

* cast on diff

* fix flair default

* save session test

* get session

* data

* test remove

* test remove with assert

* add bad test cases

* add exception cases to unittests

* test remove cli hist file

* black

* test apply configs

* test apply with sync flag

* test create session, session model

* login tests, session model

* some tests for the hub_model

* test logout user

* black

* test clear vars, reload

* test create session

* update user-json to user

* update user class

* add user tests

* tests sdk session

* tests for hub_model

* start account controller tsts

* unused import

* tests account controller: clear, pull

* tests for session_controller

* logout success bugfix

* add integration test for account

* black

* move routine related commands to other PR

* test for the user input

* completed tests for session controller

* convert to hist to str)

* fix import errors

* ruff

* ruff tests

* fix qa

* add help to settings cmds

* ruff

* fix pull keys bug

* point to dev

* account model tests

* black

* ruff

* fix for empty feature settings

* ruff

* don't display config msg if wrong token

* general msgs

* remove print

* ruff

* fix sources not updated real time

* missing return doc

* add guest if no email

* Routine remote storage (#4143)

* add upload routine command

* remove prints

* point to local again

* add commands

* add delete

* add download command and upload 409

* list comprehension

* add download & save plus upload fixe

* add user uuid folder

* add list command

* ruff

* en.yml detail

* provide choices to delete & download

* add choices to upload

* change menu text

* starting adding unit tests

* bad english

* Update test_print_help.txt

* genearl msgs

* remove print

* add docstrings

* add unit tests to account controller

* change parser

* fix routine upload test

* add to be implemented tests hub

* add to be implemented tests local

* add total pages to title

* split list into model and view

* add docstring

* print msg if character

* add local model tests

* hub tests routines

* fix test

* point to dev and glob

* fix small bug on upload

* missing return

* log decorators missing

* black

* ruff

* change prompt display

* rewrite test

* rewrite expected

* rewrite call

* try passing git action

* change .yml everywhere

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-02-09 13:35:44 +00:00
james
d73dfd3980 fixes for mypy 1.0 2023-02-08 19:14:25 -05:00