* 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>
* 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
---------
* 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>
* Remove undesired example files
* Update the documentation for routines
* Add in video
* Add some additional text
* Add in a routines example that can be activated with --example
* Remove default old examples
* Add portfolio example holdings file
* Add portfolio optimization example allocation file
* Add example files for the portfolio menus
* Remove code that unintentionaly prints the home menu on every routine
* Add home instead of /
* Remove requirement to add file if you have an example
* Ensure portfolio/po/params also talks about docs correctly
* Move all routine, portfolio and screener presets to the correct folder
* Remove presets since they are moved
* Remove presets since they are moved
* Same implementation as for file in po
* Adjust code so it works with new folder
* Adjust code so it works with new folder
* Adjust code a little since I changed folder
* Update screener documentation to include how to create a screener
* Remove old readme
* Update documentation to better reflect where to find the files
* Also update SDK notes
* Update exe with auto complete and more info
* Add images
* Update images and the last script
* Update text to make it more apparent that it has an example attached
* Add section for routine scripts on home menu
* Make call_about more robust and add record and stop
* Update the routine markdown with info about record/stop including video
* Update scripts
* Update portfolio report
* Update tests and report
* fix small load bug
* rewrite help test
* last fix was buggy
* example by default
* fix po integration test
* keep example on arg
* adapt integration test
* fix portfolio integration test
* fix more portfolio integration tests
* pa is not an option anymore
* portfolio report choices only holdings
* update integration test for portfolio report
* Small formatting improvements
* Remove sleep and fix inconsistent return
* Some spelling
* oops
* Fix tests
---------
Co-authored-by: Jeroen Bouma <jeroenbouma@Jeroens-MacBook-Pro.local>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
* 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>
* 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
* removing leftover test
* fix forex test to use simple pairs
* fix key error in portfolio test
* fix pylint
* fix stocks_bt test
* fix ca tests
* fixing condition
* fixing int tests
* skipping shroom tests
* adding /red
* linting
* making pre commints happy
* linting
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>
* bump
* Add sheet name to export for base load function
* Disable pylint due to known issue with pylint and pandas
* Add robust option if file already exists
* Abstract the sheet name argument into the export data helper
* Feature flag for auto overwrite
* add to featflag menu
* Add featflag to builds
* Remove safety check
* Fix test
* generate integration tests report
* new console report
* simple run_scripts
* move tests script to folder
* add skipping
* always display skips
* func name
* allow running from relative path
* rename some vars and time
* typo
* change portfolio supress and warning
* uncomment economy test
* rename test controller
* multiprocessing
* display test progress and available
* rename func
* mypy
* should not be here
* small changes
* type hinting and docstrings
* new subprocesses default
* forget context and chunksize
* clean len skipt
* small comment
* fix subproc default with v
* minor change
* fix path
* better this way
* make output visible
* allow only sequential run with verbose mode
* change message
* detail
* include andrew idea
* limit multiprocessing to clone version
* fix for package application
* must be up here
* allow verbose with multiprocessing but warn
* update readme
* move tests to core
* Update README.md
* Update README.md
* move readme outside
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* parse subproc arg
* Update README.md
* 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
* Delete glossary base command
* move scripts
* ruff
* update pyproject.toml
* update yfinance
* fix futures and economy test, rewrite
* rewrite stocks test yfinance dependent
* refactor sia to yfinance 0.2...
* fix last failing sia tests
* black
* update reqs
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
* fix(docs): added margin between sections
* fix: about command
* fix: about command to match new docs
* sdk aout
* fix: fix homepage
* fix: features -> reference on generate; about on homepage
* fix: juan magic
* update on merge workflows
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>
* removed investing/investpy from sources and added #TODO
* removed Investing from events source
* fixed autocompletion for events
* added rank column based on the debt value
* removed options in treasury autocompletion
* fixed autocompletion to use comma instead of space
* fix verification for no data on economy/qa
* fix the exaple
* commented spreadso it don't show on auto completion
* preventing testst from using user default data sources and also removing unused env variables
* fixing tests
* adding empty line after uninterpreted args
* fixing tests
* improve the way fred works by not repeating the request. also, solve some issues with the plot - but not all
* Revert "improve the way fred works by not repeating the request. also, solve some issues with the plot - but not all"
This reverts commit 1094b454a5.
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* remove verbose on load
* Revert implementation of the verbosity setting in stocks controller
* Edit docstrings to comply with pydocstyle linting rules
* Fix typos in variable names and help text
* Add verbosity setting to forex load helper as it uses the stocks helper
* Update docstrings to comply with pydocstyle linting rules
* Update tests
* Fix test relying on local sources settings
* Remove old test cassettes
* Add new test data
* WIP: Fix futures tests
* Clean up test file
* Fix futures tests having a time component
* Fix futures model tests
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
* fix(docs): added margin between sections
* fix: allow any pair in ob command and fix exchange on load
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
* add screenshot and plotshot
* handle 0 plots
* black
* change logo
* change path spec
* get window name automatically
* create screenshot frame
* merge commands
* fix parser help
* minor refactors
* rewrite parser help
* save img
* small improvs (#2562)
* prevent non windows users to use screenshot now
* minor msg change
* refine frames
* update dependencies
* black
* flake8
* flake8
* change pyautogui import
* update dependencies to avoid mouseinfo
* update poetry and requirements
* remove pygetwindow
* revert dependency files to main
* remove terminal ref
* black
* minor image change
* black
* move images to timages folder
* move images to timages folder
* remove unused var
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
* add record session into routine capabiltiies
* remove unnecessary imports
* small fix
* ignore global statement
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.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
* Committing initial code to add FA Balance Sheet soure eodhd
* Committing eodhd Balance, Income and Cash Plots working (Ratios need a test for eodhd I couldnt get this to return on my slow machine) - Do not merge
* Committing eodhd Balance, Income and Cash Plots working, Ratios working limited to 5 years - Do not merge
* Committing eodhd Balance, Income and Cash Plots working, Ratios working limited to 5 years - Do not merge
* Added fixes
* Fixed poetry
* Added test fixes
* Updated poetry lock and reqs
* Updated json
* Reverted dependencies
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
Co-authored-by: colin99d <colin99delahunty@gmail.com>
* add log path
* add test to check if log file is in correct dir
* env path
* black
* mypy fix
* add styles folder and styles from repo
* add timezone as env variable
* fix changes with main
* fix test
* flake8
* fix linting
* fix linting
* changes
* custom changes
* add custom_imports outside terminal
* black
* black terminal
* fix test
* fix merge and remove styles/user
* some stylistic changes and remove move_files
* flake8
* merge main
* merge move and make into paths_helper
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.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>
* Add helper command to filter unix paths and other edge cases
* Remove sort argument filtering from parsing
* Make --file arg mandatory for loading files
* Refactor queue parsing logic
* Enable adding controller level input parsing filters
* Remove the github repo path hack because it's not needed anymore
* Fix typos and line length linting
* Update unix path parser to match known extensions
* Update oss custom filters to not require space after slash arg
* Fix tests and failing linters
* Add pre-commit hook to check for reserved arguments validity
* Fix tests
* Fix finviz compare screener tests
* Fix screener test
* Fix screener test
* Fix float representation in pd dataframe on finviz screener tests
* Update test records
* Update test records
* Remove explicit float formatting in tests
* Update tests
* Remove prepending file argument
* Update long arguments that have lost their short default to file
* Update arguments in docs
* Update portfolio test data
* Fix econometrics/desc throwing error on empty df and fix tests
* Update tests
* Fix econometrics load autocompletion
* Fix portfolio tests giving different results every time
* Allow loading openbb scripts from arbitrary path
* Fix passing path as a terminal argument
* Fix guess game being case sensitive
* Silence bandit warning about using pseudo-random generators
* Update gov tests
* Fix screener sort fields that have forward slash
* Make controllers apply custom argument filters on entry
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>