* News sentiment feature added
* News sentiment feature added
* Integration test script file added
* Updated code as per PR Instructions
* API key setting and testing code updated
* Unused imports and line-too-long code updated
* Resolved conflicts in config_terminal file
* removed empty line in terminal_controller file
* Resolved conflicts and updated code for Setting API keys
* Suggested changes have been updated
* Changes updated
* conflicts resolved with data_sources_default.json file
* Code Updated For without API key
* Code Updated
* New changes Updated
* Resolved conflicts and code updated
* Small edits
* missed a spelling error
* fix test
* Lint
* pylint rewrite
---------
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* POC for text-to-command
* POC
* gimme -> askobb (#4740)
* Add file to generate index data
* Add generate index file
* Remove data file
* Modified data generator
* Update .gitignore
* linting
* run all cmds with root access. new!
* output msg
* modify model name
* weird logging issue
* refactor for new llama index version
* black
* in case model doesnt know
* black linting
* linting
* more ruff
* imports
* nicer messages
* removing function from economy
* poetry
* prompt refinement
* Update spec to bring in new files
* fix llama import
* help command
* missed trailing ]
* -q parameter
* remove experimental
* switching gpt model functionality
* update prompt
* tik tok on the clock
* fixed print statements
* user run commands
* add return
* fix
* fix
* removing a few depr functions
* Add filter for slashes in askobb query
* force -q command
* removing returns
* Add edge case for custom filter
* add back -q if its not in other args
* minor checks
* new prompt - a little better
* more cases for not finding answer
* return clause
* new txt with summaries
* update index ver
* new index
* Add a log_askobb
* revision on prompt
* black
* poetry lock
* req files
* Codespell
* ruff
* Linting some stuff. Change OpenAI from local to HUB
* Update api-keys.md
* openai key
* remove this. bye bye mypy
* mypy
* mypy...
* mypy2
* fix test
---------
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: teh_coderer <me@tehcoderer.com>
Co-authored-by: martinb-bb <105685594+martinb-bb@users.noreply.github.com>
Co-authored-by: martinb-bb <martin.bufi@openbb.finance>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* add past contract prices to curve table
* adds secondary curve to viz
* includes error message when no data for selected date
* linting
* adds back linespace
* changed as-of parameter to d and date
* fixes ruff
* more linting and tests
* fixes for pylint test
* edit the xaxis formatting
* fix the tests
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* upload routine to hub on stop
* write cassette
* write cassette
* remove .openb from name
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* Allow to set variables and do loops
* Fix mypy errors
* improve code
* mypy
* pylint
* accepts Openbb date keywords like 1MONTHAGO,LASTFRIDAY,3YEARSFROMNOW,NEXTTUESDAY
* warn fix
* add documentation for script foreach and vars creation
* refactor controller as per James request
* black linting
* add another warning
* Editing some routine enhancements (#5063)
* move routine to new file
* Move to relativedelta and add some tests
* Fix mocking
* Get match_and_return_openbb_keyword_date to 100% cov
* start testing parse script
* remove rogue prints
---------
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
* big improvement in routines tests
* mypy lint
* ruff lint
* lint
* typo
* test relative time
* cover edge case of home at end of script
* fix edge case for going to home at start
* explain better slicing
* foreach tests added
* lint
* allow foreach loops to have different var names that is iterating
* foreach more powerful
* warning when var in foreach is not used
* fail script when varname that iterates foreach loop is never defined
* black
* lint again
* ruff
* improve another edge case
* fix test and fix a description
* fix nft test and routine test
* why mutual fund test failing
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* 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>