* 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>
* 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
* adding BaseModel
* initial version of the system model
* creating setup functions and removing constants from config_terminal
* removing log_supress const
* fix test
* merge
* system handler
* fix import
* centralized configs setup
* repr to use the BaseModel
* updating i18n dict location
* ignoring warning on wrong type-var
* ruff
* Update openbb_terminal/core/models/system_model.py
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
* Update openbb_terminal/core/models/system_model.py
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
* import literal
* loading env files before the plot backend is called
* fix tests/openbb_terminal/test_terminal_helper.py
* tests need to have i18n initialized
* fix seeking_alpha tests
---------
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
* 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
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* block logout
* fix default behaviour to no ask for creds
* enables to use --login on
Welcome to OpenBB Terminal v2.3.1
╭─────────────────────────────────── Home ───────────────────────────────────╮
│ │
│ Information, guides and support for the OpenBB Terminal: │
│ intro introduction on the OpenBB Terminal │
│ about discover the capabilities of the OpenBB Terminal (h │
│ support pre-populate a support ticket for our team to evalu │
│ survey fill in our 2-minute survey so we better understand │
│ update attempt to update the terminal automatically (GitHu │
│ wiki search for an expression in Wikipedia (https://www. │
│ news display news articles based on term and data source │
│ │
│ Configure your own terminal: │
│ > keys set API keys and check their validity │
│ > featflags enable and disable feature flags │
│ > sources select your preferred data sources │
│ > settings tune settings (export folder, timezone, language, p │
│ │
│ Record and execute your own .openbb routine scripts: │
│ record start recording current session │
│ stop stop session recording and convert to .openbb routi │
│ exe execute .openbb routine scripts (use exe --example │
│ │
│ Main menu: │
│ > stocks access historical pricing data, options, sector and │
│ > crypto dive into onchain data, tokenomics, circulation sup │
│ > etf exchange traded funds. Historical pricing, compare │
│ > economy global macroeconomic data, e.g. futures, yield, tre │
│ > forex foreign exchanges, quotes, forward rates for curren │
│ > futures commodities, bonds, index, bitcoin and forex │
│ > alternative alternative datasets, such as COVID and open source │
│ > funds mutual funds search, overview, holdings and sector │
│ │
│ OpenBB Toolkits: │
│ > econometrics statistical and quantitative methods for relationsh │
│ > forecast timeseries forecasting with machine learning │
│ > portfolio perform portfolio optimization and look at portfoli │
│ > dashboards interactive dashboards using voila and jupyter note │
│ > reports customizable research reports through jupyter noteb │
│ │
╰─────────────────────────────── OpenBB Terminal v2.3.1 (https://openbb.co) ─╯
You are using the latest stable version
2023 Feb 14, 06:39 (🦋) / $
[h] help menu [q] return to previous menu [e] exit terminal [cmd -h] s
e
2023 Feb 14, 06:39 (🦋) / $
The OpenBB Terminal is the result of a strong community building an investment research platform for everyone, anywhere.
We are always eager to welcome new contributors and you can find our open jobs here:
https://www.openbb.co/company/careers#open-roles
Join us : https://openbb.co/discord
Follow us : https://twitter.com/openbb_finance
Ask support : https://openbb.co/support
Request a feature : https://openbb.co/request-a-feature
Fill in our 2-minute survey so we better understand how we can improve the OpenBB Terminal at https://openbb.co/survey
In the meantime access investment research from your chatting platform using the OpenBB Bot
Try it today, for FREE: https://openbb.co/products/bot
* reverting the condition to the original state
* openbb to match python terminal.py
* adding unauthorized
* reverting changes
* getting the value of the status
---------
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
Co-authored-by: James Maslek <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>
* 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>
* 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>
* 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>
* modify export function to user data function
* change to exports
* change i18n
* be able to change user data folder
* black
* add exports to paths_helper
* black
* minor fixes
* fix
* small change to exports
* fix
* exports changes
* fix export
* fix reports export
* black
* minor changes
* fix test
* fix dcf export
* type ignore
* black
* pylint
* fix tests
Co-authored-by: Chavithra <chavithra@gmail.com>
* potential solution number 1
* Making sure certifi is referenced for news and fred
* Fix default sources not being applied
* Add unit and integration tests
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Theodore Aptekarev <aptekarev@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 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
* fix issue with light mpl stylesheet
* change timezone variable name
* change names
* change names
* names
* simplify paths.py
* change some names
* fix error in logic
* remove 3.11 from testing for now
* 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 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>
* 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>
* Add survey command
* Add link to survey within docs
* Change exit message to include survey
* Grammar
* Little tiny mistake
* Add in documentation for settings, featflag and sources
* Details
* Add width and height
* Fix survey not working
* Add static method and change 2-minute
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
* start working on guess command
* add guess game file
* Allow to do more than 1 attempt in the game
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* Add all data sources to data_sources_default.json so we can have a list in one place
* create menu to get and set data sources
* improve settings controller
* james request
* improve helper message
* minor improvement
* fix tests
* Change about us to open_terminal_documentation
* Change the home menu to be more compact
* Make changes to menu layout and change bottom bar
* Change about command to send you to the documentation and add about to bottom bar
* Add in about choices to all menus
* Adjust wording
* Adjust the website to match terminal commands and make adjustments for common menus
* Update the website and small change to about command
* Small adjustment to about command
* Remove update command
* Add some more info about arguments
* Fix broken link
* Add pro tip
* Update keys to work well with about
* Fix some common paths
* Add back in the update command with exception if packaged application
* Remove update comment
* Fix all the things
* Make about more robust and also add in exe
* Make sure that there are actual commands and menus
* Add a feature flag loaded from . env for preferred data source
* Update the load command to use the preferred source
* Add a test
* Black syntax checker updates
* Update test syntax
* Update load command documentation
* Add a variable to read a sources file from
* Add a default sources.json file
* Add a helper function to read the source file and get the most relevant value
* Add some comments
* Remove older preferred data source file setting
* Add a default source file for data and use it if no user preference specifies a specific file
* Remove duplicate source file and old settings values
* Update the test file
* Update documentation string
* Update tests/openbb_terminal/test_settings_controller.py
* Black syntax formatting issues
* Fix a test case
* Fix a typo
* Fix Flake8 errors
* Fix Flake8 errors
* Pyupgrade syntax fixes
* Additional linter corrections
* More pylint issues
* Improve predefined default sources
* refactor parse_known_args_and_warn for documentation
* Update openbb_terminal/helper_funcs.py
* Add a feature flag loaded from . env for preferred data source
* Update the load command to use the preferred source
* Add a test
* Black syntax checker updates
* Update test syntax
* Update load command documentation
* Add a variable to read a sources file from
* Add a default sources.json file
* Add a helper function to read the source file and get the most relevant value
* Add some comments
* Remove older preferred data source file setting
* Add a default source file for data and use it if no user preference specifies a specific file
* Remove duplicate source file and old settings values
* Update the test file
* Update documentation string
* Update tests/openbb_terminal/test_settings_controller.py
* Black syntax formatting issues
* Fix a test case
* Fix a typo
* Fix Flake8 errors
* Fix Flake8 errors
* Pyupgrade syntax fixes
* Additional linter corrections
* More pylint issues
* Improve predefined default sources
* refactor parse_known_args_and_warn for documentation
* Update openbb_terminal/helper_funcs.py
* Forex controller
* Tests : Fixing `parse_known_args_and_warn` issue
* Comparison Analysis controller
* Tests : Comparison Analysis
* Tests : Stocks/DarkPoolShorts + Stocks/Options
* Tests : fix call_load tests
* Linting : fixing line size
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: Chavithra PARANA <chavithra@gmail.com>
* Add more build assets and all notebook checkpoints to ignore
* Delete old reports that were accidentally added to the repo
* Fix portfolios not bundling
* Add mac installer image assets
* Update license
* Make the code folder hidden in macOS package
* Add folder and launcher icons programmatically during build
* Change dmg creation tool to create-dmg
* Update macOS installation docs
* Bump project version
* Update macOS installation instruction image links
* Fix macOS installation instructions styling
* Unify macOS install instructions image size
* Point download links to the website vs github
* Fix macOS launcher self-quarantine command
* Fix routines not launching in packaged apps
* Fix .openbb test mode not displaying filenames during test run
* Remove file with weird apple character in path
* Fix stocks_bt integration test script
* Stop keeping parts of third-party libraries that are bundled
* Update pre-commit
* Disable false positive pylint in some crypto models
* Add i18n support to packaged apps
* Add more sklearn hidden imports
* Fix routines files path
* Fix stocks/pred openbb test script
* Fix website not building because of expo command removed
* Bump project version and update deps
Co-authored-by: Chavithra <chavithra@gmail.com>