Commit Graph

63 Commits

Author SHA1 Message Date
Henrique Joaquim
41eb6de87b Hotfix/weird logs (#5439)
* allow None on credentials model

* encapsulating var inside a function

* removing existing default handlers

* ruff

* filter empty credentials
2023-09-15 13:34:00 +00:00
Colin Delahunty
141dd68e68 Removed prints (#5367)
* Removed prints

* FIxed typing

* FIxed typing

* Fixed typing

* Fixed typing

* Fixed typing

* Fixed typing

* Fixed typing

* Fix

* Reverted stuff
2023-08-23 18:40:31 +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
Colin Delahunty
f07d116f23 Fixed URL for uploading to the hub (#5340)
* Fixed URLs

* Added a fix
2023-08-17 16:18:26 +00:00
James Maslek
99a5459dc0 mypy 2023-08-14 10:03:41 -04: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
3e48648487 small fixy (#5318)
* 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
2023-08-13 18:16:35 -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
01210120d8 --debug points to dev env (#5316)
* check that routine title is valid

* more updates

* small fixes

* override local routine

* more improvements to routine logic

* --debug runs .dev
2023-08-13 17:18:14 -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
Colin Delahunty
19e6b61953 Fixed the get routines to meet the new backend standard (#5271)
* Added fixes

* Fixed test

* Unhid try except

* Fixed everything else

* Fixed typing

* Fixed pylint

* Fixed tests

* Fixed

---------

Co-authored-by: Andrew <andrew.kenreich@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-08-07 13:16:39 +00:00
montezdesousa
41d1359202 Check token expiration before request (#5255)
* check token expiration before request

* move to jose instead

* ruff

* Reqs

* update requirements files

* Print expiration time on login

* console.print

* too fast, let the token expire...

* fix create token date

* point expired key to hub

* hard code tokens, works?

* ok it passed

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-07-26 19:28:36 +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
DidierRLopes
1bfc4190e1 Update routine tags (#5221)
* Update routine tags

This updates available routine tags.

I added other topics than not OpenBB menus. Let me know if anything is missing.

@jmaslek @andrewkenreich @deeleeramone

CC: @Disorrder

* Update constants.py

* Update constants.py

* Update constants.py
2023-07-19 22:30:11 +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
montezdesousa
92027a6a0e Fix prompt typo (#5192)
* fix prompt typo

* Update banner.txt

* rewrite prompt on test

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-07-13 17:42:15 +00:00
teh_coderer
923327c321 hotfix / Save session on oauth login (#5195)
* save session on oauth login

* avoid `asyncio.run` if in a running loop

* tests

* fix economy rtps
2023-07-04 23:08:16 +00:00
teh_coderer
a8eb862423 hotfix/ no username on reset (#5161)
* fix no username on reset

* bump windows to 3.0.2.0

* 3.1.0.0

* Update terminal_helper.py

* Update widget_helpers.py

* Update poetry.lock

* fix dashboards/reports on installer

---------

Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-06-21 12:58:31 +00: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
teh_coderer
8a70c6205d Feature/ Pywry login (#5115)
* Update .gitignore

* init

* Update backend.py

* Update main.tsx

* Update no_import.py

* Update session_controller.py

* indents

* adjust window size

* update keys

* re-add save session for pywry login

* pop response keys on rename

* walrus remember

* use session username for profile

* implement logout clearing of cookies

* don't display welcome when logging in from `account` menu

* Update session_model.py

* Update session_model.py

* customdata handler for charts

* fix remember key

* only slice data if chandlestick trace in data

* Update profile_model.py

* Update streamlit_run.py

* Update plotly.html

* test

* Update loggers.py

* updates

* Update session_controller.py

* Update session_controller.py

* no longer need to call_hub for logout

* tests

* Update test_session_controller.py

* Update profile_model.py

* bump pywry, fix numbers passed as strings tables

* update plotly frontend packages

* formatting

* Update backend.py

* Update backend.py

* change to prod

* return on image export

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-06-20 17:47:38 +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
teh_coderer
b54c47e2e9 hotfix/ Charts Theme change not persisting (#5036)
* revert and fix bug introduced in #4546

* improve theme change in chart, add `theme.apply_style()` to settings_controller/hub config change
2023-05-17 14:38:13 +00:00
LOne2three
1f0c3ff4de Hotfix/routine default file overwrite (#4927)
* bump pywry

* fix windows pyinstaller subprocess fail if space in path

* remove API_IEX_TOKEN

* remove API_SENTIMENTINVESTOR_TOKEN

* added logic to download_routines and save_routine to put default and personal routines in difference folders and changed logic in call_dowload in account controller to account for the change in logic for save_routine

* Changed logic in read_routine function to account for the new directory structure and also changed the corresponding unit tests. Slightly amended test_save_routine to account for the new routine param

* Changed the routine parameter of mock_save_routine.assert_called_once_with to account for the change in the input parameter of the save_routine function

* changed routine string in test_routines_handler

* Made unit tests for download_routines in routines_handler.

* added comments

* Added new logic to call_exe so that a user could execute the file with --file default/filename.openbb, --file personal/filename.openbb or --file Users/Username/openBBUserData/Routines/hub/default/filename.openbb

* linting: black

* linting: ruff

* ruff broke black

* removed regex in call_exe and changed logic in call_download to give personal routines priority

* Changed formatting

* Changed formatting and removed regex from call_exe

* Created class variables and moved dictionaries out of constructor to solve linting issue.
Changed routine args type annotation
Changed data list

* Added type annotations for the dictionary class variables

* Changed data annotation type for routine dictionaries

* Moved dictionaries back into constructor

* removed import pathlib

* ruff

* mypy

* pylint

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
2023-05-05 13:12:45 +00:00
Henrique Joaquim
3cf8aea940 Suppressing login related prints on the SDK initialization (#4893)
* suppressing the prints on the sdk init

* removing exceptions from tests
2023-04-25 13:15:36 +00:00
montezdesousa
a3f36e283a handle bad results from default routines (#4882) 2023-04-24 19:41:01 +00:00
montezdesousa
d62153ee25 update default routines url (#4878) 2023-04-24 16:38:31 +00:00
montezdesousa
dd2e4822a4 timeout + spacing (#4877) 2023-04-24 14:51:41 +00:00
James Maslek
cc876cd256 openbb.dev -> openbb.co (#4854)
* openbb.dev -> openbb.co

* Get rid of warning on login
2023-04-21 20:42:16 +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
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
montezdesousa
4cd5a8d5bb Split table and chart theme (#4767)
* split table and chart theme

* add comment

* add comment

* josé does not like white

* rename chart, style vars

* change settings controller help

* Update settings_controller.py
2023-04-14 13:23:31 +00:00
montezdesousa
7d3172a5f5 Make default routines available & download personal routines on login (#4737)
* make default routines available

* remove unecessary change

* user to personal

* rename some funcs

* add last update to tables

* add routines download on login

* move some routines funcs to controller

* fix tests

* add space

* wrap some funcs inside try, except

* fix account test

* suppress outputs

* rewrite docstring

* remove circular import

* reverse order

* update docstring

* allow exe with spaces in file name

* fix exe with input

* Update terminal_controller.py

* fix regex for file extensions

* pylint

* put default routines url inside constants

---------

Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-04-13 12:44:31 +00:00
montezdesousa
f0b5cc0aaa Hub | Fallback to .env + don't upload keys + update support link (#4756)
* fallback to .env

* dont send keys to hub

* remove keys from upload_config

* display keys hierarchy

* pylint

* fix unittest

* Update session_model.py

* point terminal support to .dev

* rewrite tests
2023-04-13 12:40:02 +00:00
Henrique Joaquim
b03ac8b5f7 add bootup when login prompt (#4743)
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
2023-04-12 19:58:39 +00:00
montezdesousa
d2212cd7c3 Warn user when there is no personal access token (#4725)
* warn user if no token found - 404

* add spaces to colors and theme application

* be more explicit about which color preference is failing

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
2023-04-10 10:50:29 +00:00
montezdesousa
2b52337da9 Keep hub sources updated and allow only available sources in the terminal (#4711)
* loop and update sources

* clean update sources dict

* use only allowed sources and update hub sources on login

* silently update hub

* ruff

* update only allowed sources now

* clean up some funcs

* fix dict on tests

* mypy

* remove unused method

* change class arg name sources_dict

* change attribute name in sources model

* remove allowed from SourcesModel

* change from user_choices to choices

* change default msg
2023-04-09 22:10:37 +00:00
montezdesousa
42b8a33c04 Remove routines after logout (#4702)
* save routines inside hub sub folder

* fstrings instead

* remove unecessary guest argument from logout func

* remove routines on logout and clean remove functions

* update session and local tests

* ruff

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
2023-04-08 12:03:39 +00:00
montezdesousa
b9ea4d5cd0 Refactor sources menu (#4668)
* add data sources defaults to model

* fix f string

* refactor sources controller

* write sources to file

* write to user file

* add user data sources file inside OpenBBUserData

* append to user file, don't rewrite

* fix when sources folder does not exist

* codespell

* change func name

* change path to str

* ruff

* Add method to upload entire user field

* change clear func args

* update get_ordered_list_sources function

* move flatten

* move flatten

* change extend func name

* remove comment

* clean sources utils funcs

* mypy

* Update utils.py

* spacing

* docs

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
2023-04-05 12:13:34 +00:00
montezdesousa
e7b209507e Terminal/hub QA (#4678)
* move update flair

* sort repr

* remove packaged sys model var

* update decorator for check api key

* ruff

* change if stat

* ruff

* no need for new var

* pylint
2023-04-05 11:54:44 +00:00
teh_coderer
10e2b38711 init (#4683) 2023-04-04 17:34:21 +00:00
Henrique Joaquim
f3b74da11a Change returning dict to Dict (from typing) (#4667)
* change returning dict to Dict

* ruff
2023-04-03 17:00:54 +00:00
Henrique Joaquim
13a91af400 Remove references to environment variables (#4633)
* removing references to test_mode as env variable

* removing references to os.getenv

* adding functions to change system properties

* removing references to env

* introducing set_system_variable and removing change_logging_suppress function

* removing change_test_mode and change_debug_mode

* removing change_log_collect

* adjusting config_terminal and generate_sdk

* generating the sdk

* removing unused imoports

* introducing DISABLE_STREAMLIT_WARNING

* removing load_env_vars

* test_print_help test

* sync tests

* rewrite tests

* setting the auth to True as default

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
2023-04-03 16:22:41 +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
165abe2480 Adds foundation for dark mode from user (#4623)
* fix: adds foundation for dark mode from user

* start theme sync with hub

* send chart_tables to backend

* last fix

* fix: pushed table html

* fix: footer size wasnt correct

---------

Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
2023-04-03 10:58:40 +00:00
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
Henrique Joaquim
f87154beb8 Handling log supression (#4625)
* simplifying the way we deal with the SystemModel by removing the need for system.json file

* removing the responsability of supression from the controllers

* supressing logs on reports

* fix etf report

* supressing logs on dashboards

* black

* typo

* ruff

* pylint

* refacotr def extract_parameters

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-03-31 08:40:14 +00:00
teh_coderer
401a78278d Interactive Charts Improvements (#4586)
* ship it

* edits to bot docs

* Update generate_sdk_markdown.py

* splitting installation

* Update plotly.html

* no pywry print if using sdk

* Update popups.js

* Update plotly.html

* Update popups.js

* update bot index.mdx's, ramenize generate_index.py

* remove older index.md files

* added logic for light themes, refactor `generate_sdk_markdown.py` for reference cards

* reshow modebar

* Update plotly_helper.py

* fix reset reloading of env files

* refactor doc generation files

* Update plotly_helper.py

* cleanup

* Update generate_sdk_markdown.py

* Update plotly_helper.py

* updates

* fix csv_columns select overflow

* for james with love

* remove division `/ 1000`  from options_view

* Update backend.py

* Update popups.js

* csv plot candlestick logic for same Yaxis

* Update plotly_helper.py

* Update plotly.html

---------

Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
2023-03-27 22:04:41 +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