* 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>
* 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>
* 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
* avoid keys to alwyas check status
* ruff
* improve text on show flag
* removing force flag
* use bool
* improve help functionality
* fix tests
* trying to fool pylit
* using exception handling
* printing the result for a single key
* Don't check status if --help
* black
---------
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
* fix typing issue that prevents running
* news monitor integration for news
* UX improvements with news monitor integration
* italicize riskExtDesc
* minor cosmetic changes
* minor cosmetic changes
* minor cosmetic changes
* Update ultima_newsmonitor_view.py
* minor fixes to launch properly
* setting Ultima API key
* Ultima NewsMonitor integration into terminal done
* integration of the commands is done
* add Ultima to SDK trailmap, but SDK generation failed on M1 Mac
* add tests
* add unit tests
* Linting and sdk
* display message if not supported by Ultima News Monitor
* Update api-keys.md
* fix stock controller problem + remove source filtering from Ultima
* remove source filtering from Ultima
* add report issue message
* add some error handling in the view to ensure unsupported companies don't get fetched
* remove powered by Ultima Insights from console output
* ran black formatter to fix linting issues
* fix ruff issues
* fix pylint issues
* lint fix
* fixed linting issue and changed keys in the Feedparser model
* get all tests to pass
* proper testing with --record-mode=rewrite
* re-run tests for updated VCRs
* redid black formatting
* re-run test_print_help in stocks controller
* make breaking news output consistent and re-run tests
* remove unused import time
* reran tests with --rewrite-expected
---------
Co-authored-by: ovidysus0 <111447781+ovidysus0@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
* 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>
* 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>
* 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>
* 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
* 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>
* I missed some sheet_name ones :)
* Move quote to main menu and combine yahoo finance commands
* Update stocks for quote
* First update to move yfinance away from main functionality
* Small updates
* Update tests to reflect changes
* Fix some little things
* Update docs a little too
* Remove the Due Diligence menu
* Update tests for new change
* Update fa and stocks with new text and move some stuff around
* Bye bye dd
* Pls work
* work..
* work..
* work..
* Work..|
* Add tests back in
* Remove tests
* Fix fix fix
* Remove tests to fix conflicts
* Improve the `stocks/search` command (#4084)
* Improve search command
* Make it more intuitive
* Fix tests
* Update the docs
* Ok done
* Ok done 2
* Ok done 3
* Git update tests that failed
* Update commands with --sheet-name that didn't work (#4088)
* Update commands with --sheet-name that didn't work
* Fix test
* oops
* Adds auto completion to `news` (#4089)
* Fix plot look when using eval and add query to choices (#3881)
* convert index to datetime and update choices
* uncomment economy integration test
* fix treasury concat bug
* fix datasets concat on duplciates
* Lock ruff version so that new lints dont break our CI (#3905)
* Lock ruff version so that new lints dont break our CI
* Bumped pre-commit ruff version
* returning always a dataframe
* Revert "returning always a dataframe"
This reverts commit d5dbf3132f.
* quick fix to auto complete args
---------
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* Hotfix/Windows-CLI (#4087)
* init
* Update windows10_build.yml
* Update windows10_build.yml
* Update windows10_build.yml
* Update windows10_build.yml
* Update windows10_build.yml
* Update windows10_build.yml
* oops
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* Adds end date to `forex/load` (#4077)
* Fix plot look when using eval and add query to choices (#3881)
* convert index to datetime and update choices
* uncomment economy integration test
* fix treasury concat bug
* fix datasets concat on duplciates
* Lock ruff version so that new lints dont break our CI (#3905)
* Lock ruff version so that new lints dont break our CI
* Bumped pre-commit ruff version
* returning always a dataframe
* Revert "returning always a dataframe"
This reverts commit d5dbf3132f.
* adding end date to the forex load
* added some tests
* added example
* always show msg
* rewriting test
* updating tests
* updating tests
* Redo load tests
---------
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* Update tests to reflect changes
* work..
* Remove tests
* Fix fix fix
* Remove tests
* Update the whole test folder
* Small updates
* Revert change
* Update eodhd to reflect it requires a paid plan and update tests
* Fix all the tests
* Update tests
* Update integration tests
* Removing tests so no whining happens
* ADD ALL THE TESTS
* Fix linting
* gitignore. thanks jer
* Add back dd and redirect to fa
* Update to just display a message
* Update OpenBB SDK commands
* Fixing issues with exporting
* Fix ruff messing up
* Fix tests
* Fix the tests by disabling isort to run on tests folder
---------
Co-authored-by: Jeroen Bouma <jeroenbouma@Jeroens-MacBook-Pro.local>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>
* Fix plot look when using eval and add query to choices (#3881)
* convert index to datetime and update choices
* uncomment economy integration test
* fix treasury concat bug
* fix datasets concat on duplciates
* Lock ruff version so that new lints dont break our CI (#3905)
* Lock ruff version so that new lints dont break our CI
* Bumped pre-commit ruff version
* returning always a dataframe
* Revert "returning always a dataframe"
This reverts commit d5dbf3132f.
* black everything
---------
* bump
* Update ALL the exports with sheet name option
* Update contributing too
* Add in sheet name to each docstring
* Update tests
* Fix the small things for tests
* Converting CONTRIBUTING.md back since I put minimal changes in and it complains
* Fix terminal exit after `--sort p/e` (#4013)
* fix scr sort exit
* rewrite unit test output
* rewind slash replace
* rewind slash replace
* fix regex
* rewrite expected scr tests
* black
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* fix: small typo (#4036)
* fix income comparison error (#4029)
* Update tests due to yfinance error
* I broke tests and fixed them
* Fix tests?
* Missed a few sheet name additions
* missed one more
* Fix some missing sheet_name parameters
* Fix a test I broke
* Update tests due to changes with sheet_name
* Update stocks and common
* Mutual funds just because
* Portfolio update
* Update Forecast
* Update Futures
* Update ETF
* Update Economy
* Update Crypto
* Update others
* Update documentation to explain --sheet-name
* It should be None test
* Add None for sheet_name since empty string can result in errors
* Formatting
* Fix tests
* Update documentation
* Also update the image
* Add back to options commands
Co-authored-by: james <jmaslek11@gmail.com>
Co-authored-by: Jeroen Bouma <jeroenbouma@Jeroens-MacBook-Pro.local>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>
* improve style of plots
* remove the blend which doesnt look nice in some machines
* remove translation for arguments to be coherent
* Add intro command
* add check to understand if its first time user to run intro by default
* intro doesnt require docs
* silly catch
* fix line length
* anoter lengthy line
* unused import
* unused import
* words
* allow to quit earlier
* style
* fix thing for u didi
* actual fix
* last try
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: james <jmaslek11@gmail.com>
* adding shroom
* added more shroom functions
* temp commit
* temp commit
* updated to use helper
* added tvl
* added shroom to keys
* tests
* updated to match didier fixes
* little fix in the example
* adding tests with Mr.Donato
* fixing decorator for models
* fixed tests for model w Mr.Donato Mr.Delahunty and Mr.Sousa
* feat: added shroom to keys
* added integration test
* re run tests
* fixing pylint
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: @montezdesousa
* add log path
* add test to check if log file is in correct dir
* env path
* black
* mypy fix
* linting
* add make_paths and change references
* terminal change
* change constants to paths
* change names
* black
* mypy
* mypy
* pylint else
* add make paths
* remove custom user dir name
Co-authored-by: Chavithra <chavithra@gmail.com>
* Add new premium source https://eodhistoricaldata.com/r/?ref=869U7F4J
* Added eod dependency to requirements.txt
* Added eod dependency to requirements.txt via poetry and fixed typo
* fixed some display bugs for stock info
* Implemented stock/load for eodhd, use keys / eodhd demo for key.
* Commit before Pull -Implemented stock/load for eodhd, use keys / eodhd demo for key.
* Committing files so I can merge
* Committing files so I can merge
* Committing files so I can merge
* Committing files so I can merge
* Committing files so I can merge
* Committing files so I can merge
* Committing files so I can merge
* Merge
* Fixed dependencies
* Committing files so I can merge
* Committing Stock_Helper with pylint: disable=R091
* Downgraded charset normalizer
* Fixed issues with keys
* Committing fixes to eodhd
* Committing fixes to eodhd remove eod library
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: colin99d <colin99delahunty@gmail.com>
* fix binance controller API key
* add news to main menu
* feedparser
* trying to help
* requirements for didier
* one test
* fix suggestion by @rpydaneogrendim on Twitter
* fix tests
* trying to help again?
* test
Co-authored-by: james <jmaslek11@gmail.com>