* improving handling of logging handlers
* removing alias
* lint
* removing debug print
* adding alias back
* adding the commithash to the system so it gets logged
* doing posthog on hub_user login
* ruff
* tacking this on - docs update
* identify and alias together
* fixing conditions
* the juan way
* ruff
* don't send logs to S3 if posthog is an active handler
* branch name on the posthog logs
* removing duplicate import
* fixing tests
---------
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* 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>
* enhances stocks/quote to allow for multiple tickers
* fix for MyPy type error
* fix pylint
* formats index string as title
* adds test for multi-ticker quote and for bad tickers
* adds integration test for multi-ticker quote
* updates docstrings and adds 'openbb.stocks.quote_chart' to SDK
* updates syntax in equity report for quote_data
* ruff
* gets rid of empty lines that got created.
* adds logic to handle input as string when not a list
* re-records tests
* decorators
* futures curve: prettifies contract names in raw table and in excel export. change column header to Last Price. set x axis of curve chart to correspond to contract months
* fixed linting and updated tests
---------
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* Remove stocks/disc/cnews command from terminal and sdk
* Remove disc/cnews tests and test data
* Remove cnews from default sources, translations and intros
* Remove old test data files that are not used anymore
* Add pydocstyle ignore statement to pyproject toml
* Fix print help in stocks/disc controller test
* 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
* 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
* 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>
* 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>
* Unit tests batch 1
* Unit tests batch 2
* Unit tests batch
* Unit tests batch
* Unit tests batch
* Unit tests batch
* Unit tests batch
* Unit tests batch
* Unit tests batch
* Unit tests batch
* Debloat
* Debloat
* Fix linting
* updating readme
* updating unit tests readme
* integration tests readme
* minor to ref it on the comment
* chaging the example and removing unused files
* updating path
* changing the controller example to follow view and model
* obeying conventions
* mathcing the right controller
* matching examples
* include details on creating a new branch
* removing old references to stocks/dd
* adding sheet name to the export_data example
* circle back autocompletion to queue-and-pipeline
* fixing the list numeration
* Doc
* fixing the tests (were failing bc of changed function name)
* Remove tests/FIXTURES.md
* reverting
* small edit
* lint
* mardown linting
* fixing forecast dashboard
* fixing forecast dashboard
---------
Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* 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
* WIP - command name refactor + eliminate need for an API key to make < 25 requests per day
* check for no Ultima API Key properly
* test_print_help fixes
* reflect changes from #4697
* re-run test_ultima_newsmonitor_view with --rewrite-expected
* re-run tests without breaking news