From f466ed1e7ff74cb979e5130d70ef2ca5316e3aa8 Mon Sep 17 00:00:00 2001 From: Jeroen Bouma Date: Fri, 3 Feb 2023 16:30:25 +0100 Subject: [PATCH 01/14] Update to make transform work (#4125) --- openbb_terminal/economy/econdb_model.py | 18 +- openbb_terminal/economy/econdb_view.py | 8 +- openbb_terminal/economy/economy_controller.py | 32 +- ...tries0--2020-01-01-2020-10-02--False].yaml | 195 +++ ...untries0-2020-01-01-2020-10-02-False].yaml | 198 --- ...untries1-2010-01-01-2019-01-01-False].yaml | 177 --- ...s1-TOYA-2010-01-01-2019-01-01--False].yaml | 185 +++ ...untries2-2016-01-01-2016-10-10-False].yaml | 325 ----- ...TPOP-2016-01-01-2016-10-10-EUR-False].yaml | 316 +++++ ...-TUSD-2016-01-01-2016-10-10-USD-True].yaml | 1104 +++++++++++++++++ ...ities0-monthly-2020-01-01-2020-02-03].yaml | 24 +- ...ties1-annually-2015-01-04-2015-01-28].yaml | 12 +- ...rities2-weekly-2018-06-05-2018-07-06].yaml | 24 +- .../economy/test_econdb_view.py | 44 +- 14 files changed, 1905 insertions(+), 757 deletions(-) create mode 100644 tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters0-countries0--2020-01-01-2020-10-02--False].yaml delete mode 100644 tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters0-countries0-2020-01-01-2020-10-02-False].yaml delete mode 100644 tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters1-countries1-2010-01-01-2019-01-01-False].yaml create mode 100644 tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters1-countries1-TOYA-2010-01-01-2019-01-01--False].yaml delete mode 100644 tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters2-countries2-2016-01-01-2016-10-10-False].yaml create mode 100644 tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters2-countries2-TPOP-2016-01-01-2016-10-10-EUR-False].yaml create mode 100644 tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters3-countries3-TUSD-2016-01-01-2016-10-10-USD-True].yaml diff --git a/openbb_terminal/economy/econdb_model.py b/openbb_terminal/economy/econdb_model.py index 49936bdcedf..e5462011f3f 100644 --- a/openbb_terminal/economy/econdb_model.py +++ b/openbb_terminal/economy/econdb_model.py @@ -409,9 +409,9 @@ PARAMETERS = { TRANSFORM = { "": "No transformation", - "TPOP": "total percentage change on period", - "TOYA": "total percentage since 1 year ago", - "TUSD": "level USD", + "TPOP": "Total percentage change on period", + "TOYA": "Total percentage since 1 year ago", + "TUSD": "Level USD", "TPGP": "Percentage of GDP", "TNOR": "Start = 100", } @@ -610,6 +610,7 @@ def get_macro_data( if not df.empty: df = df.groupby(df.index.strftime("%Y-%m")).head(1) df.index = df.index.strftime("%Y-%m") + df = pd.to_numeric(df, errors="coerce").dropna() except HTTPError: return console.print( @@ -730,11 +731,12 @@ def get_aggregated_macro_data( (df_rounded, denomination) = transform_by_denomination(country_data_df) df_rounded.index = pd.DatetimeIndex(df_rounded.index) - return ( - df_rounded, - units, - f" [in {denomination}]" if denomination != "Units" else "", - ) + if transform: + denomination_string = f" [{TRANSFORM[transform]}]" + else: + denomination_string = f" [in {denomination}]" if denomination != "Units" else "" + + return (df_rounded, units, denomination_string) @log_start_end(log=logger) diff --git a/openbb_terminal/economy/econdb_view.py b/openbb_terminal/economy/econdb_view.py index 62fa8d9900b..9e79426644d 100644 --- a/openbb_terminal/economy/econdb_view.py +++ b/openbb_terminal/economy/econdb_view.py @@ -84,7 +84,13 @@ def show_macro_data( legend = [] for column in df_rounded.columns: - parameter_units = f"Units: {units[column[0]][column[1]]}" + if transform: + if transform in ["TPOP", "TOYA", "TPGP"]: + parameter_units = "Units: %" + elif transform in ["TUSD", "TNOR"]: + parameter_units = "Units: Level" + else: + parameter_units = f"Units: {units[column[0]][column[1]]}" country_label = column[0].replace("_", " ") parameter_label = econdb_model.PARAMETERS[column[1]]["name"] if len(parameters) > 1 and len(countries) > 1: diff --git a/openbb_terminal/economy/economy_controller.py b/openbb_terminal/economy/economy_controller.py index b54fce68bb5..5f35fc414d3 100644 --- a/openbb_terminal/economy/economy_controller.py +++ b/openbb_terminal/economy/economy_controller.py @@ -613,10 +613,13 @@ class EconomyController(BaseController): ) if not df.empty: - df.columns = ["_".join(column) for column in df.columns] - if ns_parser.transform: - df.columns = [df.columns[0] + f"_{ns_parser.transform}"] + df.columns = [ + f"_{ns_parser.transform}_".join(column) + for column in df.columns + ] + else: + df.columns = ["_".join(column) for column in df.columns] for column in df.columns: if column in self.DATASETS["macro"].columns: @@ -1243,13 +1246,20 @@ class EconomyController(BaseController): transform = "" if ( len(split) == 3 - and split[2] in econdb_model.TRANSFORM + and split[1] in econdb_model.TRANSFORM ): ( country, - parameter_abbreviation, transform, + parameter_abbreviation, ) = split + elif ( + len(split) == 4 + and split[2] in econdb_model.TRANSFORM + ): + country = f"{split[0]} {split[1]}" + transform = split[2] + parameter_abbreviation = split[3] elif len(split) == 2: country, parameter_abbreviation = split else: @@ -1259,6 +1269,7 @@ class EconomyController(BaseController): parameter = econdb_model.PARAMETERS[ parameter_abbreviation ]["name"] + units = self.UNITS[country.replace(" ", "_")][ parameter_abbreviation ] @@ -1313,13 +1324,20 @@ class EconomyController(BaseController): transform = "" if ( len(split) == 3 - and split[2] in econdb_model.TRANSFORM + and split[1] in econdb_model.TRANSFORM ): ( country, - parameter_abbreviation, transform, + parameter_abbreviation, ) = split + elif ( + len(split) == 4 + and split[2] in econdb_model.TRANSFORM + ): + country = f"{split[0]} {split[1]}" + transform = split[2] + parameter_abbreviation = split[3] elif len(split) == 2: country, parameter_abbreviation = split else: diff --git a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters0-countries0--2020-01-01-2020-10-02--False].yaml b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters0-countries0--2020-01-01-2020-10-02--False].yaml new file mode 100644 index 00000000000..941095cbcc2 --- /dev/null +++ b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters0-countries0--2020-01-01-2020-10-02--False].yaml @@ -0,0 +1,195 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Windows NT 10.0; WOW64; rv:86.0) Gecko/20100101 Firefox/86.0 + method: GET + uri: https://www.econdb.com/series/context/?tickers=RGDPUS + response: + body: + string: !!binary | + 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 + z6nfXbUTnj09dYdjf9h+aIcPV93k8h+b7dZaO57jZCcdprM8bp+33XA83d53s42GTZs2g4T2szun + l9v97k376Q9fdNWt15vd9f5yvbHPrVUvutfb/smdkRfeeaftuOf9YdMP3+3X4/ePfPXP/tW+Hw8f + D21/WPkH/oE+mLpyuujj+4v+PF30fPXd226zs+55vN9uu8Ow+urR16uvnn79x1VWnw3Ul1v/3U+X + vzz58UU76Kf+Xb+9++5vz75/OnZq+/xkf/yLDXz57d0wrPbXq6u7H37VVmi/tlaNx7yy+PnJBuRZ + /24z9OuHq793OxvRD6u2qNfGZhz4NmSX77rtqR+7+pOxQ9Bi37ffP9beOjj79D7ZnbbbdrZDt3vT + 9C/He+zpKG6neprO2i3UIvR6f+iv7KJNdt1thzFI+1+Pl4d+23fD/0ROiC98fBjdQ7tcO721zo6Y + gmLYnw5XU6NvD/315tcm/Pb7R2efBP23p0PfnVoXfX+13+1vrEcf2f38YdiM4TtsT2MonoaL1+OR + F/vri/7uyIvu/sjfPznUHO/W3WF9setaKHTbi83uykbLjl5f3EXBRXd1tT/tjsPFsY3veKmruyh9 + 8uPPjz65G+7D6fndaVdP7k67+nE87cq+vg+C1aO7067+OK1dqR+Gy9Nh287y9ni8HR5+88379+8f + vO67B2/276Y7/XJY3/z6SX8fNzf95WAtn9Kh/PvkXOfeWo8O56tYpo83m93pLld88b5uXXO73R8v + b7tDdzOMo/Fn8+HHAV0ctlkqas3ojsfD5vXYYos/C0AxQB7jT6MPH/PCmEbOP6YRi8qXZ6V94Wv+ + LKmcf0wq41HiprRj5/3jdB//8JfSzP35x4bE/IW0c/7FtDPq82TWcOvTNHR+n4bGY+zH1U3HhekW + vk9N5y013bcjtY/Jy3T3j9nqL/n8v2SrsXE/fP/Psfmh2v9a1pn+++rVFOd3CeLy3aZ/fzcH/v7q + vzeirJjgUQAA + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 793b314d3e040ba6-AMS + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Fri, 03 Feb 2023 12:33:01 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Referrer-Policy: + - same-origin + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=MJvf7HYt1kMNsXSI%2FBFTjkmjh0uUXDlwhU3hqVBfXQlh2By5LEcfkEri9UcbBxFbMrUJ4p7uxFzbF9tlREN1hgWZ%2Bf9E8%2FGpB62xGIe%2BBds1PR4gqIQHQciQNwdGYwMx9VlGywyIilKsXZMo"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + - Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Windows NT 6.1; WOW64; rv:84.0) Gecko/20100101 Firefox/84.0 + method: GET + uri: https://www.econdb.com/series/context/?tickers=RGDPDE + response: + body: + string: !!binary | + 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 + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 793b314eeb230c35-AMS + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Fri, 03 Feb 2023 12:33:01 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Referrer-Policy: + - same-origin + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=qGmGJCMYtrYH1Wao8ZnQ7KXe3eqPD0P3F2Zm%2Fj2NO8qVH9mvE2jP9W93z1B02oHBbIVL14LZZzRde%2Bm0GRfs7TEh7OKMI5xRa2h%2B5nW%2FKxkAQwE4hw3lGD8hqz4c4w1Oo72gTsFru3l2Byss"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + - Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + status: + code: 200 + message: OK +version: 1 diff --git a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters0-countries0-2020-01-01-2020-10-02-False].yaml b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters0-countries0-2020-01-01-2020-10-02-False].yaml deleted file mode 100644 index 3adace23e03..00000000000 --- a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters0-countries0-2020-01-01-2020-10-02-False].yaml +++ /dev/null @@ -1,198 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.27.1 - method: GET - uri: https://www.econdb.com/series/context/?tickers=RGDPUS - response: - body: - string: !!binary | - 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 - 8v26/3Be/35//V+ISiVB4FAAAA== - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6f0a29f1ce3b82e1-IAD - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Wed, 23 Mar 2022 21:12:11 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Referrer-Policy: - - same-origin - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=1dzux2ISutUgy2He760%2BTvS6O8pEYp4Sne3O3Y5dwiqKAngrFeRjn66vrWPu2sgM73eYHEThYB6lfCfJsPHsZ8O%2FD2QnN6%2FG%2Fz7r2IJZ3IOiWFtJvMGNP667FKeUP66L"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - Vary: - - Accept-Encoding - - Origin - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.27.1 - method: GET - uri: https://www.econdb.com/series/context/?tickers=RGDPDE - response: - body: - string: !!binary | - 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 - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6f0a29f2fa64801b-IAD - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Wed, 23 Mar 2022 21:12:12 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Referrer-Policy: - - same-origin - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=97Nlit9uSooiV3D8i5iRaOgWNTho%2FzIo6m2ME4uYfhvODtPkTlMKTwgNOorIsGV38ooNzKZK4nWveURvLxLAJQF7Pz%2Bq%2BBPzukhLTfIkVoP%2FXkmzBPrh9NJ0t8O6bMwe"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - Vary: - - Accept-Encoding - - Origin - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - status: - code: 200 - message: OK -version: 1 diff --git a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters1-countries1-2010-01-01-2019-01-01-False].yaml b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters1-countries1-2010-01-01-2019-01-01-False].yaml deleted file mode 100644 index bffdc492453..00000000000 --- a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters1-countries1-2010-01-01-2019-01-01-False].yaml +++ /dev/null @@ -1,177 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.27.1 - method: GET - uri: https://www.econdb.com/series/context/?tickers=EMPFR - response: - body: - string: !!binary | - H4sIAAAAAAAAA61Y/W/bNhD9Vwj9MLSAlVDfUotiCFany7B1zRewIQsERqIdDrKokFQao8j/PpL+ - iFNf1kNRIEgsmu947+7x/JyrL0HLDGNKsWXwhlz5R25fBTGNo5AWIY2CCQmmf3w6PrPLcZElqX3W - hplRu33Homdd8DghX0PTPWicxTho9DU0L1MMlIYR3YNWaYWC7nPNyxgJ3eOaZ1mBg+5zraro29Co - ArgWtEQkbKEA1yrDnQr0lcYZDrrPtUAlXIJ9RZ1aQhqmCYZrCfW1ihF9ddB9rnmeIKAFxLWoMGUq - oL4WBYZrAXEtcuSp+1zjEnFfoxzimhSYvuYQ1zzKcVDgvkYlDgpwRfU1A7lSTIUziGuWYvqaQVyT - CpcwwDXCjPAohbjGCaY5KcQ1TTCSSCGuaYz4uHJQoK8RRUATkGuOmRIJ2FdUwgnY1xwJ3edKKwzX - GOSKGuExyDXCaDgG+0qRUEDDCeaqR7CGMfKHfFOeosoE+SarYUxzQN8U5ZibA/qmGOObItA3ZSgv - AfqmpMIlDM4mBJRCvimPMGqioG9KMRqmkG/CcaWgb4pThIYp6JvSCjGbKOSb8gIzhynom3KKmE0U - 9E1Jifi4oqBvShKEhinom1LMzaGgb4pKDFfIN2Ul5msDhXxTVhYYSYC+iaK4Qr4pKxJcwgDXtEIM - Uwr5JgvFJAz5pqyMMGqCfFOWY6w0hXxThrIhFPJNWYKx0hTyTTZhhOWikG+yCSOh+1yjEiMJyDdZ - KOZUyDdlWYwpE+SbsoRibg7km7I4AT+ar+2iaN3Caqt9vOfqRmpeG2E6H/JYsb7hJCQX0rCO8MXQ - yeWC98btXnDD6pbrRonBCNl/EzDncq7YcOv+i/MluGW6HpScCX+UUSO3W3q22DnYgYSWfuHMkQ1M - 67Ezxe9G3jcuUnA6MmW46pZuu27YKvWLWzlq1rfarY69MJ77J6607P1ax7QZh6fixdaIxWGcuvfW - rOpO9vNVOnJBoowYSfKULDlT+u0eRfJKcS1a92qQw9gxVxTSSEtkMLYkvx+fv16j3pLLnrX/jtrw - ltgUGHklDvgB6bkwt1wRzZlNk3Xdkmy39VIRR65vmSLPwC7qmi0ZngiythX9TNataIyv2vGLVZs+ - kRC93c+MVL6I30HRxTtf57/O0wvAhvuhpFfnPGzTdM9Hc04a21j9QtPcnkurBSJnZGGPG9UzrexW - 7wOXg+yEscWwFejtlVg69oNURvTz1zsifVyLqb5n3ch9pXdUBRjtIC5IlnihbW9lP3adC2RDzh30 - yl/nU49zUU6TwF1Yd2lmUvHGnudgM9Zpf2/4g6kV7yynHTnnYZxfUPrG//g8XeU0X8lBy1E1q3wH - xWfCl3J6Gexcw+mopEvRp9qN/i7wzdrj7uJWIqGtY8gaI+5txcKbZaj5w2ptzsO7jehCl4iL2sjW - n2SVc1LbAtWnO/dvM1V25Om6tIlObpZWNA+rtbmbOtv4ZBOfNQ3Xuh5V5wLdGjO8OTxkw6C1PNgw - OeCNfz0w++ewH8WhvpWfD1r582cm3rnJ9NO6bu+6mRa1JVvfrWZTrdvFw9P4MmLBay16X9YgLf4Z - KWV0IfrR8P8fOq6YlqSpB6bYQvuu4Mbwto3Pu7U/B90RzBglbnw2VmNXdqxOfcH9r6f5MNmdD1Z3 - V8HJx/cnv9gGrXVc2369ODgm3zk4/EHn9dH731yIj+dHL42SyY8eJauTp3/51DeDZUNj9e7Rh6lb - +TvKwjx9Pmsm8KzxsMuPJz7gxa/n9afpGTSAJsAA8tgP0z997DPMPJps59H19Uqaa83W94J/Xkv0 - 8fo/GOTJOE0ZAAA= - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6f0a29f4ee095ce2-IAD - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Wed, 23 Mar 2022 21:12:12 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Referrer-Policy: - - same-origin - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=UM9%2FWxvLZo7ccOnHl4VlvRmfS34HYtFnLkaXd2eRBbzgl133gplX%2FcpVYtruDYZ%2FfkKQ8Wz147oekFv%2BK7%2BBrqyjpczvzNCVv3qM8t4uHjRflLm5IgLu5h2osZZBCxnE"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - Vary: - - Accept-Encoding - - Origin - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.27.1 - method: GET - uri: https://www.econdb.com/series/context/?tickers=PPIFR - response: - body: - string: !!binary | - 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 - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6f0a29f5d8e057e5-IAD - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Wed, 23 Mar 2022 21:12:12 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Referrer-Policy: - - same-origin - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=z1Icrebp%2BfiiMz1jZulqGgBXXak8f%2FfHHozouD6N0amuAiGkqBTAVIKoaM8oa9C6xPBYOzgq4%2FuTpishVeMOd%2BnL7X8mpQyOZPQGuJw4jyHcvQl%2BfmiERY3dHnC9jGXn"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - Vary: - - Accept-Encoding - - Origin - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - status: - code: 200 - message: OK -version: 1 diff --git a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters1-countries1-TOYA-2010-01-01-2019-01-01--False].yaml b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters1-countries1-TOYA-2010-01-01-2019-01-01--False].yaml new file mode 100644 index 00000000000..ad446233b3d --- /dev/null +++ b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters1-countries1-TOYA-2010-01-01-2019-01-01--False].yaml @@ -0,0 +1,185 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Windows NT 10.0; WOW64; rv:86.0) Gecko/20100101 Firefox/86.0 + method: GET + uri: https://www.econdb.com/series/context/?tickers=EMPFR~TOYA + response: + body: + string: !!binary | + H4sIAAAAAAAAA61YbW/bNhD+K4Q+rYClknq12k/B6nQZtrZ5A1ZkgcBItKNBllSKymIU2W/fkbYT + Z9Wt16JA0Di07uHdw+dOD3v12aukkVJrufFesSv3p4JPXsjD0OeZz4U3Y97i9w/HZ/9cvP94BN+J + IIsjWByMNONgHz6uW9l4DzP23/h4Kj4MeJ7T4sV0fJqkhHjhCz6dfx7S4qfrh/3DOS0eqT8VGS1+ + sn6fB0kSEgA4QoAFECmlBI5QAAhxElKK4AgJPqgoohUxzQIPsiT+erzIERJ4kPJckABQDsKcoCML + MEkBD6I0IjSCBUAoiDOKksUc5SDOOOEQAGCaAx7kmSACIBwkOTWDSQ4ECJEQnqGzIOWERoB4jIBk + HlJkmKEE5HFKqwATAc9CwjgWKSqCMOEUGaYoB+GcJMMU5SDOIiIA1ghhTDmFBOcgm1NkmKAcxJwy + TBJsHPJAiIxyjAn+VghDQUGI8deCEJRmiPGJGEUJRcwxqoQwzChKiHElJBRzISKcBD6PCG82QMCk + wGNaBrgUaGKKcCmIOamhQrwfaGrEPKJjkVIDZhLtOWSCwiNmEy0LnGIxBGYUbQ5pTOkIzCrapoSW + oCEgHcHzmCJHzC0CQEQabZhbhFdcSkkA84oQH5HkjFlFqIAWjckgSij3FY45RbCqcU44Q446RQHt + RDgCjjlFqCGbU+48HLOKzvJTbh0c94owWAn9yDGvKAKK0eOYU7ROjfCK55hRhFtnRInHnWI2J6iY + Y05RQBtQRIQZRXtfopwf5hNBxJRhyDGbCPmTzg93iXmWUtoQd4lhklFOAHeJYZpRjgB3iXFMuXhz + 3CUmEeW9zDGbCCSmVACEgzymcIh5RBhEJKPMMY9or92kPsQtYpySdIRZROsLMtIowTyi18rWI8VP + c/AN8ZMUfEP8JANo/DUs1pVdOHge1u6UvukGVZjaNA78WMu2VMxnF52RDVPrvuk2a9Ua+/RaGVlU + aih13Zu6a78asFLdSsv+1v4X5GfvVg5Fr7tl7bYyelQzm/H6YGMbVA+dWzizZXumcrFLrT6Nqi0t + knc6Sm2Ubjau1lJuU7+47cZBttVgV8e2No6AD0oPXevWGjmYsX+iMXQ0htx+t6uqaLp2tU2nWzOR + MNOxNGYbJfXw+osS2U9aDXVlP/VdPzbSksLKDgrpDVDy2/H5i13Ua3bZyuqvcTCqYpCCZD/VgQpY + q2pzqzQblIQ0ZdNs2ONjbaeZLa6tpGbPgi3qrlrWPxUoq6pul11R1aVxrB2jrC2eiqhbeF6aTjsS + v6NEi3e+y3+XpxMAwP3Qorf73D+maf8+WilWwsEOyKHZZy5BC6xbsjVsN+pnWjlk763q+q6pDZAB + DLTQEhtbfd9pU7erFwcifdiJqbiTzagc0weqwm5OXjhncL991p/t2DQWDXBXNv7KdfepC7ZQp5Fn + W9d2zrLTqoRNbdhSNoNrHnVvCq0aKOxA05EfigvOX7kfl6ylb1BbTQzdqMtt0r1Wy9rxubj0Dnpx + MerOpuhSbUbXEGq/9nC4+KgTH8j0ZWnqO6DNv9n4g7rfrq2U/2mvPN8mYlHLrnI7gXxOCmCpOD1o + wv1oOdCoPao9OrvZgHLut2srO3oe8dkeX5alGoZi1I0FujWmf/Xypez7YeiCfSWBKt3nXsKv7eAp + hmp9/zSbTL1WxVC3ji5PhH+OnEu+rtvRqP+fKJYkSN4UvdRyPTi2aTP28Xien8KXQ85uIY3R9Y3L + BrRzBTNz4Yh0/zw1/+yw+UFPV97JuzcnPwPxO5EWcA7oVJh951RwG50XR29+tRDvzo+wOTH70XNi + u/PiD5f6fmrsy9h+e/R2YVc+isRP4+eDZDY9SFzY5bsTB3jxy3nxYXE2NV1mE9PFxb5dvHfYZ5Rh + M3scNtfXW2nueri4q9XfO4k+XP8Lb39cXecbAAA= + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 793b3150ad7c0df3-AMS + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Fri, 03 Feb 2023 12:33:01 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Referrer-Policy: + - same-origin + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=jjMOg9zMt6t4M%2F1Jr%2B6TI2FBoeRNLi0%2F2Amc0bRjlIzaOpQt%2BvSBX48jedqclUeWQ0Pv1XcQL4gMPfWpk3PzgUox2AZNLQIjoUYni9UOr4mxHHN2RgPnXPOaNRvP5%2Baeppq921uifU4jGwpZ"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + - Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.10; rv:83.0) Gecko/20100101 Firefox/83.0 + method: GET + uri: https://www.econdb.com/series/context/?tickers=PPIFR~TOYA + response: + body: + string: !!binary | + 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 + fwDyKegtZ10AAA== + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 793b31536b0cb972-AMS + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Fri, 03 Feb 2023 12:33:02 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Referrer-Policy: + - same-origin + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=CtdczphafpLu3EtQPc%2FZg%2F4oVOgKaBVXtTsJOst91QfVSMwlQHhA3u4yxXUWuaQXGulQ7bb6TVQnULJoMQsfjG2xcqWOSsQEiwlLykbkwtECBtShq6ng8QetpH%2BC%2FZAss2WASrKGIQqbWePV"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + - Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + status: + code: 200 + message: OK +version: 1 diff --git a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters2-countries2-2016-01-01-2016-10-10-False].yaml b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters2-countries2-2016-01-01-2016-10-10-False].yaml deleted file mode 100644 index 2f7ebabf780..00000000000 --- a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters2-countries2-2016-01-01-2016-10-10-False].yaml +++ /dev/null @@ -1,325 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.27.1 - method: GET - uri: https://www.econdb.com/series/context/?tickers=GDPIT - response: - body: - string: !!binary | - H4sIAAAAAAAAA51ZbU/cRhD+K9Z9qBLpLuyr104UVZQQlEjQkJBPFFkb24Bbn+3Y64Qo4r93dg3l - iifyJBKCu719duaZNz97nH9fFdZZ2/f22+p5dB7elvBqJZjgG842jK/W0ero1bs3Z7CstEyUhoXB - WTcOfuPrqrH16nYdPcIyg2C5omHVY6wSMhY0LH+MFanmKQHLEL4iTnVCws75Sq4Nze6MrzSKGU7D - zvlKpuUylqcIX5XGJiZhkfwykRJy5LHz/KaCEerKY2d8lZGaECueYHyVIPFNEL5KKEmoDY+d85VK - ELFzvpyT4mwQvjJNNYWvwepZJwnFZ4PwlVKkhF7wWKR/ZUrxOcb7N6HURozwFRrQNOyMrxCGUXow - xvjyWFGwGuHLDWeEGQvYOV+uOaPkVyN8uRDM0LAzvixNOSW/CuHLEhlTYqUQvixODaNhZ3xZLBSl - BxXGNzYppSYlxldpTbErMb6KK5pdhK9IE0qcJcaXGdLcEChfTsqRwPhqSZqTAs1vrCl9JDC+IHMo - fDF9xbkg5RfTV1xC/GlYpH/TmMIX01dcMFKcMX3FTEzKL6avmDSkZyiirxRkTlBihegreBilMcEu - Q/QVYEnziiH6SqaKNHMYoq+gEYQgzFiG6CuZShD9BCymrxiMQIpdTF+xVFJ0LMP0FVeKotsZpq84 - iBVCTTJMX3HOBCVHmL5imhsidl7PTFPqmSH6SqbGaILOYYi+gnpOSPWM6CuZMqloduf1nMB4ptQV - oq9kwhKKVmGIvoIbLBOUXkD0FdzpUoomZIi+koalCaUmEX0lYyME4W7FEH0l4zglxRnRVzDoWELE - zvjGkpN6ENFXUoOuo/BF9JXUwpD6F9FXcAk1lO83GKKvpDJw16NhZ3zhUkfCIvpKwsAi9T6ir6SE - qySFL6KvpIxBYdGwM75wlaTc2RmirwAK11gSds5XwKyj8EX0lRTKUDQhQ/SVhCc3acYi+kryhFPu - zgzRV5LD44hwX2DY91csJdud8QXNHy/miKcppq8ggsu9ELAzvlAafPmeMmEf8xUp08t8J+xjviJJ - kmVtBlhEX4nE8GXNH7BzvokWYrH3J+yMb6Li5fvghJ3z5UwtPn8Bi+grYWC0U2oD0VfCAN/FZ8qE - nfE1XAqaz3O+cMNZvh8BFtFXIpaQYhJ2zjcWyfL3ORN2xjcGnUOpDURfCZ1oTfEZ0VdC62RZXwXs - nK+CZUqcEX0lFNQz0e6ML1zMDBrnC1isCr8w7YW3X8r+UzuUmatcHc5842z9LdpER307DFHRbsvB - VXnU9W0x5s5DtqWzWVEOeV91rmobGuqqbK962137f+t8X13bIYMPL6tg1PVjCVsau31wwWOqoQ3v - zzztlSsC9LIvP49lk/uDVqej7V3ZT9uH3E4cjqu6BscGvzg2lQsxOPz43r+v7eDG7mHiC3iig/BK - /Gd3pLK6ba5ClFA2kXXR1vb/lA5WqrwcXkQfSju0EGKIgW2KyPvRFLaPbPH3OLiyiMCefREdjH1f - NvewdbSd/IyCj1F7GTXWB9TWUR525oGWLYqquWyzooJI+gi8/mEEPsJB/pwt+DP2geGv2bwndMdg - Cyf4w0g8Pf7k/lCb5+3YgKWqAf+ta/voyeGHfc6e/kSAQ3WXbdfWFWyDU8Gdyn2LnvRl1/auaq6e - PtTN7V2Ssy+2HssQsJ1sIxpspbSMEqVXuy3TjHXtT+ptc+Wx56HZTgPQH3OqVr6bfB1ftn2Zg0EP - u7T1EEq5vHFZX9YQr50684PtjLHn4Sc46uM1lFNah3bs88nhri8vq5upalc7nXE4QsDAxeBqPYYi - Le/XbncWr4puAxnabG3VbPJ227UNxGzYtKPrRrcpbzpIXOWgRsK2qoE9pT81b4tg6WT/+DTjLIMg - 7XTGfbvDaigAf3z0cHz0ZDp/He0YCBsnA09DOeeQ0SEb+9qfdO1c93xvz3bdMLTP7rk8K/PwurPw - Z68Zq73huv36rGh//2qrl35c/HYXuZcQms/eUWA8jYxsKLY3D0PFVdsyG8B+oKXMXyNjlm2rZnRT - Yf1wIPh4dnXrss72djuExPzEmPwvnf/P2mxGeTPWub76FDyCUjtfvX5/eOp3h18P7b7ebXcov/PV - x5NpjB+8y45P9g+wGbD+pRkQTv+Q7b96G8bBwf6PpsKaOhXCiSf72Zuzw2OP+oMfnVJHxZo+KoKZ - o8M/PWaKzdLkWN9PjouLqYDuSiv7UpVf7wrp9uJffTpcQZogAAA= - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6f0a29f738cd81db-IAD - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Wed, 23 Mar 2022 21:12:12 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Referrer-Policy: - - same-origin - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=%2FuVrXMD%2FWiOnBEAoKVIJk5ha00z5fSjpWEy%2FriItYuMKTKWyKr9qTzwcD1X1oAkrF3rCFW1uH6acTIXwKWQdWXlE%2Fm5baYWtFjtuZBfjjwBsBG7eghZO4OvoYNozMTSh"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - Vary: - - Accept-Encoding - - Origin - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.27.1 - method: GET - uri: https://www.econdb.com/series/context/?tickers=RGDPIT - response: - body: - string: !!binary | - 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 - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6f0a29f82e535a88-IAD - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Wed, 23 Mar 2022 21:12:12 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Referrer-Policy: - - same-origin - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=7KkbB56WzwJ%2Bx3LN8Oye3oDjlojImEqgyjdsh4TxWK9F3jG9M2tHtQAxdaHYBhQMVICSx87Yo6Ygm%2Fr4KBPUJP6S0PRa%2BM%2Bfsk8MSXfZljydSrSYp5NYffYW9OoZQ4nN"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - Vary: - - Accept-Encoding - - Origin - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.27.1 - method: GET - uri: https://www.econdb.com/series/context/?tickers=GDPNL - response: - body: - string: !!binary | - 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 - Pn6cium2zPIvVfn1tqhuPv4H6i2xQa8gAAA= - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6f0a29f92a8b59da-IAD - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Wed, 23 Mar 2022 21:12:13 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Referrer-Policy: - - same-origin - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=y2MrWq9vatXQSWhS%2BxEpD%2BO8HIVAZfqkHLUya3rTz4HpYIxuiLkdHYmi3vUKLATx9er6wyPx%2BIm64S8RQgbfdwr5Ocge08k4%2Ff5vtgGXqUyG19YFLxAWNQJoGJV1OmX2"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - Vary: - - Accept-Encoding - - Origin - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.27.1 - method: GET - uri: https://www.econdb.com/series/context/?tickers=RGDPNL - response: - body: - string: !!binary | - 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 - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 6f0a29fa18765955-IAD - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Wed, 23 Mar 2022 21:12:13 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - NEL: - - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' - Referrer-Policy: - - same-origin - Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=JPGjgwKC0VDYThWADdg0kyhY4wvdlu%2Bm3CuIkmUoYcJZAaLxZm2EZ%2FCmKihTRZ%2FTinuFoS17AgUMVKYVmaLR6HgLv6u%2B6G9xlExDHYgtvnsVst%2FU96AvTUsLaVfqVGG%2F"}],"group":"cf-nel","max_age":604800}' - Server: - - cloudflare - Transfer-Encoding: - - chunked - Vary: - - Accept-Encoding - - Origin - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - DENY - status: - code: 200 - message: OK -version: 1 diff --git a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters2-countries2-TPOP-2016-01-01-2016-10-10-EUR-False].yaml b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters2-countries2-TPOP-2016-01-01-2016-10-10-EUR-False].yaml new file mode 100644 index 00000000000..3db05c15804 --- /dev/null +++ b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters2-countries2-TPOP-2016-01-01-2016-10-10-EUR-False].yaml @@ -0,0 +1,316 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.10; rv:86.1) Gecko/20100101 Firefox/86.1 + method: GET + uri: https://www.econdb.com/series/context/?tickers=GDPIT~TPOP + response: + body: + string: !!binary | + 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 + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 793b3159fd690bb6-AMS + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Fri, 03 Feb 2023 12:33:03 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Referrer-Policy: + - same-origin + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=zzGVycQNuME%2FywKQVTQQ0jQjxwuN9gbWcVRqV%2BO%2FN%2B8veuqMwHkNXR3MChH1vDlpiMrmrNCFKE0ZGYJP0QeuyNDky%2BS3cSyGhAomDmHUyhF1t0bkGwcCxVtfhUruxxM4OoFtt5pGP78dBdwy"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + - Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Windows NT 6.1; WOW64; rv:84.0) Gecko/20100101 Firefox/84.0 + method: GET + uri: https://www.econdb.com/series/context/?tickers=RGDPIT~TPOP + response: + body: + string: !!binary | + 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 + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 793b315b89400ea9-AMS + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Fri, 03 Feb 2023 12:33:03 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Referrer-Policy: + - same-origin + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=EHjIPgtXNi5l7bGqSGV7KR4MIslttlwiTNbeYND7wh978%2BJ5XZi55aFvTQr3%2BrH0ohKZeIIgv6twg5jQRhvJVE77m0NurR8vfF57oS6%2Fremotd3JyAnvt2EbdpKJkeeZfDzpeCzErXwZG4yo"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + - Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:86.0) Gecko/20100101 Firefox/86.0 + method: GET + uri: https://www.econdb.com/series/context/?tickers=GDPNL~TPOP + response: + body: + string: !!binary | + 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 + IwAA + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 793b315d1b67b950-AMS + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Fri, 03 Feb 2023 12:33:03 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Referrer-Policy: + - same-origin + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=yWm9TjBQFI8adgugiYdL4cssbNi10%2B1y3qgTTNZ8aENGRRyOGDhk4aZLwZd55xjrN4rx%2F7l4EMQN0Q0AFYL8og9uvBU%2F2NQuBVcfeWmAFysNjPkZ4wRB9%2FItLRv5MLPWcN%2FKmVKEt98Coiov"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + - Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:82.1) Gecko/20100101 Firefox/82.1 + method: GET + uri: https://www.econdb.com/series/context/?tickers=RGDPNL~TPOP + response: + body: + string: !!binary | + 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 + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 793b315ecf1e0ea0-AMS + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Fri, 03 Feb 2023 12:33:03 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Referrer-Policy: + - same-origin + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=nI8YU%2FSOj62VExMUbutWlJUyCVUHcsjjT4IMgWUcGz37CZTvWvJySEBxJlsjlDM2mC2KsZUVhDDB1PxW%2F05R5RxMDApr04ZEOqI4ZUYOTEO%2BubyO%2FxytwqMOOPX9lsT8AdADGBK3Ywm6T6EK"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + - Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + status: + code: 200 + message: OK +version: 1 diff --git a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters3-countries3-TUSD-2016-01-01-2016-10-10-USD-True].yaml b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters3-countries3-TUSD-2016-01-01-2016-10-10-USD-True].yaml new file mode 100644 index 00000000000..732f97fb1db --- /dev/null +++ b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_macro_data[parameters3-countries3-TUSD-2016-01-01-2016-10-10-USD-True].yaml @@ -0,0 +1,1104 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Windows NT 6.1; WOW64; rv:86.1) Gecko/20100101 Firefox/86.1 + method: GET + uri: https://www.econdb.com/series/context/?tickers=GDPIT~TUSD + response: + body: + string: !!binary | + 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 + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 793b31607bc70bae-AMS + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Fri, 03 Feb 2023 12:33:06 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Referrer-Policy: + - same-origin + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=PETlzZjVQeT8HCS8I%2BNtoNcpc%2BM0ZmWk2woGXdZGVlPCdIHpfeqIbsJbWtAC46HM73KxX%2BkuntBfLIY4b%2FMEOw1HeGVFdWtKHMlm7GmAlIUheB58NBcSI2jL1eLc8bzPpHIPZxSRHMcgF7jf"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + - Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/39.0.2171.95 Safari/537.36 + method: GET + uri: https://query2.finance.yahoo.com/v8/finance/chart/EURUSD=X?range=1d&interval=1d + response: + body: + string: '{"chart":{"result":[{"meta":{"currency":"USD","symbol":"EURUSD=X","exchangeName":"CCY","instrumentType":"CURRENCY","firstTradeDate":1070236800,"regularMarketTime":1675427565,"gmtoffset":0,"timezone":"GMT","exchangeTimezoneName":"Europe/London","regularMarketPrice":1.0937,"chartPreviousClose":1.0911,"priceHint":4,"currentTradingPeriod":{"pre":{"timezone":"GMT","start":1675382400,"end":1675382400,"gmtoffset":0},"regular":{"timezone":"GMT","start":1675382400,"end":1675468740,"gmtoffset":0},"post":{"timezone":"GMT","start":1675468740,"end":1675468740,"gmtoffset":0}},"dataGranularity":"1d","range":"1d","validRanges":["1d","5d","1mo","3mo","6mo","1y","2y","5y","10y","ytd","max"]},"timestamp":[1675427565],"indicators":{"quote":[{"close":[1.0937328338623047],"high":[1.0940918922424316],"volume":[0],"open":[1.0911074876785278],"low":[1.0886130332946777]}],"adjclose":[{"adjclose":[1.0937328338623047]}]}}],"error":null}}' + headers: + Age: + - '0' + Connection: + - keep-alive + Expect-CT: + - max-age=31536000, report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only" + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=15552000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - public, max-age=10, stale-while-revalidate=20 + content-length: + - '923' + content-type: + - application/json;charset=utf-8 + date: + - Fri, 03 Feb 2023 12:33:06 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-chart-api--mtls-canary-production-ir2.finance-k8s.svc.yahoo.local:4080/* + x-envoy-upstream-service-time: + - '2' + x-request-id: + - 0eb477ee-9419-46a5-8c2f-2067ca460fb8 + x-yahoo-request-id: + - e5bhnlhhtpvo2 + y-rid: + - e5bhnlhhtpvo2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/39.0.2171.95 Safari/537.36 + method: GET + uri: https://query2.finance.yahoo.com/v8/finance/chart/EURUSD=X?period1=1451606400&period2=1475276400&interval=1d&includePrePost=False&events=div%2Csplits%2CcapitalGains + response: + body: + string: !!binary | + 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 + headers: + Age: + - '0' + Connection: + - keep-alive + Expect-CT: + - max-age=31536000, report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only" + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=15552000 + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - public, max-age=10, stale-while-revalidate=20 + content-encoding: + - gzip + content-type: + - application/json;charset=utf-8 + date: + - Fri, 03 Feb 2023 12:33:06 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-chart-api--mtls-production-ir2.finance-k8s.svc.yahoo.local:4080/* + x-envoy-upstream-service-time: + - '7' + x-request-id: + - 5012e044-8900-4f4d-b977-1eebc48bf017 + x-yahoo-request-id: + - 5obe2s5htpvo2 + y-rid: + - 5obe2s5htpvo2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Windows NT 10.0; WOW64; rv:86.0) Gecko/20100101 Firefox/86.0 + method: GET + uri: https://www.econdb.com/series/context/?tickers=RGDPIT~TUSD + response: + body: + string: !!binary | + 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 + Hq//BrLs//pAJAAA + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 793b3171aaefb879-AMS + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Fri, 03 Feb 2023 12:33:08 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Referrer-Policy: + - same-origin + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=pSkHmOktBdxJPrt8CBK%2BnAEUy2Jn%2FBnfUErl6pnPuDLnxARJFsOZhUOIG1GQnR3uroWa%2Bl8VVtK%2BHOJ497GZi5JfbadeYDVGglyTb1TcmAAs2jGyGndRsRirXEPqt6bunvnohyYJqDFhw2GG"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + - Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/39.0.2171.95 Safari/537.36 + method: GET + uri: https://query2.finance.yahoo.com/v8/finance/chart/EURUSD=X?period1=1451606400&period2=1475276400&interval=1d&includePrePost=False&events=div%2Csplits%2CcapitalGains + response: + body: + string: !!binary | + H4sIAAAAAAAAAO2cTY8fx3HGvwvPRDL93m0gJ9lwDrFhKDKQwNCBEdcyE5LLLJeOFYHfPb+nqnrF + aOafOLcc1pLXs709M9X1+tTL+McX3/3p1cPji1/8+OLh7uOnt1z94ccX7+4eX2npu08PD3fvv/vh + xS9e/P4ff/ni5YuPP7z7l/u3/Pqr33/Nyt/9E2t3f+ER77+/++2rd3f85auv/pnFN+8/Pj58enf3 + /vGbHz7Y8u+//vpXv7W//fHNw8fHbx5evb775atH/paOceTS53G8hIjvP7199fCbVw//dvf4zRs9 + MfXRah6tt5cvvn/3eP/HP368g0w2P/L3/7x/r8f/+jfffEHKN/GHIOlXnx7uP9z97T/cv399//7F + z17yu4c33+ktf3OsMl46O373cPfnN/efPn719v6j/2229fLFB239+zfveXt9Gcyxg7x5//3v7h7e + 3L8W0z483Ol/TsR9fDRG6zhl5qrT3r1//d8Xvjzf5ydC/8+Pq32Oen7ch/uPj//bs/at//OzeNjr + V4+vfv3w6r0IfPMoFUmvxVvxn1+4/POrt29ef63fP6JV/uemH+ndPT+L/ez2M/3Aj6wfTT/SoZ8/ + PGrzu1d/efHtZxc2dL77wLNSbakfXYfW5eytx+Vq+fDLfJQZG3LKdcZlTinHZR3H3tBa3xt6LXvD + yCuemyfv88tyjBYbSuopNhR7g1+WUuO5peYjnmv6HZejb9LL5NFxucqK59Yj7wPVPDfptYxNeq1t + 7A1NL/PLXvaB6pyb9LrGJr0dPceGltgSl7nsA7F5k97a3KS33sfegLLFc5u465f9WJv0nuYmveex + ZdFL27Lote4DdeN/XK5NOuq2ZdFX37Jg6z7QKMcmfZS1SR91blkME6Zf9rYPNFbapJsk9uXcsphp + bFnM3PaBJuq1N/Rjkz772rKYY2xZTHuWXa6UNr08aQtg5bUFgLPZp1i171OskTe9a6YtgDXXFsBa + M07BzxGn6EfJQS8kprY3tCPvDdBW47KPOAViK0FvT2yNDSkdIQAuVwigpzziQD2htntDz21vGCnt + DWPN/VzeG8/NqW7Scy6b9IwR7Q3o/dyXcx8oQ+7eMMsmnfOGAFD6IwTA5doHKqVt0kstm3Q0ve8N + HKnuy7UPhEJt0utRN+k1lZBFrzmFLHAUxz6QtH1v6HWTXkfZsqgzb1nUdewD4cU26figTTpuY8sC + +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 + headers: + Age: + - '0' + Connection: + - keep-alive + Expect-CT: + - max-age=31536000, report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only" + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=15552000 + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - public, max-age=10, stale-while-revalidate=20 + content-encoding: + - gzip + content-type: + - application/json;charset=utf-8 + date: + - Fri, 03 Feb 2023 12:33:09 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-chart-api--mtls-production-ir2.finance-k8s.svc.yahoo.local:4080/* + x-envoy-upstream-service-time: + - '5' + x-request-id: + - 2124c0f1-514f-4766-8682-c3e5752b9db9 + x-yahoo-request-id: + - 9rmuilthtpvo5 + y-rid: + - 9rmuilthtpvo5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:82.1) Gecko/20100101 Firefox/82.1 + method: GET + uri: https://www.econdb.com/series/context/?tickers=GDPNL~TUSD + response: + body: + string: !!binary | + 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 + id2c/Qv8U6zNeCMAAA== + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 793b31806c8bb8b5-AMS + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Fri, 03 Feb 2023 12:33:11 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Referrer-Policy: + - same-origin + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=slzXEQtvDc06N2TBMszBDivxn%2FBGeU0g99HaqEUfXxNBs4%2B1qaAtOJ9VO7M360HELHdefunuk7exTt2FZyFo%2FBU%2BdYqYQP4mrh9%2BJQEt7l%2BsRG6nweseU6aMugZPAdWgH4mBmkjED3ESP%2F5W"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + - Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/39.0.2171.95 Safari/537.36 + method: GET + uri: https://query2.finance.yahoo.com/v8/finance/chart/EURUSD=X?period1=1451606400&period2=1475276400&interval=1d&includePrePost=False&events=div%2Csplits%2CcapitalGains + response: + body: + string: !!binary | + H4sIAAAAAAAAAO2cTY8fx3HGvwvPRDL93m0gJ9twDrFhKDKQwNCBEdcyE5KrLJeOFUHfPb+nqnpJ + c+bvOLcc1hLWs709M9X1+tTL6McX3/7x1cPji5/9+OLh7sPHt1z9/scX7+4eX2np248PD3fvv/3h + xc9e/O6ff/Hi5YsPP7z7t/u3/PrL333Fyj/8C2t3f+YR77+7+82rd3f85ec//1cW37z/8Pjw8d3d + +8evf/jeln/31Ve//I397Q9vHj48fv3w6vXdL1498rd0jCOXPo/jJUR89/Htq4dfv3r4j7vHr9/o + iamPVvNovb188d27x/s//OHDHWSy+ZG///f9ez3+V7/++jNSvo4/BEm//Phw//3d3//T/fvX9+9f + fPGS3z68+VZv+btjlfHS2fHbh7s/vbn/+OHnb+8/+N9mWy9ffK+t//jmPW+vL4M5dpA377/77d3D + m/vXYtr3D3f6vxNxHx6N0TpOmbnqtHfvX//lwufn++mJ0P/z42qfo54f9/39h8f/7Vn71r/+LB72 + +tXjq189vHovAt88SkXSa/FW/OcXLv/06u2b11/p9w9olf+56Ud6d8/PYj+7/Uw/8CPrR9OPdOjn + D4/a/O7Vn19885MLGzrffc+zUm2pH12H1uXsrcflavnwy3yUGRtyynXGZU4px2Udx97QWt8bei17 + w8grnpsn7/PLcowWG0rqKTYUe4NfllLjuaXmI55r+h2Xo2/Sy+TRcbnKiufWI+8D1Tw36bWMTXqt + bewNTS/zy172geqcm/S6xia9HT3HhpbYEpe57AOxeZPe2tykt97H3oCyxXObuOuX/Vib9J7mJr3n + sWXRS9uy6LXuA3Xjf1yuTTrqtmXRV9+yYOs+0CjHJn2UtUkfdW5ZDBOmX/a2DzRW2qSbJPbl3LKY + aWxZzNz2gSbqtTf0Y5M++9qymGNsWUx7ll2ulDa9PGkLYOW1BYCz2adYte9TrJE3vWumLYA11xbA + WjNOwc8Rp+hHyUEvJKa2N7Qj7w3QVuOyjzgFYitBb09sjQ0pHSEALlcIoKc84kA9obZ7Q89tbxgp + 7Q1jzf1c3hvPzalu0nMum/SMEe0N6P3cl3MfKEPu3jDLJp3zhgBQ+iMEwOXaByqlbdJLLZt0NL3v + DRyp7su1D4RCbdLrUTfpNZWQRa85hSxwFMc+kLR9b+h1k15H2bKoM29Z1HXsA+HFNun4oE06bmPL + AvvfssBk94HaGJt09HOTjh5tWaAQWxbIcB+ol7FJ7zp0XOIW9gYW47lY/D4QzNmkDzQjNozUtiwg + ZstilLwPNDCSvUHrcTnalsWYdctioGbx3JnWJn3msUlH6bcsZm1bFhNXGs+daOfeMOcmHSe4ZbGO + tmWxUt0HQl026avOTfrCm+wN8DKeu0aNA8nugnQut0mPI22TBs9skx5HaXEguLdNmstt0uMY26TH + MbdJj2O1OBBef5v0QA+DdC63SQ/+DVkglR4HGmlukx5pbZPmcps0798mPXLq+0C5bpMeuW2T5nKb + 9EAjQxYjj7EPhC1s0kvaJi2x570hb5MepYx9oNK3SQ9kuUkvc5s0l9ukcfZzH6jmbdKDcL1Jr3Wb + NJfbpId8eDwXT7JJr2ub9GjHNunR0jZpLpcO9I2w7Os33756vH/4IPD0nx/vBVpByW/v/0tYxMAh + +pDBSYOw2F9q6cBVo+GEjwNqtWTRG58L2/GgxZYy4pjZBTBtRZpXFR4mfrj6o6BT/uHgzMPuswNB + X9OJp++CIwvbSJlYkG6QMNmzDtwAboWX+qMIX9wCZwE8/nRslMjLo7ATULeWOoQiEjDIkZLfuDIg + o7JTjtCWBsa7iAhHgtrp51kozhDb8RjdDw0HMI+08AVlOe0wukrOEOLsA2YBXHBNmHXxJZkGzybM + Fxzdjftyl6Y2Qy1OwVzCdMAdsyNbkrS47wBVyKGxBId4FvvQCnRdK7BfZp5kv3h324SXwXxqmbId + 2yRFJ5Jo3/JNWFLJBLhEiIpHmU+sJdWa0VW7MeclUeDr10r+KK0QqZAjcfvGilRBzoFkaNiJJdpD + jmcRzI80bQl/ijeDJwtg68fTiaFTiQIxyZiwEBZ8ycTJUk0OS/AC0SFsoOK8tUv2xnsTaAZf4uoB + ERmM1rPe4qoGqc0SNxRphHDYVdDthSBd8o1XtgrPUOTSXDjcSAAkvBBWbaVKrfDJOGtuuHWeCurA + Zy6YNGe8EKSN5Ui6ZTpvJtp/mBGkcThvdGwsGPYRYsctpsLwBSoeY2KIdqP8J0oMOgPrDduVhR5w + mzgnMiffJUZgulglNm27CHELC1xE5rzGcq2RsSrScnc1yaZqIW0WqZJTjyKSkwgmouZmrCwJkYMm + ifPNV2Qo4Dl4JnMwGlBcbEkwGrBku3DSSwfCejIx3pbg8yw6FHf7eRAWm7p4nOC+79JxjiStd9sp + 0mysFQtDm2/sEciQqwcYZ5dhwXV33Dv6jQiG7yrwGXgI45tzAZ8kCkDLq4AenKNd8sdtyk05k/G8 + 6ILg1jDvx31QVIsgKvrgVAGImzKUjDsrzgWhMuCLVAbW+o3T1Jt1pFn8heKCAjLp3HJBIz6pG6+F + 4U6WTBIHmRXSXF55mUOsuAcSIPcF6B5ZKLkpe4MR3NiGzpAkbi2BcXBzPBJZEB+0JPevAIjE83Kr + BpNgnMAHRFP9iIpZ0FNYg4u+ROTFNjAFSHA2y8ELX/EG8I8tycFjmZYudecNnB9dyOnJRxX5P+Ap + ScQqxeWjmILRlXQo5Qk+47UU0whIM5a0qwuCsdW5JVdaLIAf1b2b/Dn4mgS6+CYegCUJBIOsSizJ + LQsAjx7v87RIXjIJQtxwnWSTgwwOs4c91TeJDYrHUOxWaJaDHs9PHl4hGhYXWXUYGBYmlqBWrDgJ + hqEP/SpAYkuyewwvCzaHnYByiXwCPGRp21DkI9Fo2Bo20FUWwBiBvCFC2SQR09LGdtsq2NMtEWnb + z5x5tZQiJR4uR+ZLwoNJWTcydI1UmCKFwAagMM8bNEhV5PAwi6BA4B7SUD1syu1LZp9xTvijw725 + cIuA7DTvYks6jaWPZobmbgU8pXyY046+xGHgFXGnOwGHgifwQ+ZJsL3luBVoAQEIh7Q+dkn5YPpQ + 9mQsPkoxZ6KsMCg4O/wjmVtD7AdW5zTIi8oulyBNvUWW1WiKaEf9fEmuobEHtzFTHHCakaJYM7jO + PeLwgGEYfvLQpxsnPwnUHvmUBxA9EzCDmOlLsI8YPri9OF5bygAQRVFsaL4Ldc2JW4rSdI/3svAp + FScFj134yybOY0vFzRnvO700wt5VbnA+WXCXOxCI9ygnX5eFShBwuoWg4NFM8kNTxuEMXNJTRKZi + inOehEF+VQbkMOQSxE1hbXwVmX29Nkue29kAx9C0UYNyUgXyRKJ77xFVCdmS5ydXZEW6w+wQzOne + cJFv8y/vyy7nYpmiwAlef2zbRaWX0tTkZBZTLIn1icXZkuOGeyVKDA9pUAic+gwBY3KYSC7C6kLZ + zlB8HIqMI13hnKxQh3NNCid5uz7VivB+WH675TKVi/BwMFYNF12hlbSaV+DMnTFVRUiwP8lgi7CH + pKT7cIKNsaQ6Jr4CIEDO6PDJcCQvIBXwN2YrY2RBDWUHvqSQQ7BXcOgzdlmJRL501IDTh/EXt9O2 + Yp21T4bJjqr0cAZ+P8Ouc1TgzygEaSt40gGiFfewt6n4ECAhG0q1QmPP4WzlVDoag/stbhOyVaAb + D689QJ0iI2ThzBHhFefJQb/1TsStbNPSCDQD1P8J+2IXnZiOZmfPxZqSf5RcYMSzPwxN5l66lcvd + m2TBS/AxfEk5oLUcEZJX0aHvtFHxOxvojgwU5YEo1bfCO+LOO/iipKYcO3uqgI4TH4YQpnkOJcQK + uodkdXiMkLsWwCX8CBB62BBUnkoTcmSppKLEl17lgpwCvIP0oAlkDU+6uUrCKkNp9csbqSU0y/cC + h3BNHpIO1TCVzeTtBomvA3UWsMdEnMeIYkqkhKbkTydgAUW6oE9ucT7xtqnkrkw0nL91vBAwbK6h + BdCjaj8CawFryINwEzwgrFbuNqsCCaOPgF8GAZVAcbPbwhQPVPjCrTv6ShKmwizOLHyXtBxud+mN + A4iEB1dlEVNS38dJQE5SYkGi0GlgJXl7VQLj/ozYvhS4cKNI3n2CyjNNeAsgECkVZBXdxj8RTVEC + fJXKV737aRDoqhgoMsPaYlc1pcV1RMp7yEVZgQwmLBczEROqpkqOYurLqGKAPjkJhNaoYrAL0zOL + c9nAbnV3iu53PeO4XTVNKW8ut7CIClFqYDQVlRzX4BUFI4SuXLPh6FSNmOCKzq5wOMQRkB7KpuBl + SyioNInkRxVaX1qyG1WCEbpLFeEX7moSfyu3xKo+CukBPhTAGqiMzEUAkOQnRQRChr0bEpy+iTDJ + USK1SLcIVVloSN3haiRLCFFHk8fE2XoIRPFUIiEYeHArAv7SbGKx4yGcCw8ySMJhHF8ui4Dql/V9 + Ixw9sgES4rAfWVEAcSmTc72qMmYsRJItkeedExf8KLchWIE898RV2ZkyuKcgQohS/quOQ3Uod8XO + YY6fQyu99aVl+uSAduc75nayal49sqJm+NKqKUcPbHBKSE/cI8If6q18ZvIc7IgKgzuiy6Qyy7wB + Gl2ZuRPQlC0oBYjakYgWvARjVIfUDWubCi6IJ3dfQtWLKrJoYHMKBLA6KURTSPUkAiKFS1Xekuo4 + O4cSEoVDSE+3ls5VgCoeE/0w1GOERAlk4qeARyRTqQsr4T2fchv1PFQlUl1ojHpj6az8RHeYy5nw + bDNwFUZmBdSSnhLWpPInWGuOjRSkxm1Jg0cOxAtB3FUls1hS+4//LXWRHMFfVBZxGVbcPZS1R0Ao + 3gLMn+AE9qAyDGpVn/JOBU+hC7HQpSxEylmyZXC2BMRWtAGbtJJd80g6MCMcNMmwo6p6CE5jopmf + wbx2mGbMHAXry0oIsUzRD1SaA75ktSmUPqipEAWaLt9JRJNJhB5Du3qNh/oXQRaev6to0rcOiR2G + GeVJ/eFNZGJUWXVVP7NCLr5f7TsufckqkqhSf4okRYLJMqgSOYsOKJgPC4GOtjSijJC0HBEPRTgU + YiYpry8pCRGAxUqH13WE4dXLxKNghoGMVThLAtXEDn9j50lCnxyxRj63VA01TsCkHLtGVZ1CfSqv + Ih4CV5i39swUCSoRFdiaMfHhfkDMyyqYCO9H5RfP3K0oDVApt6jHm6ZqfvNJa4TcFT1VMfHKvcIz + MViatOThfElYQ3mXilF+ozo9S6qkEQPHTkM9DdUHeY9HyyUoPJLNCUQVAPgryahW3ssKaah3DVJM + u3YlmKnUDJ3MM0qnChlqtsr91RtLWT0wK40MJdxuPHJuTa2vJzsk4qnZq0mKnVROhU8sHG9bovCg + dqS6a9Bbe4AgpKHas2BPZA34YsUdbG5G1kDQwJ7BIaCCgAM4BkCYpgiOwFyCkzwM6wjOoOeWuB1K + 5Eb4LOBGtmZo3r5A4Koamkvqc8Uu6JKzfepFAH6kIWAZBQi3c1UdFQs/GSIZscC2sBNAOSITVlCt + UYvP35j1lLlggKpf8MhdF00ajql64dMbzzkqCjSUT5F59CiHyK1hQIrXMwLmxaMA2VgLOEmeJnJN + /TLlrKU3US8j3gsPyuGtvYuYK1dV9dOX0E8N5GQ1DhzNIMbZrQ4TWat1Mpsg2w502aY5THNyeHhS + oiHP0p/iXJpqywwB+LDyq3SUeIO7mOox7dK9rK4KhT8VhVQ0UuRTpTEaTERtaCBZKrs2gV2qXX+o + WRQVazZlWYQ63RebyDL/+Oa7P0aS2dX6zpZituVGrDKrGikwMnlrDUYbQjTH6M29obSjaeQH+OW7 + zu3EJSwmpioZHHM/nSAIsELLoohlxTUNUVjR1p6lajMunWeCUKKIpWgqBIXYVkBxy6aKBojcy/LG + YQlmU8d6+I1WdEFBMI0cNTIjNavKWL2zYNmbQKgCTFl+oItulxEBayxLcFKtVj6lqUCweKOCMh5I + qfq8Rbz18zEQy5fajfsUh5/aG+ErbawJbSXMBnQ8dZ4Ea4Q5BQfSNuJTkbgkK4aqtoZgHaZdANpu + lbSlYkXzxKJYZ79qXmOWratqtHI3tnaUjYhU/Dg0oxPBU4QSaZQPl6i3nZDNVY0dnW4kLA3nFlWl + Q0UOBRVlkdWXrP4FnWpwRzi1dhSKpJAW5UT1kodeWV1vl6oJqq99al3bLAI5EvKqXiS7FLO1Scg9 + UZqcbpCgsrRyCzwniOSprKpKvGolxPgoOQsjwhpVpByQ2yRiVXakUaEwZAX8aRnGUwA8ms35qHzl + vDrV986JuyYXAVqoBpJMLmbr1lozrTdPiK+KDjYg4H7ZY/dFknnRjsAcVVlu8itjJ7qHJg75NQVq + ygY7s88Wei5zblfJ6csqwQctCndVguiaCFBZ2Jcs0mjqT3Ugv/EEfKuSTpTxQIIelDX2WVVLUrfX + V8zFCPIFmqhSqTZk//i26M+pdKIMr0CXh1+lGaq6gu9yhD4rsChTUzvYj5esRVS85OYYV1WLbu2D + 2iOZ4vWoC26OtMRRLyrA09qwXlWKF/J05ZeIrd9KTi8S3Qu5X7R1bWwISGUeKw5tnlAJf83uBGzG + NR/WobLDdDkYqzSt3fw77anLSrMqlgr62NIQhIVRKwuKuKhkfrCNN3rArBp7KTYsMqKxrXka/AS3 + 5ShpohrCvNMQx4zSgvJljUrxpHXTGqQFahJllTFdMudMFK3A31n9MEeB+iJxUkYD4dZBdUIvpkKG + JYs7tETUPlXEFSm70gH4s9Itb2lt3+ml5wCbZ5O8ePxl8/7UCb5YOhuJeDU1zSvoHCneKVOzITcF + wfyEKy9qLNkbJEVIIFIPYx/QVeXrttNTVerJUABZI8pKsohio3/Va1ZXBxQOQStVdR5xGhQWjZCj + 2pMB6rzg47D6JAUzjz01GJM1WITMbo0SXSWVF+2W8yjHlVzP0fNY1nclhuZVb40OXU4TnTpoJp4l + dqAZkeuo9C8btB7STUKVSwp/5adU9EuiIMAisPoww5tcNkaomRSceNQdrzqxV/F0mgyVfwRVh6zO + Z1ZVoPd4emrhXh3n3N65aNxkdbdVBlPgTzvL/NJ4kvz/oX5pebLNrglm/q4z+QsPG40qBuKihH6a + O1AvXWVhkL/GesN+v2znX7oHEU4UJJGOSgERQ60aRboadlKVPmCc2NSeTahinKYd6go70eheFULe + 6bGaYlml8tE/WZP8dP3c1xVlp11zuarV1hu2evHGM7K5mp2qis9ZXwu0feITqzTMSrKopCC8EyKt + CrGOV3c2+Rm0cRwD+urqoSGjEnHQvBFO1ysHDonYowKdpogDEfEw0V6Vp5dbHosUO0+hp6oxTH9U + 0kz3IKiqNuGh4pTfCT82BbikIO2ssv4klPYjXCS+CYYql1G3PJrWc+Tuw18+yXkRda7q3he0a2IX + UY85U0S5qmK9hPxUp/1iiSTz/vu793+lkyn9qzEMEtOh7OkaVKpe+bpuZA4rRAn/HzmSzHPKpy4D + glVVPcUk7ZftyMs2JsrGGZWf1hx0nsZmLwZbLvuYOARDdWRv05PHq06m8kBQDNAmWdi67mSSbfE/ + Wdt4GsRM2z6Td8tEoorPwps+dnzZyrwYnFVvrKh7GwnKdSszq3yk5vvTqMRFK/PcR7zwXFe9TBsD + sTpaePCi1iDGofn3Pa100ctEVQQfQRcx7HUuxspVqpSZVWV2D3QZqS96mefO5alNmTSTp0/SNA+Y + x7jeddVun6puqwXR1S3tt1RE4VUfD6CK1XvrFyOwl+3Mc5MVzdIgSTeP4ToyrSpZPVOJIK+J8906 + jzwTLyH4K78X5fKLduaZqxeFCJWN9AmWNfLm9o6nwud5zO2qnXme2LiotF71M60pqYE1VD4Co0YX + 5EtU7oqUWNhRn4M8dYeQH/GbH2oyuHtUMV29imU1Sr8RJskd1ELS70wlS9Bs8/E0pmG1l6r5fyiP + IV/OrO6AWh5Rl7rKWhUBxl9SdU4RlWYJj3R8QjRULgKc2AAct3mWEI6NZmKXsKdGD0njHfraA8cc + LcarhqbGQfVVzyGg6SIsqm4naU3zmgZnw+7VcbCpLr+RFEH9LlJJHx1UfBMkUrGnxLDz1ewsLB/V + v4ltzgd99VXV/0DvkytgU2lrNQsqO+HUBwKqYAh+B5OTxrQ6sSF81GVTEx0WTaPvLlLRvItglz58 + ciWt2T586sVru7Er68szkhFUP1r6f1tXk1tLim5G2EBSerkUX2bwVPNezarOIxh4MSZ1VRFUeKiq + f6nIvQfPT9OzZDnKj5ec/7HznNMkSBMOO+QngCbRBTk1Ni8edS6OX3c2Methc9EByi/GZ69604L4 + shhV4JwPF02D89T8ZWdT/6ILpIQznNt5RuCqs0mARJn0bcyMzua5IXqh8UVJlCJyyXtwlKcPjUW0 + MIGriZVTefhqBlARZQ6ThQ9QXfc1W5Pb0vBcTOnzMs3kaCZ4d2/Oo9RXzU99H4fBKWTUvKdgz21N + fcBxSLE0bemwo2kGSJ8Y953g6ttMFrkrR+EXOkH4TSClxZSqZglU6dEHExGlFdP0IcDTeHBSP6n7 + 1EGJrFT9UQ0pq/XiAbJLPwk4TT7Rg625CcPHOLsIo+iU+pCfPcu+cdTQkVolkQefG4o4naSvMbiz + 7WFFPVYfu5e00bU+iMFYVSmdu92m1A42V3uHyxAhK4OHy71HlYIwWFSHKcBdBwEcQ9UuTRlFp+li + fHbKG+kTs8/mx4G5+uRAE3ShIZdtzVOydVF0NIdb5EEU+cNyvmxr6ovfpJ7/p26eRt00Ea00L0wH + LSJi6lBqGbmpnlOyqcETZb3izZ7tRK31uV3ZhcCrpLMd+uREWFWjZ7409d1Xy/bfJggffNHWPM3n + nlodcjGaS/u8LHfhn3B5gDENnu0x2ItNVXauz+PljHYB8cveoP7rAlYLzE+jT5hR11kMCN2i/DwU + TXYzNLIkU5yBGy+6mup8+fcyauE4KlDU1uiwsJb7Q87V5A+ajC30nfwqy0/x1ohpQvbdJ9cC0ciY + VZHuXekdOeef7t9+1H8K5PfHy+d//h/8881PCOXV63/fY80/fv7L84zz84zz84zz84zzLbE+zzg/ + zzg/zzg/zzg/zzg/zzg/zzg/zzg/zzg/zzj/rTPOP33zk1LPu4eH+4cXP3v/8e3bn376H3yN2hcE + VQAA + headers: + Age: + - '1' + Connection: + - keep-alive + Expect-CT: + - max-age=31536000, report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only" + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=15552000 + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - public, max-age=10, stale-while-revalidate=20 + content-encoding: + - gzip + content-type: + - application/json;charset=utf-8 + date: + - Fri, 03 Feb 2023 12:33:10 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-chart-api--mtls-production-ir2.finance-k8s.svc.yahoo.local:4080/* + x-envoy-upstream-service-time: + - '4' + x-request-id: + - eaf12dae-c02f-4810-8e95-e4379104c300 + x-yahoo-request-id: + - flelrohhtpvo7 + y-rid: + - flelrohhtpvo7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:86.0) Gecko/20100101 Firefox/86.0 + method: GET + uri: https://www.econdb.com/series/context/?tickers=RGDPNL~TUSD + response: + body: + string: !!binary | + H4sIAAAAAAAAA61Z71PcNhD9VzT+BDN3iWTZspx8ooQw6RBafvULZTyKLcCNz3ZtmcJk6N/elQ4K + pLfXvdKBAU62n3ff7j49m/NvUWWcMcNg7qJ37Dx8tPBXFPM4nvNszkU0Y9Hx/oefDw/+PD07+QAH + Y85jpWB5dMZNoz/9Y92aJrqfse8RktUIwn/REMRqBAhC5wQEMRccQZBcxSQEjIdYZykRAeEhzgGE + hoDxILii8MBRHkTOk4yEgPEgEkiDhrCaBwghThMaAsIDz7gmZCFynAeRZjQEdC50yokI6FyonNAP + HgHhQciElIXGeYhTTolB4/2g0oSgDx4B4yFPOKEfPAI2FxnkQUDIcB6yVEkSAspDmmuCynkEhAce + Jxlhuj3Cah5ELlKKVguF8QCzmWlKLRTGg8g1p+iDR8D0QSWCUguF8xAnKYWHFOVBq1xRqpniPMSJ + oMWA8iCShMJDivMA4kGpZrJGJ3lCqWaC75tck6Y7QedCCq0p053g+pDTulri/iGXOaWaEuch1pLS + URLXSaVIkyXx/UKrjBJDjPeDgg2DhIDum3kuKFms8ZMyobggscZPQh4UHtb4yVSSdn/cT8oMxpuG + gPCQKEGqBe4nZZJLisLgfjJOU1JXr/GTmSZ5GNRPgsCojDKbuJ+M0zghdBTH/WQSK4pWc9xPShVT + NIrjfhJcNaWafI2fBLWn8ID7ST9ZhGpy3E+mfsegISA8qAy2PRoCwkOaK4ob5LifTDIYcBIC2g9C + SQoPuJ+Mpc5pWaD9AC6IwiTqJ+H5IlYEjeKon4x5qii+mqN+MuYJTym1WOMnAYBSi3V+UlLegXDc + T2owpJRqrvWTKREBe+7mpLcoHPeToMIppaNQPyl0qgSFSdRPCi1pXY36SaGzmKT2qJ8UmktN6SjU + TwqlOUknUT8pMtg4KTsO6ifBRKUkJlE/CQYmyyj6gPpJkagkJzwdcNRPigQeHShdjfpJEeuUUxBQ + PymkBJkjIWA8SJlJggviqJ8UcQbP7jQEhAcw5pQ3GBz1k0LCXFBiQP0kIGjSXODvJ2WSkZQW9ZNC + Zvm/P2eJPEf9ZNSaNiIBIDRsALCahQ0AVpNABUC9JB3glRygTnIDgNdxgPpIOsArOUBd5AYAr+MA + 9ZB0gFdygDrIDQA25OACFuvKLzy/ABZv7PClG23hatcE+EPrru3QmLYa2ZwdW9Owq6EbR1Z1Czu6 + umT90FVT6fzVC+tMUdmxHOre1V27McCV7a4G01/7fxR+i67NWMDByzqE4obJznxKi+8D81fWYxdW + Dzw7kasCwOVgf59sW3q46Ggyg4Mr7gIjpVnm97luGog0YExt7QJLe2fH/nNjRjf1T8obgyOBzTj2 + xx6yLJquvfJH91fmxIxjCzN8tQ5W6tKO79mJNWMHRWjuGMTOfBxtZQZmqt+m0dmKwf3Me7Z7beqW + NXX7FZZuumYCYLbl37puz9hiGTQLAbPukrXG0w3UltMwhIQhRFNVdXvZFVUN5Ho6PqJ0nAGQx1lA + cNMQ0v0fAnhM9SG3hW19HBGJAX/94SOoKctuauFOdQvJGNcNbGvvZEfw7Q2o94j7tuu7pobTABXC + qd0d2xps3w2ubq+2v++r+4cmKG5MM9nA4bNuQL2hn0mWa/Vi9NqpaTzeYNorj3AeJvcoXO7BjmTk + p9L3/GU32BJu6y+7NM0Y2t7eumKwDXD3ohuFPuX8XfgO4XruRrus99hNQ7kMux/sZX277O3o2RTt + TUAehBhCbabQyvZx7f7Z4lXVz4GT+QK6Yl52i75rgb9x3k2un9zc3vZQxNpB84TT6hbOsR617Krl + vO58PioEL4CpZ/PzqBKwGprBw7MneLa1xJ+xZzcIJy5vsB36vITqjsU0NB7p2rn+3du3pu/HsXvz + mMsbW4a/ewO/lnpRjNXi9klXXL2wxQiwS3p/nTg3/BoYHGcs1cuPi7qd3LKTUG3wpPVN54reDGYx + Bvb/m5r+Xb6XVfqHcvk7GueG+ksIDlrrPPp4vHfkzw4/nuZ+9nzuod3Oo7PDT6d+effgF5EWnw93 + dlfpwez1ehDudlLsfPgxSMPuDqYQM6pCBMTDneLT6d5nf9UPYv+IKhszumyE2+zv/RSgDygqMnup + IhcXy357GM3iprZ/PPTd/cVfAyKsHx4jAAA= + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 793b318d8f680a5f-AMS + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Fri, 03 Feb 2023 12:33:12 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Referrer-Policy: + - same-origin + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=imwNok7%2BuVLpNOyC2UGYDJ66mNg1BJuvvz%2BH6pPnLJ2MTzn3bbd9DPDYnOCuvsh9BqDSpcHjbCZOQ3vLkGGth6Qf3cj19stEZt0FW3LEMoI2%2FnKxgd2nbwl2ttGKLQSEE2bEcjjzeYReGk9S"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + - Origin + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/39.0.2171.95 Safari/537.36 + method: GET + uri: https://query2.finance.yahoo.com/v8/finance/chart/EURUSD=X?period1=1451606400&period2=1475276400&interval=1d&includePrePost=False&events=div%2Csplits%2CcapitalGains + response: + body: + string: !!binary | + H4sIAAAAAAAAAO2cS48lx3GF/8usB3blO1OAVpIgLyxBoCnAhqBFm9Oixp6ZHvf0yKIJ/nd/JyKy + OWbVNeSdF81Hs6Y6b1VkRsSJE4/L71998+e7x6dXP/v+1eP9p8/vuPrD96/e3z/d6dY3nx8f7z98 + 892rn736/T/98tXrV5++e/+vD+/4469+/xV3fv7P3Lv/K4/48O39b+/e3/ObX/ziX7j59sOnp8fP + 7+8/PH393Ue7/fuvvvrVb+13f3r7+Onp68e7N/e/vHvid+kYRy59HsdrhPj287u7x9/cPf77/dPX + b/XE1EerebTeXr/69v3Tw5/+9OkeMVn8xO//6+GDHv/r33z9hShfxy9CpF99fnz4eP/3//jw4c3D + h1c/ecnvHt9+o7f83bHKeO3H8bvH+7+8ffj86RfvHj7572Zbr1991NJ/ePuBt9fXcTi2kbcfvv3d + /ePbhzc6tI+P9/rPWbgPb3wzZeaqvX56spP/8taX+/vhWdD//XG1z1H/psd9fPj09H9+1r71P57F + w97cPd39+vHugwR8+yQTSW90tjp//sDlX+7evX3zlf78CavyXzf9SO8f+FnsZ7ef6Tt+ZP1o+pEO + /fzuSYvf3/311R9/cGUj1vuPPCvVlvrRtUddzt56XK6WD7/MR5mxIKdcZ1zmlHJc1nHsBa31vaDX + sheMvOK5efI+vyzHaLGgpJ5iQbE3+GUpNZ5baj7iuWbfcTn6Fr1MHh2Xq6x4bj3y3lDNc4tey9ii + 19rGXtD0Mr/sZW+ozrlFr2ts0dvRcyxoiSVxmcveEIu36K3NLXrrfewF2FY8t+l0/bIfa4ve09yi + 9zy2LnppWxe91r2hbucfl2uLjrltXfTVty5Yujc0yrFFH2Vt0UedWxfDlOmXve0NjZW26KaJfTm3 + LmYaWxczt72hiXntBf3Yos++ti7mGFsX055llyulLS9P2gpYeW0FADZ7F6v2vYs18pZ3zbQVsOba + Clhrxi74OWIX/Sg55EXE1PaCduS9ANlqXPYRu0BtJeTtiaWxIKUjFMDlCgX0lEdsqCfMdi/oue0F + I6W9YKy5n8t747k51S16zmWLnnGivQC7n/ty7g1lxN0LZtmis99QAEZ/hAK4XHtDpbQteqlli46l + 972ALdV9ufaGMKgtej3qFr2mErroNafQBUBx7A3J2veCXrfodZStizrz1kVdx94QKLZFB4O26MDG + 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 + headers: + Age: + - '0' + Connection: + - keep-alive + Expect-CT: + - max-age=31536000, report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only" + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=15552000 + Transfer-Encoding: + - chunked + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - public, max-age=10, stale-while-revalidate=20 + content-encoding: + - gzip + content-type: + - application/json;charset=utf-8 + date: + - Fri, 03 Feb 2023 12:33:12 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-chart-api--mtls-production-ir2.finance-k8s.svc.yahoo.local:4080/* + x-envoy-upstream-service-time: + - '6' + x-request-id: + - 369d8ded-5c0a-4b5b-acd1-e7913975d883 + x-yahoo-request-id: + - 2khh8qdhtpvo8 + y-rid: + - 2khh8qdhtpvo8 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_treasuries[instruments0-maturities0-monthly-2020-01-01-2020-02-03].yaml b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_treasuries[instruments0-maturities0-monthly-2020-01-01-2020-02-03].yaml index 6a46fcd6dd2..be4e505f4c8 100644 --- a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_treasuries[instruments0-maturities0-monthly-2020-01-01-2020-02-03].yaml +++ b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_treasuries[instruments0-maturities0-monthly-2020-01-01-2020-02-03].yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.27.1 + - python-requests/2.28.1 method: GET uri: https://www.econdb.com/api/series/?dataset=FRB_H15&v=Instrument&h=TIME&instrument=%5BTCMNOM%5D&from=2020-01-01&to=2020-02-03&freq=%5B129&UNIT=%5BPERCENT:_PER_YEAR%5D&format=json&page_size=500&expand=both response: @@ -32,11 +32,11 @@ interactions: OXV/yzHU2MGo6uDXOMgNXlREPBx/AZLd6ZuXHgAA headers: Allow: - - GET, POST, HEAD, OPTIONS + - GET, HEAD, OPTIONS CF-Cache-Status: - DYNAMIC CF-RAY: - - 6f0a29fb9e375872-IAD + - 793b31971935b992-AMS Connection: - keep-alive Content-Encoding: @@ -44,15 +44,13 @@ interactions: Content-Type: - application/json Date: - - Wed, 23 Mar 2022 21:12:14 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + - Fri, 03 Feb 2023 12:33:13 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Referrer-Policy: - same-origin Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=pSMQ3KN3jKq4dcTu6yERmQpt6JNaQ9nzw8NbzOK3DplHTEsoc6rcwqUgegM8ElOypjMwAwtHI4lkmvVxwEymQZNOD7P0lBTp2A2k1gEW6KWUh7wqoEdz7ZRnwveC0fjk"}],"group":"cf-nel","max_age":604800}' + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=REF9U3mm6h7xnkoGc81PyOhyvBBJ3lbmG4w7NMmG%2B53ONarNN%2BHACW3k5iT0XCrr2cd7Ihe1DyGBj3nDshSY4U6kIto0wll8hF5hHtffYPlwy2TTzCSWvMpTnOQvCOnvPEQAqZdJAPssLwpQ"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Transfer-Encoding: @@ -77,7 +75,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.27.1 + - python-requests/2.28.1 method: GET uri: https://www.econdb.com/api/series/?dataset=FRB_H15&v=Instrument&h=TIME&instrument=%5BTCMII%5D&from=2020-01-01&to=2020-02-03&freq=%5B129&UNIT=%5BPERCENT:_PER_YEAR%5D&format=json&page_size=500&expand=both response: @@ -97,11 +95,11 @@ interactions: Ev+vr5SbzR+JnhrYqg4AAA== headers: Allow: - - GET, POST, HEAD, OPTIONS + - GET, HEAD, OPTIONS CF-Cache-Status: - DYNAMIC CF-RAY: - - 6f0a2a008fe59c2e-IAD + - 793b319d8af70c0d-AMS Connection: - keep-alive Content-Encoding: @@ -109,15 +107,13 @@ interactions: Content-Type: - application/json Date: - - Wed, 23 Mar 2022 21:12:14 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + - Fri, 03 Feb 2023 12:33:14 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Referrer-Policy: - same-origin Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=l3z4LkdVckE%2F%2BX6OnZxMBpAmPHHk57IaUtejCdzdTj3ea7yn5iH7SXhJJdwaSmHJjgoI9B1okXSmfiVJFAKSrVr61qGxmpqMcrnvWdWULEP8cbNMHzLVraKtNpKUz0zp"}],"group":"cf-nel","max_age":604800}' + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=MFgIINpzrOC2PDBltDih8ypse0XCM5hdSM1orx9ueJTWkbTMDPSDZFyxF%2FccH89kRgKiQZMgs8MmGfBKd9%2Fhs3LHHSfutR%2FbRbAIHh4u2321gYXWr59SZ0M%2BbDn2XDr33VaZx1cWa0YymMR1"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Transfer-Encoding: diff --git a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_treasuries[instruments1-maturities1-annually-2015-01-04-2015-01-28].yaml b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_treasuries[instruments1-maturities1-annually-2015-01-04-2015-01-28].yaml index e0af9043332..b3236a40d24 100644 --- a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_treasuries[instruments1-maturities1-annually-2015-01-04-2015-01-28].yaml +++ b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_treasuries[instruments1-maturities1-annually-2015-01-04-2015-01-28].yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.27.1 + - python-requests/2.28.1 method: GET uri: https://www.econdb.com/api/series/?dataset=FRB_H15&v=Instrument&h=TIME&instrument=%5BTCMNOM%5D&from=2015-01-04&to=2015-01-28&freq=%5B203&UNIT=%5BPERCENT:_PER_YEAR%5D&format=json&page_size=500&expand=both response: @@ -30,11 +30,11 @@ interactions: 3dLGdm9tabe1pS3xHm6ZrixtqXXPcG08wwf7j65irfcZrrXPcO0/neH3xx9KFFlAtBwAAA== headers: Allow: - - GET, POST, HEAD, OPTIONS + - GET, HEAD, OPTIONS CF-Cache-Status: - DYNAMIC CF-RAY: - - 6f0a2a039e278242-IAD + - 793b31a118ceb918-AMS Connection: - keep-alive Content-Encoding: @@ -42,15 +42,13 @@ interactions: Content-Type: - application/json Date: - - Wed, 23 Mar 2022 21:12:14 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + - Fri, 03 Feb 2023 12:33:14 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Referrer-Policy: - same-origin Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=QmGz3jO9vax3C%2FkoRl%2F83R2uqsoTA68H3lP3QO%2BTHdN1PS3sp55uMRI8zCj57E5socNVkQ7r6anTxf%2BLS8SdYHmzJnvxysL1dlwgHMsdva%2BlR5Lg%2B7%2FcW%2BO%2B2WGVXpWg"}],"group":"cf-nel","max_age":604800}' + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=ZUFPBDVwwRAJ1xh4Gx7hxT74p9%2BTR0qdH9EqCucdNMdDqU0Wt18itogCHiGbd4E2j3dy248KsZzzUr5RJKg8c89LKmxuoAE4l6OG2Z7QdOEYz9rIfjgADeZH0VMj6VSbWWy7OTEjCZkMo5Eo"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Transfer-Encoding: diff --git a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_treasuries[instruments2-maturities2-weekly-2018-06-05-2018-07-06].yaml b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_treasuries[instruments2-maturities2-weekly-2018-06-05-2018-07-06].yaml index f1a8b964d68..b34ac80684f 100644 --- a/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_treasuries[instruments2-maturities2-weekly-2018-06-05-2018-07-06].yaml +++ b/tests/openbb_terminal/economy/cassettes/test_econdb_view/test_show_treasuries[instruments2-maturities2-weekly-2018-06-05-2018-07-06].yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.27.1 + - python-requests/2.28.1 method: GET uri: https://www.econdb.com/api/series/?dataset=FRB_H15&v=Instrument&h=TIME&instrument=%5BLTAVG%5D&from=2018-06-05&to=2018-07-06&freq=%5B21&UNIT=%5BPERCENT:_PER_YEAR%5D&format=json&page_size=500&expand=both response: @@ -27,11 +27,11 @@ interactions: emcDAAA= headers: Allow: - - GET, POST, HEAD, OPTIONS + - GET, HEAD, OPTIONS CF-Cache-Status: - DYNAMIC CF-RAY: - - 6f0a2a0709ea8236-IAD + - 793b31a498aab7a6-AMS Connection: - keep-alive Content-Encoding: @@ -39,15 +39,13 @@ interactions: Content-Type: - application/json Date: - - Wed, 23 Mar 2022 21:12:15 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + - Fri, 03 Feb 2023 12:33:15 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Referrer-Policy: - same-origin Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=DVeIUYDx3EA3LWs4vLAECskkR8te1aio37vjfNXyuyjFdrGYZP8WIkJSotjsfe4dpu1dUtoc%2F2Ta%2Fma5Xs7HFczYRx8M1IIcBvTAE0fWdh60ky8Bjp3B9o17Y2aTkO92"}],"group":"cf-nel","max_age":604800}' + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=c96EYscxmDTYuhZp7bTuAU8r%2FKVwZIFwZ3ZCwWi3G9Qz%2B9txWEa8kbkhMDlTVwR7zP2FePMqIJ9Tpyr2pbdiKxydynujFGvmaktjHsVKz8OLitgDXjmbfZIwp4B6dreB50h6YTV%2FwY32QSXf"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Transfer-Encoding: @@ -71,7 +69,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.27.1 + - python-requests/2.28.1 method: GET uri: https://www.econdb.com/api/series/?dataset=FRB_H15&v=Instrument&h=TIME&instrument=%5BTCMII%5D&from=2018-06-05&to=2018-07-06&freq=%5B21&UNIT=%5BPERCENT:_PER_YEAR%5D&format=json&page_size=500&expand=both response: @@ -92,11 +90,11 @@ interactions: 5Wb9BwdL7PYxEAAA headers: Allow: - - GET, POST, HEAD, OPTIONS + - GET, HEAD, OPTIONS CF-Cache-Status: - DYNAMIC CF-RAY: - - 6f0a2a0958457f86-IAD + - 793b31a70c631cb1-AMS Connection: - keep-alive Content-Encoding: @@ -104,15 +102,13 @@ interactions: Content-Type: - application/json Date: - - Wed, 23 Mar 2022 21:12:16 GMT - Expect-CT: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + - Fri, 03 Feb 2023 12:33:15 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Referrer-Policy: - same-origin Report-To: - - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=WZol2DJL7AJ7QzXVnoUfB44K%2BxFKhKg1vzp0Us3ZMOsATI2bLw4D6KHC6RnZ2pmTYRQ5eyDNA8s7vuKvkKQe5Odq1yQyvEAQ1ZqZVuRMuVd2lYFVUO3540HO5MNgykkS"}],"group":"cf-nel","max_age":604800}' + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=x%2FbHFoie7I5fCgZa8HP7AXoirl9ZX%2BmFE%2B9oLFtm%2F1oCbT4tqWXN8xO3PmT%2BWADgGZuy2x8OOoiYg8JRWWQ8AYdu4RZIFLdp6oLgwBOOd0bD%2F4Z9bZLhSwGrO3xenV4RTvrzEc%2FSUviaguIA"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Transfer-Encoding: diff --git a/tests/openbb_terminal/economy/test_econdb_view.py b/tests/openbb_terminal/economy/test_econdb_view.py index 29582caa5ac..62c12a861ef 100644 --- a/tests/openbb_terminal/economy/test_econdb_view.py +++ b/tests/openbb_terminal/economy/test_econdb_view.py @@ -7,19 +7,51 @@ from openbb_terminal.economy import econdb_view @pytest.mark.vcr @pytest.mark.parametrize( - "parameters, countries, start_date, end_date, convert_currency", + "parameters, countries, transform, start_date, end_date, convert_currency, raw", [ - [["RGDP"], ["United States", "Germany"], "2020-01-01", "2020-10-02", False], - [["EMP", "PPI"], ["France"], "2010-01-01", "2019-01-01", False], - [["GDP", "RGDP"], ["Italy", "Netherlands"], "2016-01-01", "2016-10-10", False], + [ + ["RGDP"], + ["United States", "Germany"], + "", + "2020-01-01", + "2020-10-02", + "", + False, + ], + [["EMP", "PPI"], ["France"], "TOYA", "2010-01-01", "2019-01-01", "", False], + [ + ["GDP", "RGDP"], + ["Italy", "Netherlands"], + "TPOP", + "2016-01-01", + "2016-10-10", + "EUR", + False, + ], + [ + ["GDP", "RGDP"], + ["Italy", "Netherlands"], + "TUSD", + "2016-01-01", + "2016-10-10", + "USD", + True, + ], ], ) def test_show_macro_data( - mocker, parameters, countries, start_date, end_date, convert_currency + mocker, + parameters, + countries, + transform, + start_date, + end_date, + convert_currency, + raw, ): mocker.patch(target="openbb_terminal.helper_classes.TerminalStyle.visualize_output") econdb_view.show_macro_data( - parameters, countries, start_date, end_date, convert_currency + parameters, countries, transform, start_date, end_date, convert_currency, raw ) From 670084a1c4610758b3cb257f847c16274d7ca07e Mon Sep 17 00:00:00 2001 From: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Date: Fri, 3 Feb 2023 16:04:35 +0000 Subject: [PATCH 02/14] Change integration tests environment variables + add option (#4126) * remove quick exit + prompt * prompt toolkit is fine * ion true, otherwise integration tests hang when plot is not close * add option to run silent mode + sequential * enable quick exit false explicit * Update integration_controller.py --- .../integration_controller.py | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/openbb_terminal/core/integration_tests/integration_controller.py b/openbb_terminal/core/integration_tests/integration_controller.py index e0b2619d7f3..7fdfc3fd40b 100644 --- a/openbb_terminal/core/integration_tests/integration_controller.py +++ b/openbb_terminal/core/integration_tests/integration_controller.py @@ -19,7 +19,7 @@ from openbb_terminal.core.config.paths import ( MISCELLANEOUS_DIRECTORY, REPOSITORY_DIRECTORY, ) -from openbb_terminal.helper_funcs import check_positive +from openbb_terminal.helper_funcs import check_non_negative from openbb_terminal.rich_config import console from openbb_terminal.terminal_controller import ( insert_start_slash, @@ -370,7 +370,6 @@ def run_test_files( ------- Tuple[int, int, Dict[str, Dict[str, Any]], float] """ - os.environ["DEBUG_MODE"] = "true" n_successes = 0 n_failures = 0 fails: Dict[str, Dict[str, Any]] = {} @@ -380,7 +379,7 @@ def run_test_files( start = time.time() - if verbose and not subprocesses: + if subprocesses == 0: console.print( f"* Running {n} script(s) sequentially...\n", style="bold", @@ -634,7 +633,7 @@ def parse_args_and_run(): help="The number of subprocesses to use to run the tests." " Default is the minimum between number of collected scripts and CPUs.", dest="subprocesses", - type=check_positive, + type=check_non_negative, default=None, ) parser.add_argument( @@ -662,12 +661,13 @@ def parse_args_and_run(): special_args_dict = {x: getattr(ns_parser, x) for x in special_arguments_values} - if ns_parser.verbose and ns_parser.subprocesses: - console.print( - "WARNING: verbose mode and multiprocessing are not compatible. " - "The output of the scripts is mixed up. Consider running without --subproc.\n", - style="yellow", - ) + if ns_parser.verbose: + if ns_parser.subprocesses is None or ns_parser.subprocesses > 0: + console.print( + "WARNING: verbose mode and multiprocessing are not compatible. " + "The output of the scripts is mixed up. Consider running with --subproc 0.\n", + style="yellow", + ) if ns_parser.list_: return display_available_scripts(ns_parser.path, ns_parser.skip) @@ -689,10 +689,11 @@ def main(): if "--test" in sys.argv: sys.argv.remove("--test") - os.environ["OPENBB_ENABLE_QUICK_EXIT"] = "True" + os.environ["OPENBB_ENABLE_QUICK_EXIT"] = "False" os.environ["OPENBB_LOG_COLLECT"] = "False" - os.environ["OPENBB_USE_ION"] = "False" + os.environ["OPENBB_USE_ION"] = "True" os.environ["OPENBB_USE_PROMPT_TOOLKIT"] = "False" + os.environ["DEBUG_MODE"] = "True" parse_args_and_run() From 7b18aee739eb66571666d62af9157fe9bcb4cc78 Mon Sep 17 00:00:00 2001 From: Diogo Sousa Date: Fri, 3 Feb 2023 16:14:55 +0000 Subject: [PATCH 03/14] move routine related commands to other PR --- openbb_terminal/account/account_controller.py | 52 ------------------- 1 file changed, 52 deletions(-) diff --git a/openbb_terminal/account/account_controller.py b/openbb_terminal/account/account_controller.py index bda3237b090..224eee9c469 100644 --- a/openbb_terminal/account/account_controller.py +++ b/openbb_terminal/account/account_controller.py @@ -17,10 +17,6 @@ from openbb_terminal.session import local_model as Local from openbb_terminal.session.user import User from openbb_terminal.account.account_model import get_diff -# from openbb_terminal.session.user import User - -# from openbb_terminal.session import hub_model as Hub -# from openbb_terminal.session import local_model as Local logger = logging.getLogger(__name__) @@ -32,8 +28,6 @@ class AccountController(BaseController): "sync", "pull", "clear", - # "upload", - # "download", ] PATH = "/account/" @@ -54,9 +48,6 @@ class AccountController(BaseController): if session and obbff.USE_PROMPT_TOOLKIT: choices: dict = {c: {} for c in self.controller_choices} choices["sync"] = {"--on": {}, "--off": {}} - # choices["upload"]["--file"] = self.ROUTINE_CHOICES - # choices["upload"]["-f"] = choices["upload"]["--file"] - self.completer = NestedCompleter.from_nested_dict(choices) def print_help(self): @@ -67,9 +58,6 @@ class AccountController(BaseController): mt.add_cmd("sync") mt.add_cmd("pull") mt.add_cmd("clear") - # mt.add_info("_routines_") - # mt.add_cmd("upload") - # mt.add_cmd("download") console.print(text=mt.menu_text, menu="Account") @log_start_end(log=logger) @@ -163,43 +151,3 @@ class AccountController(BaseController): Hub.clear_user_configs(auth_header=User.get_auth_header()) else: console.print("\n[info]Aborted.[/info]") - - # @log_start_end(log=logger) - # def call_upload(self, other_args: List[str]): - # """Upload""" - # parser = argparse.ArgumentParser( - # add_help=False, - # formatter_class=argparse.ArgumentDefaultsHelpFormatter, - # prog="load", - # description="Load your portfolio transactions.", - # ) - # parser.add_argument( - # "-f", - # "--file", - # type=str, - # dest="file", - # required="-h" not in other_args, - # help="The file to be loaded", - # choices={c: {} for c in self.ROUTINE_FILES}, - # metavar="FILE", - # ) - # parser.add_argument( - # "-n", - # "--name", - # type=str, - # dest="name", - # required="-h" not in other_args, - # help="The name of the routine", - # ) - # if other_args and "-" not in other_args[0][0]: - # other_args.insert(0, "-f") - # ns_parser = self.parse_known_args_and_warn(parser, other_args) - # if ns_parser: - # routine = Local.get_routine(ns_parser.file) - # if routine: - # Hub.upload_routine(ns_parser.name, routine) - - # @log_start_end(log=logger) - # def call_download(self, _): - # """Download""" - # Hub.download_routine() From 949ad434da0b643117fe52720695b1e246da2c86 Mon Sep 17 00:00:00 2001 From: Snyk bot Date: Fri, 3 Feb 2023 18:51:08 +0000 Subject: [PATCH 04/14] fix: website/package.json & website/package-lock.json to reduce vulnerabilities (#4129) The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-ETA-2936803 - https://snyk.io/vuln/SNYK-JS-ETA-3261240 --- website/package-lock.json | 6084 +++++++++++++++++++++++++++++++++++-- website/package.json | 4 +- 2 files changed, 5752 insertions(+), 336 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index 3af309d434a..126ab3b24ed 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -10,9 +10,9 @@ "dependencies": { "@cmfcmf/docusaurus-search-local": "^0.11.0", "@docusaurus/core": "2.2.0", - "@docusaurus/plugin-client-redirects": "^2.2.0", + "@docusaurus/plugin-client-redirects": "^2.3.1", "@docusaurus/plugin-content-docs": "^2.2.0", - "@docusaurus/preset-classic": "2.2.0", + "@docusaurus/preset-classic": "^2.3.1", "@mdx-js/react": "^1.6.22", "@radix-ui/react-popover": "^1.0.2", "clsx": "^1.2.1", @@ -35,11 +35,11 @@ } }, "node_modules/@algolia/autocomplete-core": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.7.2.tgz", - "integrity": "sha512-eclwUDC6qfApNnEfu1uWcL/rudQsn59tjEoUYZYE2JSXZrHLRjBUGMxiCoknobU2Pva8ejb0eRxpIYDtVVqdsw==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.7.4.tgz", + "integrity": "sha512-daoLpQ3ps/VTMRZDEBfU8ixXd+amZcNJ4QSP3IERGyzqnL5Ch8uSRFt/4G8pUvW9c3o6GA4vtVv4I4lmnkdXyg==", "dependencies": { - "@algolia/autocomplete-shared": "1.7.2" + "@algolia/autocomplete-shared": "1.7.4" } }, "node_modules/@algolia/autocomplete-js": { @@ -83,11 +83,11 @@ "integrity": "sha512-QLyvIbF4Xg2S5uxEOrGg0+HD2+gYe9ICUXWsYfhUxQ0yeBU1M1scoiGpulKJKuIIDHQY/yoqPRekBc1UF/wiMQ==" }, "node_modules/@algolia/autocomplete-preset-algolia": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.2.tgz", - "integrity": "sha512-+RYEG6B0QiGGfRb2G3MtPfyrl0dALF3cQNTWBzBX6p5o01vCCGTTinAm2UKG3tfc2CnOMAtnPLkzNZyJUpnVJw==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.4.tgz", + "integrity": "sha512-s37hrvLEIfcmKY8VU9LsAXgm2yfmkdHT3DnA3SgHaY93yjZ2qL57wzb5QweVkYuEBZkT2PIREvRoLXC2sxTbpQ==", "dependencies": { - "@algolia/autocomplete-shared": "1.7.2" + "@algolia/autocomplete-shared": "1.7.4" }, "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", @@ -95,9 +95,9 @@ } }, "node_modules/@algolia/autocomplete-shared": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.2.tgz", - "integrity": "sha512-QCckjiC7xXHIUaIL3ektBtjJ0w7tTA3iqKcAE/Hjn1lZ5omp7i3Y4e09rAr9ZybqirL7AbxCLLq0Ra5DDPKeug==" + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.4.tgz", + "integrity": "sha512-2VGCk7I9tA9Ge73Km99+Qg87w0wzW4tgUruvWAn/gfey1ZXgmxZtyIRBebk35R1O8TbK77wujVtCnpsGpRy1kg==" }, "node_modules/@algolia/autocomplete-theme-classic": { "version": "1.7.3", @@ -2040,18 +2040,18 @@ } }, "node_modules/@docsearch/css": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.3.0.tgz", - "integrity": "sha512-rODCdDtGyudLj+Va8b6w6Y85KE85bXRsps/R4Yjwt5vueXKXZQKYw0aA9knxLBT6a/bI/GMrAcmCR75KYOM6hg==" + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.3.2.tgz", + "integrity": "sha512-dctFYiwbvDZkksMlsmc7pj6W6By/EjnVXJq5TEPd05MwQe+dcdHJgaIn1c8wfsucxHpIsdrUcgSkACHCq6aIhw==" }, "node_modules/@docsearch/react": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.3.0.tgz", - "integrity": "sha512-fhS5adZkae2SSdMYEMVg6pxI5a/cE+tW16ki1V0/ur4Fdok3hBRkmN/H8VvlXnxzggkQIIRIVvYPn00JPjen3A==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.3.2.tgz", + "integrity": "sha512-ugILab2TYKSh6IEHf6Z9xZbOovsYbsdfo60PBj+Bw+oMJ1MHJ7pBt1TTcmPki1hSgg8mysgKy2hDiVdPm7XWSQ==", "dependencies": { - "@algolia/autocomplete-core": "1.7.2", - "@algolia/autocomplete-preset-algolia": "1.7.2", - "@docsearch/css": "3.3.0", + "@algolia/autocomplete-core": "1.7.4", + "@algolia/autocomplete-preset-algolia": "1.7.4", + "@docsearch/css": "3.3.2", "algoliasearch": "^4.0.0" }, "peerDependencies": { @@ -2220,6 +2220,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.2.0.tgz", "integrity": "sha512-wDGW4IHKoOr9YuJgy7uYuKWrDrSpsUSDHLZnWQYM9fN7D5EpSmYHjFruUpKWVyxLpD/Wh0rW8hYZwdjJIQUQCQ==", + "dev": true, "dependencies": { "@docusaurus/react-loadable": "5.5.2", "@docusaurus/types": "2.2.0", @@ -2236,16 +2237,16 @@ } }, "node_modules/@docusaurus/plugin-client-redirects": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-2.2.0.tgz", - "integrity": "sha512-psBoWi+cbc2I+VPkKJlcZ12tRN3xiv22tnZfNKyMo18iSY8gr4B6Q0G2KZXGPgNGJ/6gq7ATfgDK6p9h9XRxMQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-2.3.1.tgz", + "integrity": "sha512-Ye0z36/L8685ni0DIxHqPPaHIXFXiSF90QYiYfpODBX6NxvvveUTyylsDBU1GQhPXPn1bd39QgaOuZ+j9gfaog==", "dependencies": { - "@docusaurus/core": "2.2.0", - "@docusaurus/logger": "2.2.0", - "@docusaurus/utils": "2.2.0", - "@docusaurus/utils-common": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", - "eta": "^1.12.3", + "@docusaurus/core": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "eta": "^2.0.0", "fs-extra": "^10.1.0", "lodash": "^4.17.21", "tslib": "^2.4.0" @@ -2258,18 +2259,242 @@ "react-dom": "^16.8.4 || ^17.0.0" } }, - "node_modules/@docusaurus/plugin-content-blog": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.2.0.tgz", - "integrity": "sha512-0mWBinEh0a5J2+8ZJXJXbrCk1tSTNf7Nm4tYAl5h2/xx+PvH/Bnu0V+7mMljYm/1QlDYALNIIaT/JcoZQFUN3w==", + "node_modules/@docusaurus/plugin-client-redirects/node_modules/@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", "dependencies": { - "@docusaurus/core": "2.2.0", - "@docusaurus/logger": "2.2.0", - "@docusaurus/mdx-loader": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils": "2.2.0", - "@docusaurus/utils-common": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-client-redirects/node_modules/@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-client-redirects/node_modules/@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-client-redirects/node_modules/@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-client-redirects/node_modules/@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-client-redirects/node_modules/@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-client-redirects/node_modules/@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-client-redirects/node_modules/eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-content-blog": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.3.1.tgz", + "integrity": "sha512-f5LjqX+9WkiLyGiQ41x/KGSJ/9bOjSD8lsVhPvYeUYHCtYpuiDKfhZE07O4EqpHkBx4NQdtQDbp+aptgHSTuiw==", + "dependencies": { + "@docusaurus/core": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "cheerio": "^1.0.0-rc.12", "feed": "^4.2.2", "fs-extra": "^10.1.0", @@ -2288,18 +2513,261 @@ "react-dom": "^16.8.4 || ^17.0.0" } }, - "node_modules/@docusaurus/plugin-content-docs": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.2.0.tgz", - "integrity": "sha512-BOazBR0XjzsHE+2K1wpNxz5QZmrJgmm3+0Re0EVPYFGW8qndCWGNtXW/0lGKhecVPML8yyFeAmnUCIs7xM2wPw==", + "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", "dependencies": { - "@docusaurus/core": "2.2.0", - "@docusaurus/logger": "2.2.0", - "@docusaurus/mdx-loader": "2.2.0", - "@docusaurus/module-type-aliases": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-content-blog/node_modules/eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-content-docs": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.3.1.tgz", + "integrity": "sha512-DxztTOBEruv7qFxqUtbsqXeNcHqcVEIEe+NQoI1oi2DBmKBhW/o0MIal8lt+9gvmpx3oYtlwmLOOGepxZgJGkw==", + "dependencies": { + "@docusaurus/core": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/module-type-aliases": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "@types/react-router-config": "^5.0.6", "combine-promises": "^1.1.0", "fs-extra": "^10.1.0", @@ -2318,16 +2786,278 @@ "react-dom": "^16.8.4 || ^17.0.0" } }, - "node_modules/@docusaurus/plugin-content-pages": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.2.0.tgz", - "integrity": "sha512-+OTK3FQHk5WMvdelz8v19PbEbx+CNT6VSpx7nVOvMNs5yJCKvmqBJBQ2ZSxROxhVDYn+CZOlmyrC56NSXzHf6g==", + "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", "dependencies": { - "@docusaurus/core": "2.2.0", - "@docusaurus/mdx-loader": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/module-type-aliases": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.3.1.tgz", + "integrity": "sha512-6KkxfAVOJqIUynTRb/tphYCl+co3cP0PlHiMDbi+SzmYxMdgIrwYqH9yAnGSDoN6Jk2ZE/JY/Azs/8LPgKP48A==", + "dependencies": { + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/types": "2.3.1", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-content-pages": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.3.1.tgz", + "integrity": "sha512-E80UL6hvKm5VVw8Ka8YaVDtO6kWWDVUK4fffGvkpQ/AJQDOg99LwOXKujPoICC22nUFTsZ2Hp70XvpezCsFQaA==", + "dependencies": { + "@docusaurus/core": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "fs-extra": "^10.1.0", "tslib": "^2.4.0", "webpack": "^5.73.0" @@ -2340,14 +3070,257 @@ "react-dom": "^16.8.4 || ^17.0.0" } }, - "node_modules/@docusaurus/plugin-debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.2.0.tgz", - "integrity": "sha512-p9vOep8+7OVl6r/NREEYxf4HMAjV8JMYJ7Bos5fCFO0Wyi9AZEo0sCTliRd7R8+dlJXZEgcngSdxAUo/Q+CJow==", + "node_modules/@docusaurus/plugin-content-pages/node_modules/@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", "dependencies": { - "@docusaurus/core": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils": "2.2.0", + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages/node_modules/@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-content-pages/node_modules/@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-content-pages/node_modules/@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages/node_modules/@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages/node_modules/@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-content-pages/node_modules/@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-content-pages/node_modules/@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-content-pages/node_modules/eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-debug": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.3.1.tgz", + "integrity": "sha512-Ujpml1Ppg4geB/2hyu2diWnO49az9U2bxM9Shen7b6qVcyFisNJTkVG2ocvLC7wM1efTJcUhBO6zAku2vKJGMw==", + "dependencies": { + "@docusaurus/core": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils": "2.3.1", "fs-extra": "^10.1.0", "react-json-view": "^1.21.3", "tslib": "^2.4.0" @@ -2360,14 +3333,257 @@ "react-dom": "^16.8.4 || ^17.0.0" } }, - "node_modules/@docusaurus/plugin-google-analytics": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.2.0.tgz", - "integrity": "sha512-+eZVVxVeEnV5nVQJdey9ZsfyEVMls6VyWTIj8SmX0k5EbqGvnIfET+J2pYEuKQnDIHxy+syRMoRM6AHXdHYGIg==", + "node_modules/@docusaurus/plugin-debug/node_modules/@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", "dependencies": { - "@docusaurus/core": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug/node_modules/@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-debug/node_modules/@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-debug/node_modules/@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug/node_modules/@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug/node_modules/@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-debug/node_modules/@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-debug/node_modules/@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-debug/node_modules/eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.3.1.tgz", + "integrity": "sha512-OHip0GQxKOFU8n7gkt3TM4HOYTXPCFDjqKbMClDD3KaDnyTuMp/Zvd9HSr770lLEscgPWIvzhJByRAClqsUWiQ==", + "dependencies": { + "@docusaurus/core": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "tslib": "^2.4.0" }, "engines": { @@ -2378,14 +3594,257 @@ "react-dom": "^16.8.4 || ^17.0.0" } }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "dependencies": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, "node_modules/@docusaurus/plugin-google-gtag": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.2.0.tgz", - "integrity": "sha512-6SOgczP/dYdkqUMGTRqgxAS1eTp6MnJDAQMy8VCF1QKbWZmlkx4agHDexihqmYyCujTYHqDAhm1hV26EET54NQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.3.1.tgz", + "integrity": "sha512-uXtDhfu4+Hm+oqWUySr3DNI5cWC/rmP6XJyAk83Heor3dFjZqDwCbkX8yWPywkRiWev3Dk/rVF8lEn0vIGVocA==", "dependencies": { - "@docusaurus/core": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@docusaurus/core": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "tslib": "^2.4.0" }, "engines": { @@ -2396,17 +3855,521 @@ "react-dom": "^16.8.4 || ^17.0.0" } }, - "node_modules/@docusaurus/plugin-sitemap": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.2.0.tgz", - "integrity": "sha512-0jAmyRDN/aI265CbWZNZuQpFqiZuo+5otk2MylU9iVrz/4J7gSc+ZJ9cy4EHrEsW7PV8s1w18hIEsmcA1YgkKg==", + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", "dependencies": { - "@docusaurus/core": "2.2.0", - "@docusaurus/logger": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils": "2.2.0", - "@docusaurus/utils-common": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-2.3.1.tgz", + "integrity": "sha512-Ww2BPEYSqg8q8tJdLYPFFM3FMDBCVhEM4UUqKzJaiRMx3NEoly3qqDRAoRDGdIhlC//Rf0iJV9cWAoq2m6k3sw==", + "dependencies": { + "@docusaurus/core": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager/node_modules/@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "dependencies": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager/node_modules/@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager/node_modules/@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager/node_modules/@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager/node_modules/@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager/node_modules/@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager/node_modules/@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager/node_modules/@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager/node_modules/eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-sitemap": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.3.1.tgz", + "integrity": "sha512-8Yxile/v6QGYV9vgFiYL+8d2N4z4Er3pSHsrD08c5XI8bUXxTppMwjarDUTH/TRTfgAWotRbhJ6WZLyajLpozA==", + "dependencies": { + "@docusaurus/core": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "fs-extra": "^10.1.0", "sitemap": "^7.1.1", "tslib": "^2.4.0" @@ -2419,23 +4382,85 @@ "react-dom": "^16.8.4 || ^17.0.0" } }, - "node_modules/@docusaurus/preset-classic": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.2.0.tgz", - "integrity": "sha512-yKIWPGNx7BT8v2wjFIWvYrS+nvN04W+UameSFf8lEiJk6pss0kL6SG2MRvyULiI3BDxH+tj6qe02ncpSPGwumg==", + "node_modules/@docusaurus/plugin-sitemap/node_modules/@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", "dependencies": { - "@docusaurus/core": "2.2.0", - "@docusaurus/plugin-content-blog": "2.2.0", - "@docusaurus/plugin-content-docs": "2.2.0", - "@docusaurus/plugin-content-pages": "2.2.0", - "@docusaurus/plugin-debug": "2.2.0", - "@docusaurus/plugin-google-analytics": "2.2.0", - "@docusaurus/plugin-google-gtag": "2.2.0", - "@docusaurus/plugin-sitemap": "2.2.0", - "@docusaurus/theme-classic": "2.2.0", - "@docusaurus/theme-common": "2.2.0", - "@docusaurus/theme-search-algolia": "2.2.0", - "@docusaurus/types": "2.2.0" + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" }, "engines": { "node": ">=16.14" @@ -2445,6 +4470,431 @@ "react-dom": "^16.8.4 || ^17.0.0" } }, + "node_modules/@docusaurus/plugin-sitemap/node_modules/@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-sitemap/node_modules/@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-sitemap/node_modules/@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-sitemap/node_modules/@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-sitemap/node_modules/@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-sitemap/node_modules/@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-sitemap/node_modules/@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-sitemap/node_modules/eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/@docusaurus/preset-classic": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.3.1.tgz", + "integrity": "sha512-OQ5W0AHyfdUk0IldwJ3BlnZ1EqoJuu2L2BMhqLbqwNWdkmzmSUvlFLH1Pe7CZSQgB2YUUC/DnmjbPKk/qQD0lQ==", + "dependencies": { + "@docusaurus/core": "2.3.1", + "@docusaurus/plugin-content-blog": "2.3.1", + "@docusaurus/plugin-content-docs": "2.3.1", + "@docusaurus/plugin-content-pages": "2.3.1", + "@docusaurus/plugin-debug": "2.3.1", + "@docusaurus/plugin-google-analytics": "2.3.1", + "@docusaurus/plugin-google-gtag": "2.3.1", + "@docusaurus/plugin-google-tag-manager": "2.3.1", + "@docusaurus/plugin-sitemap": "2.3.1", + "@docusaurus/theme-classic": "2.3.1", + "@docusaurus/theme-common": "2.3.1", + "@docusaurus/theme-search-algolia": "2.3.1", + "@docusaurus/types": "2.3.1" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "dependencies": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/preset-classic/node_modules/eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, "node_modules/@docusaurus/react-loadable": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", @@ -2458,22 +4908,22 @@ } }, "node_modules/@docusaurus/theme-classic": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.2.0.tgz", - "integrity": "sha512-kjbg/qJPwZ6H1CU/i9d4l/LcFgnuzeiGgMQlt6yPqKo0SOJIBMPuz7Rnu3r/WWbZFPi//o8acclacOzmXdUUEg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.3.1.tgz", + "integrity": "sha512-SelSIDvyttb7ZYHj8vEUhqykhAqfOPKk+uP0z85jH72IMC58e7O8DIlcAeBv+CWsLbNIl9/Hcg71X0jazuxJug==", "dependencies": { - "@docusaurus/core": "2.2.0", - "@docusaurus/mdx-loader": "2.2.0", - "@docusaurus/module-type-aliases": "2.2.0", - "@docusaurus/plugin-content-blog": "2.2.0", - "@docusaurus/plugin-content-docs": "2.2.0", - "@docusaurus/plugin-content-pages": "2.2.0", - "@docusaurus/theme-common": "2.2.0", - "@docusaurus/theme-translations": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils": "2.2.0", - "@docusaurus/utils-common": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@docusaurus/core": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/module-type-aliases": "2.3.1", + "@docusaurus/plugin-content-blog": "2.3.1", + "@docusaurus/plugin-content-docs": "2.3.1", + "@docusaurus/plugin-content-pages": "2.3.1", + "@docusaurus/theme-common": "2.3.1", + "@docusaurus/theme-translations": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "@mdx-js/react": "^1.6.22", "clsx": "^1.2.1", "copy-text-to-clipboard": "^3.0.1", @@ -2496,17 +4946,279 @@ "react-dom": "^16.8.4 || ^17.0.0" } }, - "node_modules/@docusaurus/theme-common": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.2.0.tgz", - "integrity": "sha512-R8BnDjYoN90DCL75gP7qYQfSjyitXuP9TdzgsKDmSFPNyrdE3twtPNa2dIN+h+p/pr+PagfxwWbd6dn722A1Dw==", + "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", "dependencies": { - "@docusaurus/mdx-loader": "2.2.0", - "@docusaurus/module-type-aliases": "2.2.0", - "@docusaurus/plugin-content-blog": "2.2.0", - "@docusaurus/plugin-content-docs": "2.2.0", - "@docusaurus/plugin-content-pages": "2.2.0", - "@docusaurus/utils": "2.2.0", + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/module-type-aliases": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.3.1.tgz", + "integrity": "sha512-6KkxfAVOJqIUynTRb/tphYCl+co3cP0PlHiMDbi+SzmYxMdgIrwYqH9yAnGSDoN6Jk2ZE/JY/Azs/8LPgKP48A==", + "dependencies": { + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/types": "2.3.1", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/theme-classic/node_modules/eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/@docusaurus/theme-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.3.1.tgz", + "integrity": "sha512-RYmYl2OR2biO+yhmW1aS5FyEvnrItPINa+0U2dMxcHpah8reSCjQ9eJGRmAgkZFchV1+aIQzXOI1K7LCW38O0g==", + "dependencies": { + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/module-type-aliases": "2.3.1", + "@docusaurus/plugin-content-blog": "2.3.1", + "@docusaurus/plugin-content-docs": "2.3.1", + "@docusaurus/plugin-content-pages": "2.3.1", + "@docusaurus/utils": "2.3.1", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2514,6 +5226,7 @@ "parse-numeric-range": "^1.3.0", "prism-react-renderer": "^1.3.5", "tslib": "^2.4.0", + "use-sync-external-store": "^1.2.0", "utility-types": "^3.10.0" }, "engines": { @@ -2524,23 +5237,138 @@ "react-dom": "^16.8.4 || ^17.0.0" } }, + "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/module-type-aliases": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.3.1.tgz", + "integrity": "sha512-6KkxfAVOJqIUynTRb/tphYCl+co3cP0PlHiMDbi+SzmYxMdgIrwYqH9yAnGSDoN6Jk2ZE/JY/Azs/8LPgKP48A==", + "dependencies": { + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/types": "2.3.1", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-common/node_modules/@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, "node_modules/@docusaurus/theme-search-algolia": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.2.0.tgz", - "integrity": "sha512-2h38B0tqlxgR2FZ9LpAkGrpDWVdXZ7vltfmTdX+4RsDs3A7khiNsmZB+x/x6sA4+G2V2CvrsPMlsYBy5X+cY1w==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.3.1.tgz", + "integrity": "sha512-JdHaRqRuH1X++g5fEMLnq7OtULSGQdrs9AbhcWRQ428ZB8/HOiaN6mj3hzHvcD3DFgu7koIVtWPQnvnN7iwzHA==", "dependencies": { "@docsearch/react": "^3.1.1", - "@docusaurus/core": "2.2.0", - "@docusaurus/logger": "2.2.0", - "@docusaurus/plugin-content-docs": "2.2.0", - "@docusaurus/theme-common": "2.2.0", - "@docusaurus/theme-translations": "2.2.0", - "@docusaurus/utils": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@docusaurus/core": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/plugin-content-docs": "2.3.1", + "@docusaurus/theme-common": "2.3.1", + "@docusaurus/theme-translations": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "algoliasearch": "^4.13.1", "algoliasearch-helper": "^3.10.0", "clsx": "^1.2.1", - "eta": "^1.12.3", + "eta": "^2.0.0", "fs-extra": "^10.1.0", "lodash": "^4.17.21", "tslib": "^2.4.0", @@ -2554,10 +5382,234 @@ "react-dom": "^16.8.4 || ^17.0.0" } }, + "node_modules/@docusaurus/theme-search-algolia/node_modules/@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "dependencies": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-search-algolia/node_modules/@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/theme-search-algolia/node_modules/@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/theme-search-algolia/node_modules/@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-search-algolia/node_modules/@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/theme-search-algolia/node_modules/@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/theme-search-algolia/node_modules/@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "dependencies": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/theme-search-algolia/node_modules/eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, "node_modules/@docusaurus/theme-translations": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.2.0.tgz", - "integrity": "sha512-3T140AG11OjJrtKlY4pMZ5BzbGRDjNs2co5hJ6uYJG1bVWlhcaFGqkaZ5lCgKflaNHD7UHBHU9Ec5f69jTdd6w==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.3.1.tgz", + "integrity": "sha512-BsBZzAewJabVhoGG1Ij2u4pMS3MPW6gZ6sS4pc+Y7czevRpzxoFNJXRtQDVGe7mOpv/MmRmqg4owDK+lcOTCVQ==", "dependencies": { "fs-extra": "^10.1.0", "tslib": "^2.4.0" @@ -2570,6 +5622,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.2.0.tgz", "integrity": "sha512-b6xxyoexfbRNRI8gjblzVOnLr4peCJhGbYGPpJ3LFqpi5nsFfoK4mmDLvWdeah0B7gmJeXabN7nQkFoqeSdmOw==", + "devOptional": true, "dependencies": { "@types/history": "^4.7.11", "@types/react": "*", @@ -4165,9 +7218,9 @@ } }, "node_modules/algoliasearch-helper": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.11.1.tgz", - "integrity": "sha512-mvsPN3eK4E0bZG0/WlWJjeqe/bUD2KOEVOl0GyL/TGXn6wcpZU8NOuztGHCUKXkyg5gq6YzUakVTmnmSSO5Yiw==", + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.11.3.tgz", + "integrity": "sha512-TbaEvLwiuGygHQIB8y+OsJKQQ40+JKUua5B91X66tMUHyyhbNHvqyr0lqd3wCoyKx7WybyQrC0WJvzoIeh24Aw==", "dependencies": { "@algolia/events": "^4.0.1" }, @@ -10311,6 +13364,30 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/react-textarea-autosize/node_modules/use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-textarea-autosize/node_modules/use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "dependencies": { + "use-isomorphic-layout-effect": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -12026,9 +15103,9 @@ } }, "node_modules/ua-parser-js": { - "version": "0.7.32", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", - "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==", + "version": "0.7.33", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz", + "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==", "funding": [ { "type": "opencollective", @@ -12484,14 +15561,6 @@ } } }, - "node_modules/use-composed-ref": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", - "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/use-isomorphic-layout-effect": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", @@ -12505,22 +15574,6 @@ } } }, - "node_modules/use-latest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", - "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", - "dependencies": { - "use-isomorphic-layout-effect": "^1.1.1" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/use-sidecar": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", @@ -12542,6 +15595,14 @@ } } }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -13262,11 +16323,11 @@ }, "dependencies": { "@algolia/autocomplete-core": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.7.2.tgz", - "integrity": "sha512-eclwUDC6qfApNnEfu1uWcL/rudQsn59tjEoUYZYE2JSXZrHLRjBUGMxiCoknobU2Pva8ejb0eRxpIYDtVVqdsw==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.7.4.tgz", + "integrity": "sha512-daoLpQ3ps/VTMRZDEBfU8ixXd+amZcNJ4QSP3IERGyzqnL5Ch8uSRFt/4G8pUvW9c3o6GA4vtVv4I4lmnkdXyg==", "requires": { - "@algolia/autocomplete-shared": "1.7.2" + "@algolia/autocomplete-shared": "1.7.4" } }, "@algolia/autocomplete-js": { @@ -13305,17 +16366,17 @@ } }, "@algolia/autocomplete-preset-algolia": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.2.tgz", - "integrity": "sha512-+RYEG6B0QiGGfRb2G3MtPfyrl0dALF3cQNTWBzBX6p5o01vCCGTTinAm2UKG3tfc2CnOMAtnPLkzNZyJUpnVJw==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.4.tgz", + "integrity": "sha512-s37hrvLEIfcmKY8VU9LsAXgm2yfmkdHT3DnA3SgHaY93yjZ2qL57wzb5QweVkYuEBZkT2PIREvRoLXC2sxTbpQ==", "requires": { - "@algolia/autocomplete-shared": "1.7.2" + "@algolia/autocomplete-shared": "1.7.4" } }, "@algolia/autocomplete-shared": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.2.tgz", - "integrity": "sha512-QCckjiC7xXHIUaIL3ektBtjJ0w7tTA3iqKcAE/Hjn1lZ5omp7i3Y4e09rAr9ZybqirL7AbxCLLq0Ra5DDPKeug==" + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.4.tgz", + "integrity": "sha512-2VGCk7I9tA9Ge73Km99+Qg87w0wzW4tgUruvWAn/gfey1ZXgmxZtyIRBebk35R1O8TbK77wujVtCnpsGpRy1kg==" }, "@algolia/autocomplete-theme-classic": { "version": "1.7.3", @@ -14671,18 +17732,18 @@ "optional": true }, "@docsearch/css": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.3.0.tgz", - "integrity": "sha512-rODCdDtGyudLj+Va8b6w6Y85KE85bXRsps/R4Yjwt5vueXKXZQKYw0aA9knxLBT6a/bI/GMrAcmCR75KYOM6hg==" + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.3.2.tgz", + "integrity": "sha512-dctFYiwbvDZkksMlsmc7pj6W6By/EjnVXJq5TEPd05MwQe+dcdHJgaIn1c8wfsucxHpIsdrUcgSkACHCq6aIhw==" }, "@docsearch/react": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.3.0.tgz", - "integrity": "sha512-fhS5adZkae2SSdMYEMVg6pxI5a/cE+tW16ki1V0/ur4Fdok3hBRkmN/H8VvlXnxzggkQIIRIVvYPn00JPjen3A==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.3.2.tgz", + "integrity": "sha512-ugILab2TYKSh6IEHf6Z9xZbOovsYbsdfo60PBj+Bw+oMJ1MHJ7pBt1TTcmPki1hSgg8mysgKy2hDiVdPm7XWSQ==", "requires": { - "@algolia/autocomplete-core": "1.7.2", - "@algolia/autocomplete-preset-algolia": "1.7.2", - "@docsearch/css": "3.3.0", + "@algolia/autocomplete-core": "1.7.4", + "@algolia/autocomplete-preset-algolia": "1.7.4", + "@docsearch/css": "3.3.2", "algoliasearch": "^4.0.0" } }, @@ -14812,6 +17873,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.2.0.tgz", "integrity": "sha512-wDGW4IHKoOr9YuJgy7uYuKWrDrSpsUSDHLZnWQYM9fN7D5EpSmYHjFruUpKWVyxLpD/Wh0rW8hYZwdjJIQUQCQ==", + "dev": true, "requires": { "@docusaurus/react-loadable": "5.5.2", "@docusaurus/types": "2.2.0", @@ -14824,33 +17886,205 @@ } }, "@docusaurus/plugin-client-redirects": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-2.2.0.tgz", - "integrity": "sha512-psBoWi+cbc2I+VPkKJlcZ12tRN3xiv22tnZfNKyMo18iSY8gr4B6Q0G2KZXGPgNGJ/6gq7ATfgDK6p9h9XRxMQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-2.3.1.tgz", + "integrity": "sha512-Ye0z36/L8685ni0DIxHqPPaHIXFXiSF90QYiYfpODBX6NxvvveUTyylsDBU1GQhPXPn1bd39QgaOuZ+j9gfaog==", "requires": { - "@docusaurus/core": "2.2.0", - "@docusaurus/logger": "2.2.0", - "@docusaurus/utils": "2.2.0", - "@docusaurus/utils-common": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", - "eta": "^1.12.3", + "@docusaurus/core": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "eta": "^2.0.0", "fs-extra": "^10.1.0", "lodash": "^4.17.21", "tslib": "^2.4.0" + }, + "dependencies": { + "@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + } + }, + "eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==" + } } }, "@docusaurus/plugin-content-blog": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.2.0.tgz", - "integrity": "sha512-0mWBinEh0a5J2+8ZJXJXbrCk1tSTNf7Nm4tYAl5h2/xx+PvH/Bnu0V+7mMljYm/1QlDYALNIIaT/JcoZQFUN3w==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.3.1.tgz", + "integrity": "sha512-f5LjqX+9WkiLyGiQ41x/KGSJ/9bOjSD8lsVhPvYeUYHCtYpuiDKfhZE07O4EqpHkBx4NQdtQDbp+aptgHSTuiw==", "requires": { - "@docusaurus/core": "2.2.0", - "@docusaurus/logger": "2.2.0", - "@docusaurus/mdx-loader": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils": "2.2.0", - "@docusaurus/utils-common": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@docusaurus/core": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "cheerio": "^1.0.0-rc.12", "feed": "^4.2.2", "fs-extra": "^10.1.0", @@ -14860,20 +18094,207 @@ "unist-util-visit": "^2.0.3", "utility-types": "^3.10.0", "webpack": "^5.73.0" + }, + "dependencies": { + "@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + }, + "@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + } + }, + "eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==" + } } }, "@docusaurus/plugin-content-docs": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.2.0.tgz", - "integrity": "sha512-BOazBR0XjzsHE+2K1wpNxz5QZmrJgmm3+0Re0EVPYFGW8qndCWGNtXW/0lGKhecVPML8yyFeAmnUCIs7xM2wPw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.3.1.tgz", + "integrity": "sha512-DxztTOBEruv7qFxqUtbsqXeNcHqcVEIEe+NQoI1oi2DBmKBhW/o0MIal8lt+9gvmpx3oYtlwmLOOGepxZgJGkw==", "requires": { - "@docusaurus/core": "2.2.0", - "@docusaurus/logger": "2.2.0", - "@docusaurus/mdx-loader": "2.2.0", - "@docusaurus/module-type-aliases": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@docusaurus/core": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/module-type-aliases": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "@types/react-router-config": "^5.0.6", "combine-promises": "^1.1.0", "fs-extra": "^10.1.0", @@ -14883,91 +18304,1614 @@ "tslib": "^2.4.0", "utility-types": "^3.10.0", "webpack": "^5.73.0" + }, + "dependencies": { + "@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/module-type-aliases": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.3.1.tgz", + "integrity": "sha512-6KkxfAVOJqIUynTRb/tphYCl+co3cP0PlHiMDbi+SzmYxMdgIrwYqH9yAnGSDoN6Jk2ZE/JY/Azs/8LPgKP48A==", + "requires": { + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/types": "2.3.1", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" + } + }, + "@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + }, + "@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + } + }, + "eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==" + } } }, "@docusaurus/plugin-content-pages": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.2.0.tgz", - "integrity": "sha512-+OTK3FQHk5WMvdelz8v19PbEbx+CNT6VSpx7nVOvMNs5yJCKvmqBJBQ2ZSxROxhVDYn+CZOlmyrC56NSXzHf6g==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.3.1.tgz", + "integrity": "sha512-E80UL6hvKm5VVw8Ka8YaVDtO6kWWDVUK4fffGvkpQ/AJQDOg99LwOXKujPoICC22nUFTsZ2Hp70XvpezCsFQaA==", "requires": { - "@docusaurus/core": "2.2.0", - "@docusaurus/mdx-loader": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@docusaurus/core": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "fs-extra": "^10.1.0", "tslib": "^2.4.0", "webpack": "^5.73.0" + }, + "dependencies": { + "@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + }, + "@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + } + }, + "eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==" + } } }, "@docusaurus/plugin-debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.2.0.tgz", - "integrity": "sha512-p9vOep8+7OVl6r/NREEYxf4HMAjV8JMYJ7Bos5fCFO0Wyi9AZEo0sCTliRd7R8+dlJXZEgcngSdxAUo/Q+CJow==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.3.1.tgz", + "integrity": "sha512-Ujpml1Ppg4geB/2hyu2diWnO49az9U2bxM9Shen7b6qVcyFisNJTkVG2ocvLC7wM1efTJcUhBO6zAku2vKJGMw==", "requires": { - "@docusaurus/core": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils": "2.2.0", + "@docusaurus/core": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils": "2.3.1", "fs-extra": "^10.1.0", "react-json-view": "^1.21.3", "tslib": "^2.4.0" + }, + "dependencies": { + "@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + }, + "@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + } + }, + "eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==" + } } }, "@docusaurus/plugin-google-analytics": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.2.0.tgz", - "integrity": "sha512-+eZVVxVeEnV5nVQJdey9ZsfyEVMls6VyWTIj8SmX0k5EbqGvnIfET+J2pYEuKQnDIHxy+syRMoRM6AHXdHYGIg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.3.1.tgz", + "integrity": "sha512-OHip0GQxKOFU8n7gkt3TM4HOYTXPCFDjqKbMClDD3KaDnyTuMp/Zvd9HSr770lLEscgPWIvzhJByRAClqsUWiQ==", "requires": { - "@docusaurus/core": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@docusaurus/core": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "tslib": "^2.4.0" + }, + "dependencies": { + "@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + }, + "@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + } + }, + "eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==" + } } }, "@docusaurus/plugin-google-gtag": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.2.0.tgz", - "integrity": "sha512-6SOgczP/dYdkqUMGTRqgxAS1eTp6MnJDAQMy8VCF1QKbWZmlkx4agHDexihqmYyCujTYHqDAhm1hV26EET54NQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.3.1.tgz", + "integrity": "sha512-uXtDhfu4+Hm+oqWUySr3DNI5cWC/rmP6XJyAk83Heor3dFjZqDwCbkX8yWPywkRiWev3Dk/rVF8lEn0vIGVocA==", "requires": { - "@docusaurus/core": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@docusaurus/core": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "tslib": "^2.4.0" + }, + "dependencies": { + "@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + }, + "@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + } + }, + "eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==" + } + } + }, + "@docusaurus/plugin-google-tag-manager": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-2.3.1.tgz", + "integrity": "sha512-Ww2BPEYSqg8q8tJdLYPFFM3FMDBCVhEM4UUqKzJaiRMx3NEoly3qqDRAoRDGdIhlC//Rf0iJV9cWAoq2m6k3sw==", + "requires": { + "@docusaurus/core": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "tslib": "^2.4.0" + }, + "dependencies": { + "@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + }, + "@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + } + }, + "eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==" + } } }, "@docusaurus/plugin-sitemap": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.2.0.tgz", - "integrity": "sha512-0jAmyRDN/aI265CbWZNZuQpFqiZuo+5otk2MylU9iVrz/4J7gSc+ZJ9cy4EHrEsW7PV8s1w18hIEsmcA1YgkKg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.3.1.tgz", + "integrity": "sha512-8Yxile/v6QGYV9vgFiYL+8d2N4z4Er3pSHsrD08c5XI8bUXxTppMwjarDUTH/TRTfgAWotRbhJ6WZLyajLpozA==", "requires": { - "@docusaurus/core": "2.2.0", - "@docusaurus/logger": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils": "2.2.0", - "@docusaurus/utils-common": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@docusaurus/core": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "fs-extra": "^10.1.0", "sitemap": "^7.1.1", "tslib": "^2.4.0" + }, + "dependencies": { + "@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + }, + "@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + } + }, + "eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==" + } } }, "@docusaurus/preset-classic": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.2.0.tgz", - "integrity": "sha512-yKIWPGNx7BT8v2wjFIWvYrS+nvN04W+UameSFf8lEiJk6pss0kL6SG2MRvyULiI3BDxH+tj6qe02ncpSPGwumg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.3.1.tgz", + "integrity": "sha512-OQ5W0AHyfdUk0IldwJ3BlnZ1EqoJuu2L2BMhqLbqwNWdkmzmSUvlFLH1Pe7CZSQgB2YUUC/DnmjbPKk/qQD0lQ==", "requires": { - "@docusaurus/core": "2.2.0", - "@docusaurus/plugin-content-blog": "2.2.0", - "@docusaurus/plugin-content-docs": "2.2.0", - "@docusaurus/plugin-content-pages": "2.2.0", - "@docusaurus/plugin-debug": "2.2.0", - "@docusaurus/plugin-google-analytics": "2.2.0", - "@docusaurus/plugin-google-gtag": "2.2.0", - "@docusaurus/plugin-sitemap": "2.2.0", - "@docusaurus/theme-classic": "2.2.0", - "@docusaurus/theme-common": "2.2.0", - "@docusaurus/theme-search-algolia": "2.2.0", - "@docusaurus/types": "2.2.0" + "@docusaurus/core": "2.3.1", + "@docusaurus/plugin-content-blog": "2.3.1", + "@docusaurus/plugin-content-docs": "2.3.1", + "@docusaurus/plugin-content-pages": "2.3.1", + "@docusaurus/plugin-debug": "2.3.1", + "@docusaurus/plugin-google-analytics": "2.3.1", + "@docusaurus/plugin-google-gtag": "2.3.1", + "@docusaurus/plugin-google-tag-manager": "2.3.1", + "@docusaurus/plugin-sitemap": "2.3.1", + "@docusaurus/theme-classic": "2.3.1", + "@docusaurus/theme-common": "2.3.1", + "@docusaurus/theme-search-algolia": "2.3.1", + "@docusaurus/types": "2.3.1" + }, + "dependencies": { + "@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + }, + "@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + } + }, + "eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==" + } } }, "@docusaurus/react-loadable": { @@ -14980,22 +19924,22 @@ } }, "@docusaurus/theme-classic": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.2.0.tgz", - "integrity": "sha512-kjbg/qJPwZ6H1CU/i9d4l/LcFgnuzeiGgMQlt6yPqKo0SOJIBMPuz7Rnu3r/WWbZFPi//o8acclacOzmXdUUEg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.3.1.tgz", + "integrity": "sha512-SelSIDvyttb7ZYHj8vEUhqykhAqfOPKk+uP0z85jH72IMC58e7O8DIlcAeBv+CWsLbNIl9/Hcg71X0jazuxJug==", "requires": { - "@docusaurus/core": "2.2.0", - "@docusaurus/mdx-loader": "2.2.0", - "@docusaurus/module-type-aliases": "2.2.0", - "@docusaurus/plugin-content-blog": "2.2.0", - "@docusaurus/plugin-content-docs": "2.2.0", - "@docusaurus/plugin-content-pages": "2.2.0", - "@docusaurus/theme-common": "2.2.0", - "@docusaurus/theme-translations": "2.2.0", - "@docusaurus/types": "2.2.0", - "@docusaurus/utils": "2.2.0", - "@docusaurus/utils-common": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@docusaurus/core": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/module-type-aliases": "2.3.1", + "@docusaurus/plugin-content-blog": "2.3.1", + "@docusaurus/plugin-content-docs": "2.3.1", + "@docusaurus/plugin-content-pages": "2.3.1", + "@docusaurus/theme-common": "2.3.1", + "@docusaurus/theme-translations": "2.3.1", + "@docusaurus/types": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "@mdx-js/react": "^1.6.22", "clsx": "^1.2.1", "copy-text-to-clipboard": "^3.0.1", @@ -15009,19 +19953,221 @@ "rtlcss": "^3.5.0", "tslib": "^2.4.0", "utility-types": "^3.10.0" + }, + "dependencies": { + "@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/module-type-aliases": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.3.1.tgz", + "integrity": "sha512-6KkxfAVOJqIUynTRb/tphYCl+co3cP0PlHiMDbi+SzmYxMdgIrwYqH9yAnGSDoN6Jk2ZE/JY/Azs/8LPgKP48A==", + "requires": { + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/types": "2.3.1", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" + } + }, + "@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + }, + "@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + } + }, + "eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==" + } } }, "@docusaurus/theme-common": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.2.0.tgz", - "integrity": "sha512-R8BnDjYoN90DCL75gP7qYQfSjyitXuP9TdzgsKDmSFPNyrdE3twtPNa2dIN+h+p/pr+PagfxwWbd6dn722A1Dw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.3.1.tgz", + "integrity": "sha512-RYmYl2OR2biO+yhmW1aS5FyEvnrItPINa+0U2dMxcHpah8reSCjQ9eJGRmAgkZFchV1+aIQzXOI1K7LCW38O0g==", "requires": { - "@docusaurus/mdx-loader": "2.2.0", - "@docusaurus/module-type-aliases": "2.2.0", - "@docusaurus/plugin-content-blog": "2.2.0", - "@docusaurus/plugin-content-docs": "2.2.0", - "@docusaurus/plugin-content-pages": "2.2.0", - "@docusaurus/utils": "2.2.0", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/module-type-aliases": "2.3.1", + "@docusaurus/plugin-content-blog": "2.3.1", + "@docusaurus/plugin-content-docs": "2.3.1", + "@docusaurus/plugin-content-pages": "2.3.1", + "@docusaurus/utils": "2.3.1", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -15029,36 +20175,297 @@ "parse-numeric-range": "^1.3.0", "prism-react-renderer": "^1.3.5", "tslib": "^2.4.0", + "use-sync-external-store": "^1.2.0", "utility-types": "^3.10.0" + }, + "dependencies": { + "@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/module-type-aliases": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.3.1.tgz", + "integrity": "sha512-6KkxfAVOJqIUynTRb/tphYCl+co3cP0PlHiMDbi+SzmYxMdgIrwYqH9yAnGSDoN6Jk2ZE/JY/Azs/8LPgKP48A==", + "requires": { + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/types": "2.3.1", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" + } + }, + "@docusaurus/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.3.1.tgz", + "integrity": "sha512-PREbIRhTaNNY042qmfSE372Jb7djZt+oVTZkoqHJ8eff8vOIc2zqqDqBVc5BhOfpZGPTrE078yy/torUEZy08A==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + }, + "@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + } } }, "@docusaurus/theme-search-algolia": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.2.0.tgz", - "integrity": "sha512-2h38B0tqlxgR2FZ9LpAkGrpDWVdXZ7vltfmTdX+4RsDs3A7khiNsmZB+x/x6sA4+G2V2CvrsPMlsYBy5X+cY1w==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.3.1.tgz", + "integrity": "sha512-JdHaRqRuH1X++g5fEMLnq7OtULSGQdrs9AbhcWRQ428ZB8/HOiaN6mj3hzHvcD3DFgu7koIVtWPQnvnN7iwzHA==", "requires": { "@docsearch/react": "^3.1.1", - "@docusaurus/core": "2.2.0", - "@docusaurus/logger": "2.2.0", - "@docusaurus/plugin-content-docs": "2.2.0", - "@docusaurus/theme-common": "2.2.0", - "@docusaurus/theme-translations": "2.2.0", - "@docusaurus/utils": "2.2.0", - "@docusaurus/utils-validation": "2.2.0", + "@docusaurus/core": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/plugin-content-docs": "2.3.1", + "@docusaurus/theme-common": "2.3.1", + "@docusaurus/theme-translations": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", "algoliasearch": "^4.13.1", "algoliasearch-helper": "^3.10.0", "clsx": "^1.2.1", - "eta": "^1.12.3", + "eta": "^2.0.0", "fs-extra": "^10.1.0", "lodash": "^4.17.21", "tslib": "^2.4.0", "utility-types": "^3.10.0" + }, + "dependencies": { + "@docusaurus/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.3.1.tgz", + "integrity": "sha512-0Jd4jtizqnRAr7svWaBbbrCCN8mzBNd2xFLoT/IM7bGfFie5y58oz97KzXliwiLY3zWjqMXjQcuP1a5VgCv2JA==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.3.1", + "@docusaurus/logger": "2.3.1", + "@docusaurus/mdx-loader": "2.3.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.3.1", + "@docusaurus/utils-common": "2.3.1", + "@docusaurus/utils-validation": "2.3.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.3.1.tgz", + "integrity": "sha512-7mIhAROES6CY1GmCjR4CZkUfjTL6B3u6rKHK0ChQl2d1IevYXq/k/vFgvOrJfcKxiObpMnE9+X6R2Wt1KqxC6w==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.3.1.tgz", + "integrity": "sha512-2lAV/olKKVr9qJhfHFCaqBIl8FgYjbUFwgUnX76+cULwQYss+42ZQ3grHGFvI0ocN2X55WcYe64ellQXz7suqg==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.3.1.tgz", + "integrity": "sha512-Gzga7OsxQRpt3392K9lv/bW4jGppdLFJh3luKRknCKSAaZrmVkOQv2gvCn8LAOSZ3uRg5No7AgYs/vpL8K94lA==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-9WcQROCV0MmrpOQDXDGhtGMd52DHpSFbKLfkyaYumzbTstrbA5pPOtiGtxK1nqUHkiIv8UwexS54p0Vod2I1lg==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils-common": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.3.1.tgz", + "integrity": "sha512-pVlRpXkdNcxmKNxAaB1ya2hfCEvVsLDp2joeM6K6uv55Oc5nVIqgyYSgSNKZyMdw66NnvMfsu0RBylcwZQKo9A==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@docusaurus/utils-validation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.3.1.tgz", + "integrity": "sha512-7n0208IG3k1HVTByMHlZoIDjjOFC8sbViHVXJx0r3Q+3Ezrx+VQ1RZ/zjNn6lT+QBCRCXlnlaoJ8ug4HIVgQ3w==", + "requires": { + "@docusaurus/logger": "2.3.1", + "@docusaurus/utils": "2.3.1", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + } + }, + "eta": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.0.0.tgz", + "integrity": "sha512-NqE7S2VmVwgMS8yBxsH4VgNQjNjLq1gfGU0u9I6Cjh468nPRMoDfGdK9n1p/3Dvsw3ebklDkZsFAnKJ9sefjBA==" + } } }, "@docusaurus/theme-translations": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.2.0.tgz", - "integrity": "sha512-3T140AG11OjJrtKlY4pMZ5BzbGRDjNs2co5hJ6uYJG1bVWlhcaFGqkaZ5lCgKflaNHD7UHBHU9Ec5f69jTdd6w==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.3.1.tgz", + "integrity": "sha512-BsBZzAewJabVhoGG1Ij2u4pMS3MPW6gZ6sS4pc+Y7czevRpzxoFNJXRtQDVGe7mOpv/MmRmqg4owDK+lcOTCVQ==", "requires": { "fs-extra": "^10.1.0", "tslib": "^2.4.0" @@ -15068,6 +20475,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.2.0.tgz", "integrity": "sha512-b6xxyoexfbRNRI8gjblzVOnLr4peCJhGbYGPpJ3LFqpi5nsFfoK4mmDLvWdeah0B7gmJeXabN7nQkFoqeSdmOw==", + "devOptional": true, "requires": { "@types/history": "^4.7.11", "@types/react": "*", @@ -16323,9 +21731,9 @@ } }, "algoliasearch-helper": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.11.1.tgz", - "integrity": "sha512-mvsPN3eK4E0bZG0/WlWJjeqe/bUD2KOEVOl0GyL/TGXn6wcpZU8NOuztGHCUKXkyg5gq6YzUakVTmnmSSO5Yiw==", + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.11.3.tgz", + "integrity": "sha512-TbaEvLwiuGygHQIB8y+OsJKQQ40+JKUua5B91X66tMUHyyhbNHvqyr0lqd3wCoyKx7WybyQrC0WJvzoIeh24Aw==", "requires": { "@algolia/events": "^4.0.1" } @@ -20642,6 +26050,22 @@ "@babel/runtime": "^7.10.2", "use-composed-ref": "^1.3.0", "use-latest": "^1.2.1" + }, + "dependencies": { + "use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "requires": {} + }, + "use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "requires": { + "use-isomorphic-layout-effect": "^1.1.1" + } + } } }, "read-cache": { @@ -21922,9 +27346,9 @@ "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==" }, "ua-parser-js": { - "version": "0.7.32", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", - "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==" + "version": "0.7.33", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz", + "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==" }, "unherit": { "version": "1.1.3", @@ -22209,26 +27633,12 @@ "tslib": "^2.0.0" } }, - "use-composed-ref": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", - "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", - "requires": {} - }, "use-isomorphic-layout-effect": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", "requires": {} }, - "use-latest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", - "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", - "requires": { - "use-isomorphic-layout-effect": "^1.1.1" - } - }, "use-sidecar": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", @@ -22238,6 +27648,12 @@ "tslib": "^2.0.0" } }, + "use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "requires": {} + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/website/package.json b/website/package.json index 022ee8a1a03..b6718701c34 100644 --- a/website/package.json +++ b/website/package.json @@ -18,9 +18,9 @@ "dependencies": { "@cmfcmf/docusaurus-search-local": "^0.11.0", "@docusaurus/core": "2.2.0", - "@docusaurus/plugin-client-redirects": "^2.2.0", + "@docusaurus/plugin-client-redirects": "^2.3.1", "@docusaurus/plugin-content-docs": "^2.2.0", - "@docusaurus/preset-classic": "2.2.0", + "@docusaurus/preset-classic": "2.3.1", "@mdx-js/react": "^1.6.22", "@radix-ui/react-popover": "^1.0.2", "clsx": "^1.2.1", From ee34a1f27894d2fdfa24c81d1e23e7096fcbc24a Mon Sep 17 00:00:00 2001 From: Colin Delahunty <72827203+colin99d@users.noreply.github.com> Date: Sat, 4 Feb 2023 21:24:47 -0500 Subject: [PATCH 05/14] Feature/add isort linter (#4114) * Fixed isort * Fixed issues * FIxed linters --------- Co-authored-by: James Maslek --- custom_pre_commit/check_reserved_args.py | 6 +- jupyterlab/documentation/setup.py | 2 +- jupyterlab/openbb-settings/setup.py | 2 +- jupyterlab/openbb/setup.py | 2 +- openbb_terminal/alternative/alt_controller.py | 7 +- .../alternative/covid/covid_controller.py | 4 +- .../alternative/covid/covid_view.py | 7 +- .../alternative/hackernews_model.py | 4 +- .../alternative/oss/github_model.py | 5 +- .../alternative/oss/github_view.py | 15 ++-- .../alternative/oss/oss_controller.py | 10 +-- openbb_terminal/alternative/oss/runa_view.py | 13 +-- .../realestate/landRegistry_model.py | 3 +- .../realestate/landRegistry_view.py | 4 +- .../realestate/realestate_controller.py | 9 +- openbb_terminal/base_helpers.py | 2 +- .../behavioural_analysis/finbrain_model.py | 2 +- .../behavioural_analysis/finbrain_view.py | 9 +- .../behavioural_analysis/finnhub_model.py | 2 +- .../behavioural_analysis/finnhub_view.py | 3 +- .../behavioural_analysis/google_view.py | 10 +-- .../behavioural_analysis/reddit_helpers.py | 2 +- .../behavioural_analysis/reddit_model.py | 2 +- .../behavioural_analysis/reddit_view.py | 7 +- .../behavioural_analysis/twitter_model.py | 2 +- .../behavioural_analysis/twitter_view.py | 6 +- openbb_terminal/common/common_model.py | 4 +- openbb_terminal/common/feedparser_model.py | 2 + openbb_terminal/common/feedparser_view.py | 2 +- openbb_terminal/common/newsapi_model.py | 5 +- openbb_terminal/common/newsapi_view.py | 8 +- .../common/quantitative_analysis/qa_model.py | 5 +- .../common/quantitative_analysis/qa_view.py | 14 +-- .../quantitative_analysis/rolling_view.py | 6 +- .../custom_indicators_model.py | 2 +- .../custom_indicators_view.py | 14 +-- .../technical_analysis/momentum_model.py | 2 +- .../technical_analysis/momentum_view.py | 13 ++- .../common/technical_analysis/overlap_view.py | 6 +- .../common/technical_analysis/ta_helpers.py | 2 +- .../trend_indicators_model.py | 2 +- .../trend_indicators_view.py | 9 +- .../technical_analysis/volatility_model.py | 2 +- .../technical_analysis/volatility_view.py | 9 +- .../common/technical_analysis/volume_model.py | 2 +- .../common/technical_analysis/volume_view.py | 9 +- openbb_terminal/core/completer/choices.py | 1 + openbb_terminal/core/config/paths.py | 3 +- openbb_terminal/core/config/paths_helper.py | 8 +- openbb_terminal/core/library/breadcrumb.py | 13 ++- openbb_terminal/core/library/operation.py | 6 +- openbb_terminal/core/library/trail_map.py | 1 - .../core/log/collection/log_sender.py | 14 +-- .../core/log/generation/directories.py | 1 + .../core/log/generation/expired_files.py | 1 - .../generation/formatter_with_exceptions.py | 1 - .../generation/path_tracking_file_handler.py | 9 +- .../core/log/generation/settings_logger.py | 7 +- openbb_terminal/core/scripts/sdk_audit.py | 9 +- .../cryptocurrency/coinpaprika_helpers.py | 1 + .../cryptocurrency/crypto_controller.py | 8 +- .../cryptocurrency/crypto_models.py | 13 +-- .../cryptocurrency/crypto_views.py | 2 +- .../cryptocurrency/cryptocurrency_helpers.py | 2 +- .../cryptocurrency/dataframe_helpers.py | 4 +- .../cryptocurrency/defi/coindix_model.py | 4 +- .../cryptocurrency/defi/cryptosaurio_model.py | 4 +- .../cryptocurrency/defi/cryptosaurio_view.py | 5 +- .../cryptocurrency/defi/defi_controller.py | 7 +- .../cryptocurrency/defi/graph_model.py | 2 +- .../cryptocurrency/defi/llama_model.py | 5 +- .../cryptocurrency/defi/llama_view.py | 2 +- .../cryptocurrency/defi/smartstake_model.py | 7 +- .../cryptocurrency/defi/smartstake_view.py | 14 ++- .../cryptocurrency/defi/substack_model.py | 2 +- .../cryptocurrency/defi/terraengineer_view.py | 4 +- .../defi/terramoney_fcd_model.py | 6 +- .../defi/terramoney_fcd_view.py | 4 +- .../discovery/coinmarketcap_model.py | 2 +- .../discovery/coinmarketcap_view.py | 3 +- .../discovery/dappradar_model.py | 2 +- .../discovery/dappradar_view.py | 1 + .../discovery/discovery_controller.py | 6 +- .../discovery/pycoingecko_model.py | 2 + .../cryptocurrency/discovery/sdk_helpers.py | 1 + .../due_diligence/binance_model.py | 2 +- .../cryptocurrency/due_diligence/ccxt_view.py | 3 +- .../due_diligence/coinbase_view.py | 4 +- .../due_diligence/coinglass_view.py | 9 +- .../due_diligence/coinpaprika_model.py | 2 +- .../due_diligence/cryptopanic_view.py | 7 +- .../due_diligence/dd_controller.py | 17 ++-- .../due_diligence/finbrain_crypto_view.py | 8 +- .../due_diligence/glassnode_model.py | 9 +- .../due_diligence/glassnode_view.py | 7 +- .../due_diligence/messari_view.py | 18 ++-- .../due_diligence/pycoingecko_view.py | 2 + .../due_diligence/santiment_model.py | 4 +- .../due_diligence/santiment_view.py | 8 +- .../due_diligence/sdk_helper.py | 1 + .../due_diligence/tokenterminal_model.py | 5 +- .../due_diligence/tokenterminal_view.py | 13 ++- .../cryptocurrency/nft/nftpricefloor_model.py | 2 +- .../cryptocurrency/nft/opensea_model.py | 2 +- .../cryptocurrency/onchain/bitquery_model.py | 4 +- .../cryptocurrency/onchain/bitquery_view.py | 5 +- .../onchain/blockchain_model.py | 2 +- .../cryptocurrency/onchain/blockchain_view.py | 6 +- .../onchain/ethgasstation_model.py | 2 +- .../cryptocurrency/onchain/ethplorer_model.py | 5 +- .../cryptocurrency/onchain/ethplorer_view.py | 3 +- .../onchain/onchain_controller.py | 5 +- .../cryptocurrency/onchain/shroom_model.py | 10 +-- .../cryptocurrency/onchain/shroom_view.py | 7 +- .../onchain/whale_alert_model.py | 6 +- .../onchain/whale_alert_view.py | 3 +- .../overview/blockchaincenter_model.py | 3 +- .../overview/blockchaincenter_view.py | 6 +- .../cryptocurrency/overview/coinbase_model.py | 2 + .../cryptocurrency/overview/coinbase_view.py | 3 +- .../overview/cryptopanic_model.py | 6 +- .../overview/cryptopanic_view.py | 3 +- .../overview/glassnode_model.py | 6 +- .../cryptocurrency/overview/glassnode_view.py | 7 +- .../cryptocurrency/overview/loanscan_view.py | 10 ++- .../overview/overview_controller.py | 19 ++-- .../overview/pycoingecko_view.py | 9 +- .../cryptocurrency/overview/sdk_helpers.py | 3 +- .../overview/tokenterminal_model.py | 5 +- .../overview/tokenterminal_view.py | 11 ++- .../overview/withdrawalfees_model.py | 1 - .../cryptocurrency/pycoingecko_helpers.py | 13 +-- openbb_terminal/cryptocurrency/pyth_model.py | 5 +- .../quantitative_analysis/qa_controller.py | 7 +- .../technical_analysis/ta_controller.py | 7 +- .../cryptocurrency/tools/tools_controller.py | 7 +- .../cryptocurrency/tools/tools_view.py | 2 +- openbb_terminal/custom_prompt_toolkit.py | 8 +- .../dashboards/dashboards_controller.py | 2 +- openbb_terminal/dashboards/stream/forecast.py | 12 +-- openbb_terminal/dashboards/widget_helpers.py | 1 + openbb_terminal/decorators.py | 1 + .../econometrics/econometrics_model.py | 2 +- .../econometrics/regression_view.py | 2 +- openbb_terminal/economy/alphavantage_model.py | 2 +- openbb_terminal/economy/alphavantage_view.py | 10 +-- openbb_terminal/economy/commodity_view.py | 2 +- openbb_terminal/economy/econ_data_helper.py | 3 +- openbb_terminal/economy/econdb_model.py | 8 +- openbb_terminal/economy/econdb_view.py | 4 +- openbb_terminal/economy/economy_controller.py | 33 ++++--- openbb_terminal/economy/finnhub_model.py | 3 +- openbb_terminal/economy/finnhub_view.py | 3 +- openbb_terminal/economy/finviz_model.py | 4 +- openbb_terminal/economy/fred_model.py | 9 +- openbb_terminal/economy/fred_view.py | 7 +- openbb_terminal/economy/investingcom_model.py | 9 +- openbb_terminal/economy/investingcom_view.py | 11 ++- openbb_terminal/economy/nasdaq_model.py | 4 +- openbb_terminal/economy/nasdaq_view.py | 7 +- openbb_terminal/economy/plot_view.py | 4 +- .../quantitative_analysis/qa_controller.py | 9 +- openbb_terminal/economy/sdk_helpers.py | 3 +- openbb_terminal/economy/yfinance_model.py | 2 +- openbb_terminal/economy/yfinance_view.py | 6 +- .../etf/discovery/disc_controller.py | 5 +- openbb_terminal/etf/etf_controller.py | 10 +-- .../etf/screener/screener_controller.py | 4 +- .../etf/screener/screener_model.py | 2 +- openbb_terminal/etf/stockanalysis_model.py | 2 +- .../etf/technical_analysis/ta_controller.py | 7 +- openbb_terminal/etf/yfinance_view.py | 6 +- openbb_terminal/featflags_controller.py | 2 +- openbb_terminal/forecast/anom_model.py | 8 +- openbb_terminal/forecast/anom_view.py | 13 ++- openbb_terminal/forecast/autoarima_model.py | 9 +- openbb_terminal/forecast/autoarima_view.py | 7 +- openbb_terminal/forecast/autoces_model.py | 10 +-- openbb_terminal/forecast/autoces_view.py | 7 +- openbb_terminal/forecast/autoets_model.py | 9 +- openbb_terminal/forecast/autoets_view.py | 7 +- openbb_terminal/forecast/autoselect_model.py | 15 ++-- openbb_terminal/forecast/autoselect_view.py | 7 +- openbb_terminal/forecast/brnn_model.py | 6 +- openbb_terminal/forecast/brnn_view.py | 7 +- openbb_terminal/forecast/expo_model.py | 13 ++- openbb_terminal/forecast/expo_view.py | 7 +- openbb_terminal/forecast/forecast_model.py | 16 ++-- openbb_terminal/forecast/forecast_view.py | 11 +-- openbb_terminal/forecast/helpers.py | 40 +++++---- openbb_terminal/forecast/linregr_model.py | 6 +- openbb_terminal/forecast/linregr_view.py | 7 +- openbb_terminal/forecast/mstl_model.py | 9 +- openbb_terminal/forecast/mstl_view.py | 7 +- openbb_terminal/forecast/nbeats_model.py | 7 +- openbb_terminal/forecast/nbeats_view.py | 7 +- openbb_terminal/forecast/nhits_model.py | 7 +- openbb_terminal/forecast/nhits_view.py | 7 +- openbb_terminal/forecast/regr_model.py | 6 +- openbb_terminal/forecast/regr_view.py | 7 +- openbb_terminal/forecast/rnn_model.py | 6 +- openbb_terminal/forecast/rnn_view.py | 7 +- openbb_terminal/forecast/rwd_model.py | 9 +- openbb_terminal/forecast/rwd_view.py | 7 +- .../forecast/seasonalnaive_model.py | 10 +-- .../forecast/seasonalnaive_view.py | 7 +- openbb_terminal/forecast/tcn_model.py | 6 +- openbb_terminal/forecast/tcn_view.py | 7 +- openbb_terminal/forecast/tft_model.py | 8 +- openbb_terminal/forecast/tft_view.py | 7 +- openbb_terminal/forecast/theta_model.py | 10 +-- openbb_terminal/forecast/theta_view.py | 7 +- openbb_terminal/forecast/trans_model.py | 6 +- openbb_terminal/forecast/trans_view.py | 7 +- openbb_terminal/forex/av_model.py | 2 +- openbb_terminal/forex/av_view.py | 3 +- openbb_terminal/forex/forex_controller.py | 20 +++-- openbb_terminal/forex/forex_helper.py | 26 +++--- openbb_terminal/forex/fxempire_model.py | 1 + openbb_terminal/forex/fxempire_view.py | 5 +- .../forex/oanda/oanda_controller.py | 2 +- openbb_terminal/forex/oanda/oanda_view.py | 9 +- openbb_terminal/forex/polygon_model.py | 4 +- .../quantitative_analysis/qa_controller.py | 6 +- openbb_terminal/forex/sdk_helpers.py | 1 + .../forex/technical_analysis/ta_controller.py | 11 ++- openbb_terminal/futures/futures_controller.py | 12 ++- openbb_terminal/futures/yfinance_model.py | 10 +-- openbb_terminal/futures/yfinance_view.py | 10 +-- openbb_terminal/helper_classes.py | 6 +- openbb_terminal/helper_funcs.py | 57 ++++++------ openbb_terminal/helpers_denomination.py | 3 +- openbb_terminal/keys_controller.py | 6 +- openbb_terminal/keys_model.py | 39 ++++---- openbb_terminal/keys_view.py | 2 +- openbb_terminal/loggers.py | 16 ++-- openbb_terminal/menu.py | 4 +- openbb_terminal/mutual_funds/avanza_view.py | 2 +- .../mutual_funds/investpy_model.py | 2 +- openbb_terminal/mutual_funds/investpy_view.py | 4 +- openbb_terminal/mutual_funds/mstarpy_view.py | 8 +- .../mutual_funds/mutual_fund_controller.py | 6 +- openbb_terminal/parent_classes.py | 12 +-- .../portfolio/attribution_model.py | 6 +- .../portfolio/brokers/ally/ally_controller.py | 5 +- .../portfolio/brokers/bro_controller.py | 2 +- .../portfolio/brokers/brokers_helpers.py | 1 + .../brokers/coinbase/coinbase_controller.py | 5 +- .../brokers/coinbase/coinbase_model.py | 4 +- .../brokers/coinbase/coinbase_view.py | 3 +- .../brokers/degiro/degiro_controller.py | 3 +- .../portfolio/brokers/degiro/degiro_model.py | 4 +- .../portfolio/brokers/degiro/degiro_view.py | 5 +- .../brokers/robinhood/robinhood_controller.py | 8 +- .../brokers/robinhood/robinhood_view.py | 2 +- openbb_terminal/portfolio/metrics_model.py | 8 +- .../portfolio_analysis/reportlab_helpers.py | 2 +- .../portfolio_analysis/yfinance_model.py | 5 +- .../portfolio/portfolio_controller.py | 23 +++-- openbb_terminal/portfolio/portfolio_engine.py | 19 ++-- openbb_terminal/portfolio/portfolio_helper.py | 16 ++-- openbb_terminal/portfolio/portfolio_model.py | 8 +- .../optimizer_helper.py | 3 +- .../parameters/params_controller.py | 13 +-- .../parameters/params_helpers.py | 9 +- .../parameters/params_view.py | 6 +- .../portfolio_optimization/po_controller.py | 11 ++- .../portfolio_optimization/po_engine.py | 4 +- .../portfolio_optimization/statics.py | 2 +- .../yahoo_finance_model.py | 2 +- openbb_terminal/portfolio/portfolio_view.py | 89 +++++++++---------- openbb_terminal/reports/reports_controller.py | 4 +- openbb_terminal/reports/reports_model.py | 13 +-- openbb_terminal/reports/widget_helpers.py | 3 +- openbb_terminal/rich_config.py | 8 +- openbb_terminal/sdk.py | 12 ++- openbb_terminal/settings_controller.py | 9 +- openbb_terminal/sources_controller.py | 5 +- .../stocks/backtesting/bt_controller.py | 10 +-- .../stocks/backtesting/bt_model.py | 2 +- openbb_terminal/stocks/backtesting/bt_view.py | 4 +- .../behavioural_analysis/ba_controller.py | 7 +- .../behavioural_analysis/cramer_model.py | 7 +- .../behavioural_analysis/cramer_view.py | 22 ++--- .../behavioural_analysis/finnhub_model.py | 5 +- .../behavioural_analysis/finnhub_view.py | 14 +-- openbb_terminal/stocks/cboe_model.py | 2 +- openbb_terminal/stocks/cboe_view.py | 3 +- .../comparison_analysis/ca_controller.py | 7 +- .../comparison_analysis/finbrain_model.py | 2 +- .../comparison_analysis/finbrain_view.py | 4 +- .../comparison_analysis/finnhub_model.py | 3 +- .../comparison_analysis/marketwatch_view.py | 4 +- .../comparison_analysis/polygon_model.py | 2 +- .../stocks/comparison_analysis/sdk_helpers.py | 3 +- .../yahoo_finance_model.py | 2 +- .../comparison_analysis/yahoo_finance_view.py | 4 +- .../stocks/dark_pool_shorts/dps_controller.py | 9 +- .../stocks/dark_pool_shorts/finra_model.py | 2 +- .../stocks/dark_pool_shorts/finra_view.py | 4 +- .../stocks/dark_pool_shorts/ibkr_model.py | 4 +- .../stocks/dark_pool_shorts/quandl_view.py | 11 ++- .../stocks/dark_pool_shorts/sec_view.py | 8 +- .../dark_pool_shorts/stockgrid_model.py | 4 +- .../stocks/dark_pool_shorts/stockgrid_view.py | 4 +- .../dark_pool_shorts/stocksera_model.py | 3 +- .../stocks/dark_pool_shorts/stocksera_view.py | 13 ++- openbb_terminal/stocks/discovery/ark_view.py | 2 +- .../stocks/discovery/disc_controller.py | 9 +- .../stocks/discovery/disc_helpers.py | 2 + .../stocks/discovery/fidelity_view.py | 2 +- .../stocks/discovery/finnhub_model.py | 2 +- .../stocks/discovery/finnhub_view.py | 3 +- .../stocks/discovery/finviz_model.py | 1 + .../stocks/discovery/finviz_view.py | 4 +- .../stocks/discovery/nasdaq_model.py | 3 +- .../stocks/discovery/nasdaq_view.py | 5 +- .../stocks/discovery/shortinterest_view.py | 3 +- .../stocks/discovery/yahoofinance_model.py | 2 +- .../due_diligence/business_insider_view.py | 4 +- .../stocks/due_diligence/dd_controller.py | 5 +- .../stocks/due_diligence/finnhub_model.py | 2 +- .../stocks/due_diligence/finnhub_view.py | 7 +- .../stocks/due_diligence/finviz_view.py | 2 +- .../stocks/due_diligence/fmp_view.py | 1 + .../stocks/fundamental_analysis/av_model.py | 4 +- .../stocks/fundamental_analysis/av_view.py | 13 ++- .../stocks/fundamental_analysis/dcf_model.py | 2 +- .../stocks/fundamental_analysis/dcf_static.py | 3 +- .../fundamental_analysis/eclect_us_view.py | 2 +- .../fundamental_analysis/eodhd_model.py | 4 +- .../stocks/fundamental_analysis/eodhd_view.py | 4 +- .../fundamental_analysis/fa_controller.py | 17 ++-- .../stocks/fundamental_analysis/fmp_model.py | 9 +- .../stocks/fundamental_analysis/fmp_view.py | 13 ++- .../market_watch_model.py | 2 +- .../fundamental_analysis/polygon_model.py | 2 +- .../fundamental_analysis/polygon_view.py | 8 +- .../fundamental_analysis/sdk_helpers.py | 7 +- .../seeking_alpha_model.py | 3 +- .../seeking_alpha_view.py | 5 +- .../yahoo_finance_view.py | 17 ++-- .../stocks/government/gov_controller.py | 5 +- .../stocks/government/quiverquant_model.py | 2 +- .../stocks/government/quiverquant_view.py | 6 +- .../stocks/options/alphaquery_model.py | 2 +- .../stocks/options/hedge/hedge_controller.py | 2 +- .../stocks/options/nasdaq_model.py | 2 +- openbb_terminal/stocks/options/op_helpers.py | 6 +- .../stocks/options/options_controller.py | 16 ++-- .../stocks/options/options_sdk_helper.py | 2 +- .../stocks/options/options_view.py | 7 +- .../stocks/options/screen/syncretism_model.py | 2 +- .../stocks/options/tradier_model.py | 2 +- .../quantitative_analysis/beta_model.py | 1 + .../stocks/quantitative_analysis/beta_view.py | 3 +- .../quantitative_analysis/qa_controller.py | 9 +- .../stocks/quantitative_analysis/qa_model.py | 2 +- .../stocks/research/res_controller.py | 5 +- .../stocks/screener/finviz_model.py | 4 +- .../stocks/screener/finviz_view.py | 4 +- .../stocks/screener/screener_controller.py | 13 ++- .../stocks/screener/screener_helper.py | 3 +- .../stocks/screener/screener_view.py | 4 +- .../stocks/screener/yahoofinance_model.py | 8 +- .../stocks/screener/yahoofinance_view.py | 4 +- .../financedatabase_model.py | 2 +- .../financedatabase_view.py | 6 +- .../sia_controller.py | 5 +- .../stockanalysis_model.py | 4 +- .../stockanalysis_view.py | 10 +-- openbb_terminal/stocks/stocks_controller.py | 9 +- openbb_terminal/stocks/stocks_helper.py | 16 ++-- openbb_terminal/stocks/stocks_model.py | 8 +- openbb_terminal/stocks/stocks_view.py | 3 +- .../technical_analysis/finbrain_model.py | 2 +- .../stocks/technical_analysis/finviz_view.py | 4 +- .../stocks/technical_analysis/rsp_model.py | 1 - .../stocks/technical_analysis/rsp_view.py | 3 +- .../technical_analysis/ta_controller.py | 6 +- .../technical_analysis/tradingview_view.py | 3 +- .../stocks/tradinghours/bursa_model.py | 3 +- .../stocks/tradinghours/bursa_view.py | 2 +- .../tradinghours/pandas_market_cal_model.py | 3 +- .../tradinghours/pandas_market_cal_view.py | 3 +- .../tradinghours/tradinghours_controller.py | 19 ++-- .../tradinghours/tradinghours_helper.py | 2 +- openbb_terminal/terminal_controller.py | 40 ++++----- openbb_terminal/terminal_helper.py | 13 +-- pyproject.toml | 4 +- terminal.py | 1 + tests/conftest.py | 3 +- tests/formatting/test_best_practices.py | 3 +- .../covid/test_covid_controller.py | 1 + .../alternative/oss/test_oss_controller.py | 1 + .../alternative/test_alt_controller.py | 1 + .../test_finbrain_view.py | 3 +- .../quantitative_analysis/test_qa_view.py | 3 +- .../core/log/collection/test_logging_clock.py | 5 +- .../core/log/collection/test_s3_sender.py | 5 +- tests/openbb_terminal/core/log/conftest.py | 3 +- .../core/log/generation/test_directories.py | 2 +- .../core/log/generation/test_expired_files.py | 3 +- .../test_path_tracking_file_handler.py | 5 +- .../defi/test_defi_controller.py | 1 + .../discovery/test_discovery_controller.py | 1 + .../due_diligence/test_dd_controller.py | 2 +- .../due_diligence/test_pycoingecko_view.py | 28 +++--- .../cryptocurrency/nft/test_nft_controller.py | 1 + .../onchain/test_onchain_controller.py | 1 + .../overview/test_coinbase_view.py | 23 ++--- .../overview/test_pycoingecko_view.py | 23 +++-- .../test_cryptocurrency_helpers.py | 4 +- .../tools/test_tools_controller.py | 1 + .../test_econometrics_controller.py | 3 +- .../econometrics/test_econometrics_model.py | 3 +- .../econometrics/test_econometrics_view.py | 3 +- .../economy/test_economy_controller.py | 6 +- .../economy/test_economy_helpers.py | 1 + .../economy/test_finviz_view.py | 3 +- .../economy/test_fred_model.py | 2 +- .../economy/test_investingcom_model.py | 1 + .../economy/test_investingcom_view.py | 1 + .../openbb_terminal/economy/test_wsj_view.py | 3 +- .../etf/discovery/test_wsj_view.py | 3 +- .../etf/screener/test_screener_view.py | 3 +- .../etf/test_financedatabase_view.py | 3 +- .../etf/test_stockanalysis_view.py | 3 +- tests/openbb_terminal/forecast/conftest.py | 3 +- .../forecast/test_NBEATS_model.py | 1 + .../forecast/test_TCN_model.py | 1 + .../forecast/test_anom_model.py | 1 + .../forecast/test_autoarima_model.py | 1 + .../forecast/test_autoces_model.py | 1 + .../forecast/test_autoets_model.py | 1 + .../forecast/test_autoselect_model.py | 1 + .../forecast/test_brnn_model.py | 1 + .../forecast/test_expo_model.py | 1 + .../forecast/test_forecast_controller.py | 4 +- .../forecast/test_forecast_model.py | 4 +- .../forecast/test_linear_model.py | 1 + .../forecast/test_mstl_model.py | 1 + .../forecast/test_nhits_model.py | 1 + .../forecast/test_regr_model.py | 1 + .../forecast/test_rnn_model.py | 1 + .../forecast/test_rwd_model.py | 1 + .../forecast/test_seasonalnaive_model.py | 1 + .../forecast/test_tft_model.py | 1 + .../forecast/test_theta_model.py | 1 + .../forecast/test_trans_model.py | 1 + .../test_qa_controller.py | 1 - .../forex/test_fxempire_model.py | 1 + .../forex/test_fxempire_view.py | 1 + .../coinbase/test_coinbase_controller.py | 1 + .../brokers/coinbase/test_coinbase_model.py | 1 + .../brokers/degiro/test_degiro_controller.py | 1 + .../brokers/degiro/test_degiro_view.py | 1 - .../portfolio_analysis/test_pa_controller.py | 1 + .../portfolio/test_portfolio_controller.py | 1 + .../portfolio/test_portfolio_model.py | 1 + .../stocks/backtesting/test_bt_model.py | 5 +- .../test_ba_controller.py | 3 +- .../behavioural_analysis/test_cramer_view.py | 3 +- .../test_finviz_compare_view.py | 3 +- .../stocks/dark_pool_shorts/test_sec_view.py | 1 - .../dark_pool_shorts/test_stocksera_view.py | 2 +- .../stocks/discovery/test_disc_controller.py | 1 + .../discovery/test_financedatabase_view.py | 3 +- .../stocks/discovery/test_finnhub_view.py | 2 +- .../stocks/discovery/test_nasdaq_view.py | 3 +- .../stocks/due_diligence/test_ark_model.py | 2 +- .../due_diligence/test_dd_controller.py | 1 + .../fundamental_analysis/test_av_view.py | 3 +- .../test_business_insider_view.py | 3 +- .../fundamental_analysis/test_dcf_model.py | 2 +- .../fundamental_analysis/test_dcf_view.py | 2 +- .../test_eclect_us_view.py | 2 +- .../test_fa_controller.py | 1 + .../fundamental_analysis/test_finviz_model.py | 2 +- .../fundamental_analysis/test_finviz_view.py | 3 +- .../fundamental_analysis/test_fmp_model.py | 2 +- .../fundamental_analysis/test_fmp_view.py | 3 +- .../fundamental_analysis/test_polygon_view.py | 1 + .../stocks/government/test_gov_controller.py | 3 +- .../stocks/insider/test_openinsider_view.py | 3 +- .../stocks/options/test_chartexchange_view.py | 3 +- .../stocks/options/test_fdscanner_view.py | 4 +- .../stocks/options/test_options_controller.py | 2 +- .../stocks/options/test_options_view.py | 10 +-- .../stocks/options/test_syncretism_view.py | 2 +- .../stocks/options/test_tradier_view.py | 1 + .../test_qa_controller.py | 3 +- .../stocks/screener/test_finviz_view.py | 3 +- .../test_stockanalysis_model.py | 2 +- .../technical_analysis/test_rsp_view.py | 1 + .../technical_analysis/test_ta_controller.py | 3 +- .../openbb_terminal/stocks/test_cboe_model.py | 1 + .../openbb_terminal/stocks/test_cboe_view.py | 1 + .../stocks/test_stocks_helper.py | 8 +- tests/openbb_terminal/test_helper_funcs.py | 2 +- .../test_helpers_denomination.py | 6 +- tests/openbb_terminal/test_keys_model.py | 4 +- tests/openbb_terminal/test_loggers.py | 4 +- .../test_terminal_controller.py | 2 + tests/openbb_terminal/test_terminal_helper.py | 1 + .../test_thought_of_the_day.py | 3 +- tests/website/test_generate_docs.py | 7 +- website/generate_sdk_markdown.py | 6 +- website/generate_terminal_markdown.py | 2 +- 509 files changed, 1461 insertions(+), 1456 deletions(-) diff --git a/custom_pre_commit/check_reserved_args.py b/custom_pre_commit/check_reserved_args.py index a688c64dc21..9e9354ddb98 100644 --- a/custom_pre_commit/check_reserved_args.py +++ b/custom_pre_commit/check_reserved_args.py @@ -1,9 +1,9 @@ """Check reserved command arguments in Controllers""" -import os -import sys import glob +import os import re -from typing import Optional, Any +import sys +from typing import Any, Optional RESERVED_ARGS = { "f": "file", diff --git a/jupyterlab/documentation/setup.py b/jupyterlab/documentation/setup.py index 09a640e1000..babcbbaddaa 100644 --- a/jupyterlab/documentation/setup.py +++ b/jupyterlab/documentation/setup.py @@ -63,7 +63,7 @@ setup_args = dict( ) try: - from jupyter_packaging import wrap_installers, npm_builder, get_data_files + from jupyter_packaging import get_data_files, npm_builder, wrap_installers post_develop = npm_builder( build_cmd="install:extension", source_dir="src", build_dir=lab_path diff --git a/jupyterlab/openbb-settings/setup.py b/jupyterlab/openbb-settings/setup.py index e23ff466294..a14650e7662 100644 --- a/jupyterlab/openbb-settings/setup.py +++ b/jupyterlab/openbb-settings/setup.py @@ -63,7 +63,7 @@ setup_args = dict( ) try: - from jupyter_packaging import wrap_installers, npm_builder, get_data_files + from jupyter_packaging import get_data_files, npm_builder, wrap_installers post_develop = npm_builder( build_cmd="install:extension", source_dir="src", build_dir=lab_path diff --git a/jupyterlab/openbb/setup.py b/jupyterlab/openbb/setup.py index e0aaf793c3d..67507c07550 100644 --- a/jupyterlab/openbb/setup.py +++ b/jupyterlab/openbb/setup.py @@ -61,7 +61,7 @@ setup_args = dict( ) try: - from jupyter_packaging import wrap_installers, npm_builder, get_data_files + from jupyter_packaging import get_data_files, npm_builder, wrap_installers post_develop = npm_builder( build_cmd="install:extension", source_dir="src", build_dir=lab_path diff --git a/openbb_terminal/alternative/alt_controller.py b/openbb_terminal/alternative/alt_controller.py index cdd6e287b70..0005084cbac 100644 --- a/openbb_terminal/alternative/alt_controller.py +++ b/openbb_terminal/alternative/alt_controller.py @@ -5,17 +5,16 @@ import argparse import logging from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.alternative import hackernews_view +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_ONLY_RAW_DATA_ALLOWED, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText -from openbb_terminal.alternative import hackernews_view +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) # pylint:disable=import-outside-toplevel diff --git a/openbb_terminal/alternative/covid/covid_controller.py b/openbb_terminal/alternative/covid/covid_controller.py index c0e5a0f313f..8f3b4dfb265 100644 --- a/openbb_terminal/alternative/covid/covid_controller.py +++ b/openbb_terminal/alternative/covid/covid_controller.py @@ -7,10 +7,10 @@ import pathlib from typing import List import pandas as pd -from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal import feature_flags as obbff from openbb_terminal.alternative.covid import covid_view +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, @@ -19,7 +19,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/alternative/covid/covid_view.py b/openbb_terminal/alternative/covid/covid_view.py index 4e26e3d4904..ceca6ead5ef 100644 --- a/openbb_terminal/alternative/covid/covid_view.py +++ b/openbb_terminal/alternative/covid/covid_view.py @@ -3,24 +3,23 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List +from typing import List, Optional import matplotlib.pyplot as plt import pandas as pd -from openbb_terminal.config_terminal import theme from openbb_terminal.alternative.covid import covid_model from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console - logger = logging.getLogger(__name__) diff --git a/openbb_terminal/alternative/hackernews_model.py b/openbb_terminal/alternative/hackernews_model.py index a01a50ff02d..e622a4751d7 100644 --- a/openbb_terminal/alternative/hackernews_model.py +++ b/openbb_terminal/alternative/hackernews_model.py @@ -3,9 +3,11 @@ __docformat__ = "numpy" import logging + import pandas as pd -from openbb_terminal.helper_funcs import request + from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import request logger = logging.getLogger(__name__) diff --git a/openbb_terminal/alternative/oss/github_model.py b/openbb_terminal/alternative/oss/github_model.py index 63ec3517310..a4f1e19a9a3 100644 --- a/openbb_terminal/alternative/oss/github_model.py +++ b/openbb_terminal/alternative/oss/github_model.py @@ -3,15 +3,16 @@ __docformat__ = "numpy" # pylint: disable=C0201,W1401 import logging -from typing import Any, Dict, Optional import math from datetime import datetime +from typing import Any, Dict, Optional + import pandas as pd from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import check_api_key, log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import get_user_agent, request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/alternative/oss/github_view.py b/openbb_terminal/alternative/oss/github_view.py index 4b2858ad3d1..2cc80b930b2 100644 --- a/openbb_terminal/alternative/oss/github_view.py +++ b/openbb_terminal/alternative/oss/github_view.py @@ -3,22 +3,23 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List +from typing import List, Optional from matplotlib import pyplot as plt from matplotlib import ticker -from openbb_terminal.config_terminal import theme + +from openbb_terminal.alternative.oss import github_model from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme +from openbb_terminal.cryptocurrency.dataframe_helpers import ( + lambda_long_number_format_with_type_check, +) from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, -) -from openbb_terminal.alternative.oss import github_model -from openbb_terminal.cryptocurrency.dataframe_helpers import ( - lambda_long_number_format_with_type_check, ) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/alternative/oss/oss_controller.py b/openbb_terminal/alternative/oss/oss_controller.py index 95bb1db0dac..0f5313b6123 100644 --- a/openbb_terminal/alternative/oss/oss_controller.py +++ b/openbb_terminal/alternative/oss/oss_controller.py @@ -5,21 +5,19 @@ import argparse import logging from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff -from openbb_terminal.alternative.oss import github_view -from openbb_terminal.alternative.oss import runa_view, runa_model +from openbb_terminal.alternative.oss import github_view, runa_model, runa_view +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, EXPORT_ONLY_RAW_DATA_ALLOWED, - valid_repo, parse_and_split_input, + valid_repo, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/alternative/oss/runa_view.py b/openbb_terminal/alternative/oss/runa_view.py index e6f1989b137..0d0f8a9118b 100644 --- a/openbb_terminal/alternative/oss/runa_view.py +++ b/openbb_terminal/alternative/oss/runa_view.py @@ -1,21 +1,22 @@ """Rekt view""" import logging import os -from typing import Optional, List +from typing import List, Optional from matplotlib import pyplot as plt from matplotlib import ticker + from openbb_terminal.alternative.oss import runa_model +from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, - lambda_long_number_format, - print_rich_table, is_valid_axes_count, + lambda_long_number_format, + plot_autoscale, + print_rich_table, ) -from openbb_terminal.config_terminal import theme -from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/alternative/realestate/landRegistry_model.py b/openbb_terminal/alternative/realestate/landRegistry_model.py index 107be49ff8d..61ed6a4efdc 100644 --- a/openbb_terminal/alternative/realestate/landRegistry_model.py +++ b/openbb_terminal/alternative/realestate/landRegistry_model.py @@ -1,8 +1,9 @@ """ UK Land Registry Model """ __docformat__ = "numpy" -import logging import io +import logging + import pandas as pd from SPARQLWrapper.Wrapper import CSV, SPARQLWrapper diff --git a/openbb_terminal/alternative/realestate/landRegistry_view.py b/openbb_terminal/alternative/realestate/landRegistry_view.py index f2ca955ccc7..f0d79928a36 100644 --- a/openbb_terminal/alternative/realestate/landRegistry_view.py +++ b/openbb_terminal/alternative/realestate/landRegistry_view.py @@ -4,9 +4,9 @@ __docformat__ = "numpy" import logging import os -from openbb_terminal.decorators import log_start_end from openbb_terminal.alternative.realestate import landRegistry_model -from openbb_terminal.helper_funcs import print_rich_table, export_data +from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/alternative/realestate/realestate_controller.py b/openbb_terminal/alternative/realestate/realestate_controller.py index e6c6c64a5ca..e9d2702f35a 100644 --- a/openbb_terminal/alternative/realestate/realestate_controller.py +++ b/openbb_terminal/alternative/realestate/realestate_controller.py @@ -6,18 +6,17 @@ import logging from datetime import datetime, timedelta from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.alternative.realestate import landRegistry_view +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end -from openbb_terminal.menu import session from openbb_terminal.helper_funcs import ( EXPORT_ONLY_RAW_DATA_ALLOWED, check_positive, ) -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.alternative.realestate import landRegistry_view +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/base_helpers.py b/openbb_terminal/base_helpers.py index b58ada0383f..82bf8d32839 100644 --- a/openbb_terminal/base_helpers.py +++ b/openbb_terminal/base_helpers.py @@ -1,6 +1,6 @@ # This is for helpers that do NOT import any OpenBB Modules -from typing import Callable, Any, Literal import os +from typing import Any, Callable, Literal from rich.console import Console diff --git a/openbb_terminal/common/behavioural_analysis/finbrain_model.py b/openbb_terminal/common/behavioural_analysis/finbrain_model.py index 49adf7facd7..b4a2854058c 100644 --- a/openbb_terminal/common/behavioural_analysis/finbrain_model.py +++ b/openbb_terminal/common/behavioural_analysis/finbrain_model.py @@ -4,9 +4,9 @@ __docformat__ = "numpy" import logging import pandas as pd -from openbb_terminal.helper_funcs import request from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import request logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/behavioural_analysis/finbrain_view.py b/openbb_terminal/common/behavioural_analysis/finbrain_view.py index 35fba6a310b..7d0ee33ce97 100644 --- a/openbb_terminal/common/behavioural_analysis/finbrain_view.py +++ b/openbb_terminal/common/behavioural_analysis/finbrain_view.py @@ -3,25 +3,24 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List +from typing import List, Optional import numpy as np import pandas as pd from matplotlib import pyplot as plt -from openbb_terminal.config_terminal import theme +from openbb_terminal import rich_config from openbb_terminal.common.behavioural_analysis import finbrain_model from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console -from openbb_terminal import rich_config - logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/behavioural_analysis/finnhub_model.py b/openbb_terminal/common/behavioural_analysis/finnhub_model.py index 9423fcf7adc..8b8c2f120d2 100644 --- a/openbb_terminal/common/behavioural_analysis/finnhub_model.py +++ b/openbb_terminal/common/behavioural_analysis/finnhub_model.py @@ -5,9 +5,9 @@ import logging import pandas as pd -from openbb_terminal.helper_funcs import request from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import check_api_key, log_start_end +from openbb_terminal.helper_funcs import request from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/behavioural_analysis/finnhub_view.py b/openbb_terminal/common/behavioural_analysis/finnhub_view.py index ee22329b3d4..0cdaf3b7d09 100644 --- a/openbb_terminal/common/behavioural_analysis/finnhub_view.py +++ b/openbb_terminal/common/behavioural_analysis/finnhub_view.py @@ -7,10 +7,9 @@ import os import pandas as pd from openbb_terminal.common.behavioural_analysis import finnhub_model -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import export_data from openbb_terminal.rich_config import console -from openbb_terminal.decorators import check_api_key logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/behavioural_analysis/google_view.py b/openbb_terminal/common/behavioural_analysis/google_view.py index 0c924085e1c..0350337f467 100644 --- a/openbb_terminal/common/behavioural_analysis/google_view.py +++ b/openbb_terminal/common/behavioural_analysis/google_view.py @@ -3,20 +3,20 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List -import pandas as pd +from typing import List, Optional import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.config_terminal import theme -from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.common.behavioural_analysis import google_model +from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/behavioural_analysis/reddit_helpers.py b/openbb_terminal/common/behavioural_analysis/reddit_helpers.py index 1dab1dd6ce8..40b9bcaebd1 100644 --- a/openbb_terminal/common/behavioural_analysis/reddit_helpers.py +++ b/openbb_terminal/common/behavioural_analysis/reddit_helpers.py @@ -1,8 +1,8 @@ """Reddit Helpers""" __docformat__ = "numpy" -from typing import List import re +from typing import List import praw diff --git a/openbb_terminal/common/behavioural_analysis/reddit_model.py b/openbb_terminal/common/behavioural_analysis/reddit_model.py index 43f782ce3f5..f01f3b54885 100644 --- a/openbb_terminal/common/behavioural_analysis/reddit_model.py +++ b/openbb_terminal/common/behavioural_analysis/reddit_model.py @@ -3,9 +3,9 @@ __docformat__ = "numpy" # pylint:disable=too-many-lines import logging +import warnings from datetime import datetime, timedelta from typing import List, Tuple -import warnings import finviz import pandas as pd diff --git a/openbb_terminal/common/behavioural_analysis/reddit_view.py b/openbb_terminal/common/behavioural_analysis/reddit_view.py index 843da940cf9..06f1e6b7e30 100644 --- a/openbb_terminal/common/behavioural_analysis/reddit_view.py +++ b/openbb_terminal/common/behavioural_analysis/reddit_view.py @@ -14,15 +14,14 @@ import praw import seaborn as sns from openbb_terminal.common.behavioural_analysis import reddit_model -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI -from openbb_terminal.decorators import check_api_key -from openbb_terminal.decorators import log_start_end +from openbb_terminal.config_terminal import theme +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/common/behavioural_analysis/twitter_model.py b/openbb_terminal/common/behavioural_analysis/twitter_model.py index 449c90d71ef..179d359fd59 100644 --- a/openbb_terminal/common/behavioural_analysis/twitter_model.py +++ b/openbb_terminal/common/behavioural_analysis/twitter_model.py @@ -1,8 +1,8 @@ """Twitter Model""" __docformat__ = "numpy" -from datetime import datetime, timedelta import logging +from datetime import datetime, timedelta from typing import Optional import pandas as pd diff --git a/openbb_terminal/common/behavioural_analysis/twitter_view.py b/openbb_terminal/common/behavioural_analysis/twitter_view.py index 7352aa131ca..b78438a12ed 100644 --- a/openbb_terminal/common/behavioural_analysis/twitter_view.py +++ b/openbb_terminal/common/behavioural_analysis/twitter_view.py @@ -3,7 +3,7 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List +from typing import List, Optional import matplotlib.pyplot as plt import numpy as np @@ -11,14 +11,14 @@ import pandas as pd from dateutil import parser as dparse import openbb_terminal.config_plot as cfg_plot -from openbb_terminal.config_terminal import theme from openbb_terminal.common.behavioural_analysis import twitter_model +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, get_closing_price, is_valid_axes_count, + plot_autoscale, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/common/common_model.py b/openbb_terminal/common/common_model.py index c5a77390003..47fb214f1f0 100644 --- a/openbb_terminal/common/common_model.py +++ b/openbb_terminal/common/common_model.py @@ -3,12 +3,12 @@ __docformat__ = "numpy" import logging from pathlib import Path -from typing import Dict, Any, Optional +from typing import Any, Dict, Optional import pandas as pd import statsmodels.api as sm -from pandas import errors from linearmodels.datasets import wage_panel +from pandas import errors from openbb_terminal.decorators import log_start_end from openbb_terminal.rich_config import console diff --git a/openbb_terminal/common/feedparser_model.py b/openbb_terminal/common/feedparser_model.py index 92a55c83117..22de3d514af 100644 --- a/openbb_terminal/common/feedparser_model.py +++ b/openbb_terminal/common/feedparser_model.py @@ -4,9 +4,11 @@ __docformat__ = "numpy" import os from typing import List from urllib.parse import quote + import certifi import feedparser import pandas as pd + from openbb_terminal.rich_config import console diff --git a/openbb_terminal/common/feedparser_view.py b/openbb_terminal/common/feedparser_view.py index fcafa0c0042..5343fba8f0f 100644 --- a/openbb_terminal/common/feedparser_view.py +++ b/openbb_terminal/common/feedparser_view.py @@ -4,10 +4,10 @@ __docformat__ = "numpy" import logging import os +from openbb_terminal.common import feedparser_model from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import export_data from openbb_terminal.rich_config import console -from openbb_terminal.common import feedparser_model logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/newsapi_model.py b/openbb_terminal/common/newsapi_model.py index e239e45dabc..826ffb9d766 100644 --- a/openbb_terminal/common/newsapi_model.py +++ b/openbb_terminal/common/newsapi_model.py @@ -2,14 +2,15 @@ __docformat__ = "numpy" import logging - from datetime import datetime, timedelta from typing import Any, List, Optional, Tuple + import pandas as pd + from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import check_api_key, log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/newsapi_view.py b/openbb_terminal/common/newsapi_view.py index 5a939be385d..893f4e3bf8e 100644 --- a/openbb_terminal/common/newsapi_view.py +++ b/openbb_terminal/common/newsapi_view.py @@ -1,17 +1,15 @@ """ News View """ __docformat__ = "numpy" -import os import logging +import os from typing import Optional import pandas as pd -from openbb_terminal.decorators import check_api_key from openbb_terminal.common import newsapi_model -from openbb_terminal.decorators import log_start_end -from openbb_terminal.helper_funcs import export_data -from openbb_terminal.helper_funcs import print_rich_table +from openbb_terminal.decorators import check_api_key, log_start_end +from openbb_terminal.helper_funcs import export_data, print_rich_table logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/quantitative_analysis/qa_model.py b/openbb_terminal/common/quantitative_analysis/qa_model.py index 38310f6b77c..cf3824359d3 100644 --- a/openbb_terminal/common/quantitative_analysis/qa_model.py +++ b/openbb_terminal/common/quantitative_analysis/qa_model.py @@ -4,13 +4,14 @@ __docformat__ = "numpy" import logging import warnings from typing import Tuple, Union + +import numpy as np import pandas as pd import statsmodels.api as sm +from scipy import stats from statsmodels.tools.sm_exceptions import MissingDataError from statsmodels.tsa.seasonal import DecomposeResult, seasonal_decompose from statsmodels.tsa.stattools import adfuller, kpss -from scipy import stats -import numpy as np from openbb_terminal.decorators import log_start_end diff --git a/openbb_terminal/common/quantitative_analysis/qa_view.py b/openbb_terminal/common/quantitative_analysis/qa_view.py index 67512911c02..dd6830cae29 100644 --- a/openbb_terminal/common/quantitative_analysis/qa_view.py +++ b/openbb_terminal/common/quantitative_analysis/qa_view.py @@ -8,32 +8,32 @@ import logging import os import warnings from datetime import datetime -from typing import Any, Optional, List +from typing import Any, List, Optional import matplotlib +import matplotlib.dates as mdates import matplotlib.patches as mpatches import matplotlib.pyplot as plt -import matplotlib.dates as mdates import numpy as np import pandas as pd import seaborn as sns import statsmodels.api as sm -from scipy import stats from detecta import detect_cusum -from statsmodels.graphics.gofplots import qqplot from pandas.plotting import register_matplotlib_converters +from scipy import stats +from statsmodels.graphics.gofplots import qqplot -from openbb_terminal.config_terminal import theme from openbb_terminal.common.quantitative_analysis import qa_model from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, + lambda_long_number_format, plot_autoscale, print_rich_table, reindex_dates, - lambda_long_number_format, - is_valid_axes_count, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/common/quantitative_analysis/rolling_view.py b/openbb_terminal/common/quantitative_analysis/rolling_view.py index 5d89861eaf0..ce84c02ce5a 100644 --- a/openbb_terminal/common/quantitative_analysis/rolling_view.py +++ b/openbb_terminal/common/quantitative_analysis/rolling_view.py @@ -3,20 +3,20 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List +from typing import List, Optional import matplotlib.pyplot as plt import pandas as pd -from openbb_terminal.config_terminal import theme from openbb_terminal.common.quantitative_analysis import rolling_model from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, reindex_dates, - is_valid_axes_count, ) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/technical_analysis/custom_indicators_model.py b/openbb_terminal/common/technical_analysis/custom_indicators_model.py index 3d8afa19535..911fecbc463 100644 --- a/openbb_terminal/common/technical_analysis/custom_indicators_model.py +++ b/openbb_terminal/common/technical_analysis/custom_indicators_model.py @@ -6,9 +6,9 @@ from typing import Any, Tuple import pandas as pd +from openbb_terminal.common.technical_analysis import ta_helpers from openbb_terminal.decorators import log_start_end from openbb_terminal.rich_config import console -from openbb_terminal.common.technical_analysis import ta_helpers logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/technical_analysis/custom_indicators_view.py b/openbb_terminal/common/technical_analysis/custom_indicators_view.py index 50de4540962..da3be043bf3 100644 --- a/openbb_terminal/common/technical_analysis/custom_indicators_view.py +++ b/openbb_terminal/common/technical_analysis/custom_indicators_view.py @@ -3,24 +3,26 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, Union, List +from typing import List, Optional, Union import matplotlib.pyplot as plt import pandas as pd -from openbb_terminal.config_terminal import theme -from openbb_terminal.common.technical_analysis import custom_indicators_model +from openbb_terminal.common.technical_analysis import ( + custom_indicators_model, + ta_helpers, +) from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_intraday, + is_valid_axes_count, plot_autoscale, print_rich_table, reindex_dates, - is_intraday, - is_valid_axes_count, ) -from openbb_terminal.common.technical_analysis import ta_helpers logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/technical_analysis/momentum_model.py b/openbb_terminal/common/technical_analysis/momentum_model.py index 0b8992982c1..970be53513e 100644 --- a/openbb_terminal/common/technical_analysis/momentum_model.py +++ b/openbb_terminal/common/technical_analysis/momentum_model.py @@ -9,8 +9,8 @@ import pandas as pd import pandas_ta as ta from sklearn.linear_model import LinearRegression -from openbb_terminal.decorators import log_start_end from openbb_terminal.common.technical_analysis import ta_helpers +from openbb_terminal.decorators import log_start_end from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/technical_analysis/momentum_view.py b/openbb_terminal/common/technical_analysis/momentum_view.py index 6e8e3d3b700..e9854f61f04 100644 --- a/openbb_terminal/common/technical_analysis/momentum_view.py +++ b/openbb_terminal/common/technical_analysis/momentum_view.py @@ -3,27 +3,26 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List +from typing import List, Optional import matplotlib.pyplot as plt +import mplfinance as mpf import numpy as np import pandas as pd from pandas.plotting import register_matplotlib_converters -import mplfinance as mpf -from openbb_terminal.config_terminal import theme -from openbb_terminal.common.technical_analysis import momentum_model +from openbb_terminal.common.technical_analysis import momentum_model, ta_helpers from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, - reindex_dates, is_valid_axes_count, + plot_autoscale, print_rich_table, + reindex_dates, ) from openbb_terminal.rich_config import console -from openbb_terminal.common.technical_analysis import ta_helpers logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/technical_analysis/overlap_view.py b/openbb_terminal/common/technical_analysis/overlap_view.py index f21eb8a491d..98b0264e8f7 100644 --- a/openbb_terminal/common/technical_analysis/overlap_view.py +++ b/openbb_terminal/common/technical_analysis/overlap_view.py @@ -10,16 +10,16 @@ import mplfinance as mpf import pandas as pd from pandas.plotting import register_matplotlib_converters -from openbb_terminal.config_terminal import theme from openbb_terminal.common.technical_analysis import overlap_model from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, + lambda_long_number_format_y_axis, plot_autoscale, reindex_dates, - lambda_long_number_format_y_axis, - is_valid_axes_count, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/common/technical_analysis/ta_helpers.py b/openbb_terminal/common/technical_analysis/ta_helpers.py index 97177ff407d..e6cd9ce1d30 100644 --- a/openbb_terminal/common/technical_analysis/ta_helpers.py +++ b/openbb_terminal/common/technical_analysis/ta_helpers.py @@ -1,5 +1,5 @@ -from typing import Optional import logging +from typing import Optional import pandas as pd diff --git a/openbb_terminal/common/technical_analysis/trend_indicators_model.py b/openbb_terminal/common/technical_analysis/trend_indicators_model.py index 38d7eb77964..a69628cc174 100644 --- a/openbb_terminal/common/technical_analysis/trend_indicators_model.py +++ b/openbb_terminal/common/technical_analysis/trend_indicators_model.py @@ -6,8 +6,8 @@ import logging import pandas as pd import pandas_ta as ta -from openbb_terminal.decorators import log_start_end from openbb_terminal.common.technical_analysis import ta_helpers +from openbb_terminal.decorators import log_start_end logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/technical_analysis/trend_indicators_view.py b/openbb_terminal/common/technical_analysis/trend_indicators_view.py index 4bd96809151..062ad619fd3 100644 --- a/openbb_terminal/common/technical_analysis/trend_indicators_view.py +++ b/openbb_terminal/common/technical_analysis/trend_indicators_view.py @@ -3,23 +3,22 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List +from typing import List, Optional import matplotlib.pyplot as plt import pandas as pd from pandas.plotting import register_matplotlib_converters -from openbb_terminal.config_terminal import theme -from openbb_terminal.common.technical_analysis import trend_indicators_model +from openbb_terminal.common.technical_analysis import ta_helpers, trend_indicators_model from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, reindex_dates, - is_valid_axes_count, ) -from openbb_terminal.common.technical_analysis import ta_helpers logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/technical_analysis/volatility_model.py b/openbb_terminal/common/technical_analysis/volatility_model.py index b894ba4619d..59c4a604477 100644 --- a/openbb_terminal/common/technical_analysis/volatility_model.py +++ b/openbb_terminal/common/technical_analysis/volatility_model.py @@ -6,8 +6,8 @@ import logging import pandas as pd import pandas_ta as ta -from openbb_terminal.decorators import log_start_end from openbb_terminal.common.technical_analysis import ta_helpers +from openbb_terminal.decorators import log_start_end logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/technical_analysis/volatility_view.py b/openbb_terminal/common/technical_analysis/volatility_view.py index 6f9cd1d1945..77f41fcc53a 100644 --- a/openbb_terminal/common/technical_analysis/volatility_view.py +++ b/openbb_terminal/common/technical_analysis/volatility_view.py @@ -3,22 +3,21 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List +from typing import List, Optional import matplotlib.pyplot as plt import pandas as pd -from openbb_terminal.config_terminal import theme -from openbb_terminal.common.technical_analysis import volatility_model +from openbb_terminal.common.technical_analysis import ta_helpers, volatility_model from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, reindex_dates, - is_valid_axes_count, ) -from openbb_terminal.common.technical_analysis import ta_helpers logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/technical_analysis/volume_model.py b/openbb_terminal/common/technical_analysis/volume_model.py index 47b4fcd6fae..9be3b04a101 100644 --- a/openbb_terminal/common/technical_analysis/volume_model.py +++ b/openbb_terminal/common/technical_analysis/volume_model.py @@ -6,8 +6,8 @@ import logging import pandas as pd import pandas_ta as ta -from openbb_terminal.decorators import log_start_end from openbb_terminal.common.technical_analysis import ta_helpers +from openbb_terminal.decorators import log_start_end from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/common/technical_analysis/volume_view.py b/openbb_terminal/common/technical_analysis/volume_view.py index 347e0d3f80b..2616c05a590 100644 --- a/openbb_terminal/common/technical_analysis/volume_view.py +++ b/openbb_terminal/common/technical_analysis/volume_view.py @@ -3,23 +3,22 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List +from typing import List, Optional import matplotlib.pyplot as plt import pandas as pd -from openbb_terminal.config_terminal import theme -from openbb_terminal.common.technical_analysis import volume_model +from openbb_terminal.common.technical_analysis import ta_helpers, volume_model from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, reindex_dates, - is_valid_axes_count, ) from openbb_terminal.rich_config import console -from openbb_terminal.common.technical_analysis import ta_helpers logger = logging.getLogger(__name__) diff --git a/openbb_terminal/core/completer/choices.py b/openbb_terminal/core/completer/choices.py index db787fceb71..ba9ffbed834 100644 --- a/openbb_terminal/core/completer/choices.py +++ b/openbb_terminal/core/completer/choices.py @@ -5,6 +5,7 @@ from os import environ from types import MethodType from typing import Callable, List from unittest.mock import patch + from openbb_terminal.helper_funcs import check_file_type_saved, check_positive from openbb_terminal.rich_config import get_ordered_list_sources diff --git a/openbb_terminal/core/config/paths.py b/openbb_terminal/core/config/paths.py index a710d05e476..6be0c0d4df5 100644 --- a/openbb_terminal/core/config/paths.py +++ b/openbb_terminal/core/config/paths.py @@ -1,6 +1,7 @@ # IMPORTATION STANDARD -from pathlib import Path import os +from pathlib import Path + from dotenv import load_dotenv diff --git a/openbb_terminal/core/config/paths_helper.py b/openbb_terminal/core/config/paths_helper.py index 0e780d8fca0..20226a3b3f7 100644 --- a/openbb_terminal/core/config/paths_helper.py +++ b/openbb_terminal/core/config/paths_helper.py @@ -2,16 +2,16 @@ from typing import List from openbb_terminal.core.config.paths import ( - SETTINGS_DIRECTORY, - USER_DATA_DIRECTORY, - USER_ENV_FILE, REPOSITORY_ENV_FILE, + SETTINGS_DIRECTORY, USER_CUSTOM_IMPORTS_DIRECTORY, + USER_DATA_DIRECTORY, + USER_DATA_SOURCES_DEFAULT_FILE, + USER_ENV_FILE, USER_EXPORTS_DIRECTORY, USER_PORTFOLIO_DATA_DIRECTORY, USER_PRESETS_DIRECTORY, USER_ROUTINES_DIRECTORY, - USER_DATA_SOURCES_DEFAULT_FILE, ) # pylint: disable=W0603 diff --git a/openbb_terminal/core/library/breadcrumb.py b/openbb_terminal/core/library/breadcrumb.py index 2f263b2e2ef..42008ea1df1 100644 --- a/openbb_terminal/core/library/breadcrumb.py +++ b/openbb_terminal/core/library/breadcrumb.py @@ -1,11 +1,10 @@ -from typing import Any, Optional, List +from typing import Any, List, Optional + import openbb_terminal.config_terminal as cfg - -from openbb_terminal.core.library.metadata import Metadata -from openbb_terminal.core.library.trail_map import TrailMap -from openbb_terminal.core.library.operation import Operation - from openbb_terminal import feature_flags as obbff +from openbb_terminal.core.library.metadata import Metadata +from openbb_terminal.core.library.operation import Operation +from openbb_terminal.core.library.trail_map import TrailMap # pylint: disable=import-outside-toplevel @@ -159,10 +158,10 @@ class BreadcrumbLogger: @staticmethod def __initialize_logging() -> None: - from openbb_terminal.loggers import setup_logging # pylint: disable=C0415 from openbb_terminal.core.log.generation.settings_logger import ( # pylint: disable=C0415 log_all_settings, ) + from openbb_terminal.loggers import setup_logging # pylint: disable=C0415 cfg.LOGGING_SUB_APP = "sdk" setup_logging() diff --git a/openbb_terminal/core/library/operation.py b/openbb_terminal/core/library/operation.py index 5ed89aa5c15..9dc2d664740 100644 --- a/openbb_terminal/core/library/operation.py +++ b/openbb_terminal/core/library/operation.py @@ -1,12 +1,10 @@ import json from importlib import import_module -from logging import getLogger, Logger +from inspect import signature +from logging import Logger, getLogger from typing import Any, Callable, Dict, List, Optional -from inspect import signature - import openbb_terminal.config_terminal as cfg - from openbb_terminal.core.library.metadata import Metadata from openbb_terminal.core.library.trail_map import TrailMap diff --git a/openbb_terminal/core/library/trail_map.py b/openbb_terminal/core/library/trail_map.py index 7d657b6988a..05f48d950e9 100644 --- a/openbb_terminal/core/library/trail_map.py +++ b/openbb_terminal/core/library/trail_map.py @@ -8,7 +8,6 @@ from openbb_terminal.base_helpers import load_env_vars, strtobool from openbb_terminal.core.config.paths import MISCELLANEOUS_DIRECTORY, USER_ENV_FILE from openbb_terminal.rich_config import console - DISABLE_FORECASTING_WARNING = load_env_vars( "OPENBB_DISABLE_FORECASTING_WARNING", strtobool, False ) diff --git a/openbb_terminal/core/log/collection/log_sender.py b/openbb_terminal/core/log/collection/log_sender.py index a42a53f5e8a..fe2fdbf162b 100644 --- a/openbb_terminal/core/log/collection/log_sender.py +++ b/openbb_terminal/core/log/collection/log_sender.py @@ -1,21 +1,21 @@ # IMPORTATION STANDARD from copy import deepcopy -from threading import Thread -from queue import SimpleQueue from pathlib import Path +from queue import SimpleQueue +from threading import Thread -# IMPORTATION THIRDPARTY - -# IMPORTATION INTERNAL -from openbb_terminal.feature_flags import LOG_COLLECTION +from openbb_terminal.core.log.collection.s3_sender import send_to_s3 from openbb_terminal.core.log.constants import ( ARCHIVES_FOLDER_NAME, S3_FOLDER_SUFFIX, TMP_FOLDER_NAME, ) -from openbb_terminal.core.log.collection.s3_sender import send_to_s3 from openbb_terminal.core.log.generation.settings import Settings +# IMPORTATION THIRDPARTY +# IMPORTATION INTERNAL +from openbb_terminal.feature_flags import LOG_COLLECTION + # DO NOT USE THE FILE LOGGER IN THIS MODULE diff --git a/openbb_terminal/core/log/generation/directories.py b/openbb_terminal/core/log/generation/directories.py index 2fc8cb6a16d..bf7de8b132d 100644 --- a/openbb_terminal/core/log/generation/directories.py +++ b/openbb_terminal/core/log/generation/directories.py @@ -2,6 +2,7 @@ import os import uuid from pathlib import Path + from openbb_terminal.core.config.paths import USER_DATA_DIRECTORY # IMPORTATION THIRDPARTY diff --git a/openbb_terminal/core/log/generation/expired_files.py b/openbb_terminal/core/log/generation/expired_files.py index 5e0202f24b4..c6cc71609e5 100644 --- a/openbb_terminal/core/log/generation/expired_files.py +++ b/openbb_terminal/core/log/generation/expired_files.py @@ -3,7 +3,6 @@ from datetime import datetime from pathlib import Path from typing import List - # IMPORTATION THIRDPARTY # IMPORTATION INTERNAL diff --git a/openbb_terminal/core/log/generation/formatter_with_exceptions.py b/openbb_terminal/core/log/generation/formatter_with_exceptions.py index 58a39f1639b..1c2dcc47ca4 100644 --- a/openbb_terminal/core/log/generation/formatter_with_exceptions.py +++ b/openbb_terminal/core/log/generation/formatter_with_exceptions.py @@ -3,7 +3,6 @@ import logging import re # IMPORTATION THIRDPARTY - # IMPORTATION INTERNAL from openbb_terminal.core.config.paths import HOME_DIRECTORY from openbb_terminal.core.log.generation.settings import AppSettings diff --git a/openbb_terminal/core/log/generation/path_tracking_file_handler.py b/openbb_terminal/core/log/generation/path_tracking_file_handler.py index 420b76c4d98..953e9060404 100644 --- a/openbb_terminal/core/log/generation/path_tracking_file_handler.py +++ b/openbb_terminal/core/log/generation/path_tracking_file_handler.py @@ -4,19 +4,18 @@ from logging.handlers import TimedRotatingFileHandler from pathlib import Path from typing import Callable -# IMPORTATION THIRDPARTY - -# IMPORTATION INTERNAL -from openbb_terminal.core.log.constants import ARCHIVES_FOLDER_NAME, TMP_FOLDER_NAME from openbb_terminal.core.log.collection.log_sender import LogSender from openbb_terminal.core.log.collection.logging_clock import LoggingClock, Precision + +# IMPORTATION THIRDPARTY +# IMPORTATION INTERNAL +from openbb_terminal.core.log.constants import ARCHIVES_FOLDER_NAME, TMP_FOLDER_NAME from openbb_terminal.core.log.generation.directories import get_log_dir, get_log_sub_dir from openbb_terminal.core.log.generation.expired_files import ( get_expired_file_list, get_timestamp_from_x_days, remove_file_list, ) - from openbb_terminal.core.log.generation.settings import Settings diff --git a/openbb_terminal/core/log/generation/settings_logger.py b/openbb_terminal/core/log/generation/settings_logger.py index 8f61c84304a..394cf24e488 100644 --- a/openbb_terminal/core/log/generation/settings_logger.py +++ b/openbb_terminal/core/log/generation/settings_logger.py @@ -1,20 +1,17 @@ # IMPORTATION STANDARD -import platform import json import logging +import platform from types import FunctionType, ModuleType # IMPORTATION THIRDPARTY - - # IMPORTATION INTERNAL import openbb_terminal.feature_flags as obbff from openbb_terminal import config_terminal as cfg -from openbb_terminal.terminal_helper import is_packaged_application from openbb_terminal.core.log.generation.path_tracking_file_handler import ( PathTrackingFileHandler, ) - +from openbb_terminal.terminal_helper import is_packaged_application SENSITIVE_WORDS = [ "API", diff --git a/openbb_terminal/core/scripts/sdk_audit.py b/openbb_terminal/core/scripts/sdk_audit.py index 573748b1160..24e50756422 100644 --- a/openbb_terminal/core/scripts/sdk_audit.py +++ b/openbb_terminal/core/scripts/sdk_audit.py @@ -1,9 +1,10 @@ -from inspect import getmembers, isfunction -from typing import List, Callable, Tuple -from datetime import datetime import importlib.util -from pathlib import Path import os +from datetime import datetime +from inspect import getmembers, isfunction +from pathlib import Path +from typing import Callable, List, Tuple + import pandas as pd try: diff --git a/openbb_terminal/cryptocurrency/coinpaprika_helpers.py b/openbb_terminal/cryptocurrency/coinpaprika_helpers.py index 2d15b9de036..b4c9b871926 100644 --- a/openbb_terminal/cryptocurrency/coinpaprika_helpers.py +++ b/openbb_terminal/cryptocurrency/coinpaprika_helpers.py @@ -2,6 +2,7 @@ __docformat__ = "numpy" from typing import Any, Optional + import requests from requests.adapters import HTTPAdapter diff --git a/openbb_terminal/cryptocurrency/crypto_controller.py b/openbb_terminal/cryptocurrency/crypto_controller.py index 8b9d5f35a99..7d77471c1ff 100644 --- a/openbb_terminal/cryptocurrency/crypto_controller.py +++ b/openbb_terminal/cryptocurrency/crypto_controller.py @@ -6,21 +6,21 @@ import argparse import logging import os from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter -from openbb_terminal.cryptocurrency import cryptocurrency_helpers, pyth_model, pyth_view from openbb_terminal import feature_flags as obbff +from openbb_terminal.cryptocurrency import cryptocurrency_helpers, pyth_model, pyth_view +from openbb_terminal.cryptocurrency.crypto_views import find from openbb_terminal.cryptocurrency.cryptocurrency_helpers import ( display_all_coins, plot_chart, ) -from openbb_terminal.cryptocurrency.crypto_views import find from openbb_terminal.cryptocurrency.due_diligence import ( binance_view, coinpaprika_view, finbrain_crypto_view, pycoingecko_view, ) +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, @@ -30,7 +30,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import CryptoBaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console # pylint: disable=import-outside-toplevel diff --git a/openbb_terminal/cryptocurrency/crypto_models.py b/openbb_terminal/cryptocurrency/crypto_models.py index ba481ca3dc5..f07e2646840 100644 --- a/openbb_terminal/cryptocurrency/crypto_models.py +++ b/openbb_terminal/cryptocurrency/crypto_models.py @@ -1,4 +1,5 @@ import difflib + import pandas as pd from openbb_terminal.rich_config import console @@ -106,12 +107,12 @@ def _find_CoinPaprika(key: str, query: str, limit: int) -> pd.DataFrame: def _find_Binance(key: str, query: str, limit: int) -> pd.DataFrame: # pylint: disable=C0415 - from openbb_terminal.cryptocurrency.discovery.pycoingecko_model import ( - get_coin_list, - ) from openbb_terminal.cryptocurrency.cryptocurrency_helpers import ( load_binance_map, ) + from openbb_terminal.cryptocurrency.discovery.pycoingecko_model import ( + get_coin_list, + ) # TODO: Fix it in future. Determine if user looks for symbol like ETH or ethereum if len(query) > 5: @@ -132,12 +133,12 @@ def _find_Binance(key: str, query: str, limit: int) -> pd.DataFrame: def _find_Coinbase(key: str, query: str, limit: int) -> pd.DataFrame: # pylint: disable=C0415 - from openbb_terminal.cryptocurrency.discovery.pycoingecko_model import ( - get_coin_list, - ) from openbb_terminal.cryptocurrency.cryptocurrency_helpers import ( load_coinbase_map, ) + from openbb_terminal.cryptocurrency.discovery.pycoingecko_model import ( + get_coin_list, + ) if len(query) > 5: key = "id" diff --git a/openbb_terminal/cryptocurrency/crypto_views.py b/openbb_terminal/cryptocurrency/crypto_views.py index 80ced4dc669..d15d2803b64 100644 --- a/openbb_terminal/cryptocurrency/crypto_views.py +++ b/openbb_terminal/cryptocurrency/crypto_views.py @@ -1,7 +1,7 @@ import os -from openbb_terminal.helper_funcs import print_rich_table, export_data from openbb_terminal.cryptocurrency import crypto_models +from openbb_terminal.helper_funcs import export_data, print_rich_table def find( diff --git a/openbb_terminal/cryptocurrency/cryptocurrency_helpers.py b/openbb_terminal/cryptocurrency/cryptocurrency_helpers.py index cb9968156c5..a8aee527798 100644 --- a/openbb_terminal/cryptocurrency/cryptocurrency_helpers.py +++ b/openbb_terminal/cryptocurrency/cryptocurrency_helpers.py @@ -4,9 +4,9 @@ import difflib import json import logging -from typing import Union, Optional, List import os from datetime import datetime, timedelta +from typing import List, Optional, Union import ccxt import matplotlib.pyplot as plt diff --git a/openbb_terminal/cryptocurrency/dataframe_helpers.py b/openbb_terminal/cryptocurrency/dataframe_helpers.py index 5510173e3d7..0d5abdb64be 100644 --- a/openbb_terminal/cryptocurrency/dataframe_helpers.py +++ b/openbb_terminal/cryptocurrency/dataframe_helpers.py @@ -3,9 +3,11 @@ __docformat__ = "numpy" import math import re -from typing import Union, Any, Optional import textwrap +from typing import Any, Optional, Union + import pandas as pd + from openbb_terminal.helper_funcs import lambda_long_number_format diff --git a/openbb_terminal/cryptocurrency/defi/coindix_model.py b/openbb_terminal/cryptocurrency/defi/coindix_model.py index 17bdee0b63a..8de8e3d2b71 100644 --- a/openbb_terminal/cryptocurrency/defi/coindix_model.py +++ b/openbb_terminal/cryptocurrency/defi/coindix_model.py @@ -4,8 +4,9 @@ __docformat__ = "numpy" import logging from typing import Optional -import urllib3 import pandas as pd +import urllib3 + from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( get_user_agent, @@ -13,7 +14,6 @@ from openbb_terminal.helper_funcs import ( request, ) - urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/defi/cryptosaurio_model.py b/openbb_terminal/cryptocurrency/defi/cryptosaurio_model.py index 47f9033de26..1d921181ab9 100644 --- a/openbb_terminal/cryptocurrency/defi/cryptosaurio_model.py +++ b/openbb_terminal/cryptocurrency/defi/cryptosaurio_model.py @@ -3,9 +3,11 @@ __docformat__ = "numpy" import logging from typing import Tuple + import pandas as pd -from openbb_terminal.helper_funcs import request + from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import request logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/defi/cryptosaurio_view.py b/openbb_terminal/cryptocurrency/defi/cryptosaurio_view.py index 72829006546..2be97026975 100644 --- a/openbb_terminal/cryptocurrency/defi/cryptosaurio_view.py +++ b/openbb_terminal/cryptocurrency/defi/cryptosaurio_view.py @@ -4,20 +4,21 @@ __docformat__ = "numpy" import logging import os from typing import List, Optional + import matplotlib.pyplot as plt + from openbb_terminal import config_terminal as cfg from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.cryptocurrency.defi import cryptosaurio_model from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console - logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/defi/defi_controller.py b/openbb_terminal/cryptocurrency/defi/defi_controller.py index 51a55475c28..56b6244dd9d 100644 --- a/openbb_terminal/cryptocurrency/defi/defi_controller.py +++ b/openbb_terminal/cryptocurrency/defi/defi_controller.py @@ -7,8 +7,6 @@ import argparse import logging from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff from openbb_terminal.cryptocurrency.defi import ( coindix_model, @@ -18,11 +16,12 @@ from openbb_terminal.cryptocurrency.defi import ( graph_view, llama_model, llama_view, + smartstake_view, substack_view, terramoney_fcd_model, terramoney_fcd_view, - smartstake_view, ) +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, @@ -32,7 +31,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/defi/graph_model.py b/openbb_terminal/cryptocurrency/defi/graph_model.py index 4ff662d6e4c..f839430d505 100644 --- a/openbb_terminal/cryptocurrency/defi/graph_model.py +++ b/openbb_terminal/cryptocurrency/defi/graph_model.py @@ -10,8 +10,8 @@ from openbb_terminal.cryptocurrency.dataframe_helpers import ( lambda_very_long_number_formatter, ) from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console # pylint: disable=unsupported-assignment-operation diff --git a/openbb_terminal/cryptocurrency/defi/llama_model.py b/openbb_terminal/cryptocurrency/defi/llama_model.py index cc991461d3d..093a71b6896 100644 --- a/openbb_terminal/cryptocurrency/defi/llama_model.py +++ b/openbb_terminal/cryptocurrency/defi/llama_model.py @@ -8,12 +8,11 @@ from datetime import datetime import numpy as np import pandas as pd -from openbb_terminal.helper_funcs import request -from openbb_terminal.decorators import log_start_end -from openbb_terminal.helper_funcs import lambda_long_number_format from openbb_terminal.cryptocurrency.dataframe_helpers import ( lambda_replace_underscores_in_column_names, ) +from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import lambda_long_number_format, request logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/defi/llama_view.py b/openbb_terminal/cryptocurrency/defi/llama_view.py index 842ecfbc47c..9354e518baf 100644 --- a/openbb_terminal/cryptocurrency/defi/llama_view.py +++ b/openbb_terminal/cryptocurrency/defi/llama_view.py @@ -15,10 +15,10 @@ from openbb_terminal.cryptocurrency.defi import llama_model from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, lambda_long_number_format, plot_autoscale, print_rich_table, - is_valid_axes_count, ) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/defi/smartstake_model.py b/openbb_terminal/cryptocurrency/defi/smartstake_model.py index 583acf79ef9..2fb517c9c69 100644 --- a/openbb_terminal/cryptocurrency/defi/smartstake_model.py +++ b/openbb_terminal/cryptocurrency/defi/smartstake_model.py @@ -1,13 +1,14 @@ """SmartStake Model""" __docformat__ = "numpy" -from typing import Union, Dict +from typing import Dict, Union + import pandas as pd -from openbb_terminal.decorators import check_api_key from openbb_terminal import config_terminal as cfg -from openbb_terminal.rich_config import console +from openbb_terminal.decorators import check_api_key from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console @check_api_key(["API_SMARTSTAKE_KEY", "API_SMARTSTAKE_TOKEN"]) diff --git a/openbb_terminal/cryptocurrency/defi/smartstake_view.py b/openbb_terminal/cryptocurrency/defi/smartstake_view.py index 73884822726..142bd48277e 100644 --- a/openbb_terminal/cryptocurrency/defi/smartstake_view.py +++ b/openbb_terminal/cryptocurrency/defi/smartstake_view.py @@ -1,24 +1,22 @@ """SentimentInvestor View""" __docformat__ = "numpy" -import os import logging -from typing import Optional, List +import os +from typing import List, Optional from matplotlib import pyplot as plt -from openbb_terminal.decorators import check_api_key +from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.cryptocurrency.defi import smartstake_model +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) -from openbb_terminal.config_terminal import theme -from openbb_terminal.config_plot import PLOT_DPI -from openbb_terminal.decorators import log_start_end - # pylint: disable=E1101 diff --git a/openbb_terminal/cryptocurrency/defi/substack_model.py b/openbb_terminal/cryptocurrency/defi/substack_model.py index 893c012a965..a19d569eda1 100644 --- a/openbb_terminal/cryptocurrency/defi/substack_model.py +++ b/openbb_terminal/cryptocurrency/defi/substack_model.py @@ -11,8 +11,8 @@ from bs4 import BeautifulSoup from dateutil import parser from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/defi/terraengineer_view.py b/openbb_terminal/cryptocurrency/defi/terraengineer_view.py index 262f99c1f1e..447a9e633e7 100644 --- a/openbb_terminal/cryptocurrency/defi/terraengineer_view.py +++ b/openbb_terminal/cryptocurrency/defi/terraengineer_view.py @@ -5,7 +5,6 @@ import logging import os from typing import List, Optional - import matplotlib.pyplot as plt from matplotlib import ticker @@ -15,13 +14,12 @@ from openbb_terminal.cryptocurrency.defi import terraengineer_model from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, lambda_long_number_format, plot_autoscale, - is_valid_axes_count, ) from openbb_terminal.rich_config import console - logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/defi/terramoney_fcd_model.py b/openbb_terminal/cryptocurrency/defi/terramoney_fcd_model.py index 42e4f919ded..7dcd28306e6 100644 --- a/openbb_terminal/cryptocurrency/defi/terramoney_fcd_model.py +++ b/openbb_terminal/cryptocurrency/defi/terramoney_fcd_model.py @@ -4,18 +4,18 @@ __docformat__ = "numpy" import logging import textwrap from datetime import datetime -from typing import Any, Tuple, Dict +from typing import Any, Dict, Tuple import pandas as pd from openbb_terminal.cryptocurrency.dataframe_helpers import ( denominate_number, - prettify_column_names, lambda_replace_unicode, + prettify_column_names, ) from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/defi/terramoney_fcd_view.py b/openbb_terminal/cryptocurrency/defi/terramoney_fcd_view.py index bac380d14d6..3d56552fbe6 100644 --- a/openbb_terminal/cryptocurrency/defi/terramoney_fcd_view.py +++ b/openbb_terminal/cryptocurrency/defi/terramoney_fcd_view.py @@ -11,17 +11,17 @@ from matplotlib import ticker from openbb_terminal import config_terminal as cfg from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.cryptocurrency.dataframe_helpers import ( - prettify_column_names, lambda_very_long_number_formatter, + prettify_column_names, ) from openbb_terminal.cryptocurrency.defi import terramoney_fcd_model from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, lambda_long_number_format, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/cryptocurrency/discovery/coinmarketcap_model.py b/openbb_terminal/cryptocurrency/discovery/coinmarketcap_model.py index 2510249e806..84979206937 100644 --- a/openbb_terminal/cryptocurrency/discovery/coinmarketcap_model.py +++ b/openbb_terminal/cryptocurrency/discovery/coinmarketcap_model.py @@ -7,7 +7,7 @@ import pandas as pd from coinmarketcapapi import CoinMarketCapAPI, CoinMarketCapAPIError import openbb_terminal.config_terminal as cfg -from openbb_terminal.decorators import log_start_end, check_api_key +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/discovery/coinmarketcap_view.py b/openbb_terminal/cryptocurrency/discovery/coinmarketcap_view.py index 3818bf09873..240de352ae6 100644 --- a/openbb_terminal/cryptocurrency/discovery/coinmarketcap_view.py +++ b/openbb_terminal/cryptocurrency/discovery/coinmarketcap_view.py @@ -4,9 +4,8 @@ __docformat__ = "numpy" import logging import os -from openbb_terminal.decorators import check_api_key from openbb_terminal.cryptocurrency.discovery import coinmarketcap_model -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.rich_config import console diff --git a/openbb_terminal/cryptocurrency/discovery/dappradar_model.py b/openbb_terminal/cryptocurrency/discovery/dappradar_model.py index 0583933b874..8c990289610 100644 --- a/openbb_terminal/cryptocurrency/discovery/dappradar_model.py +++ b/openbb_terminal/cryptocurrency/discovery/dappradar_model.py @@ -2,8 +2,8 @@ __docformat__ = "numpy" # pylint: disable=C0301,E1137 -from typing import Optional import logging +from typing import Optional import pandas as pd diff --git a/openbb_terminal/cryptocurrency/discovery/dappradar_view.py b/openbb_terminal/cryptocurrency/discovery/dappradar_view.py index 0731dc5571e..0d846fc32ab 100644 --- a/openbb_terminal/cryptocurrency/discovery/dappradar_view.py +++ b/openbb_terminal/cryptocurrency/discovery/dappradar_view.py @@ -3,6 +3,7 @@ __docformat__ = "numpy" import logging import os + import numpy as np from openbb_terminal.cryptocurrency.dataframe_helpers import ( diff --git a/openbb_terminal/cryptocurrency/discovery/discovery_controller.py b/openbb_terminal/cryptocurrency/discovery/discovery_controller.py index d16699a170f..c23384d9dcc 100644 --- a/openbb_terminal/cryptocurrency/discovery/discovery_controller.py +++ b/openbb_terminal/cryptocurrency/discovery/discovery_controller.py @@ -6,9 +6,6 @@ import argparse import logging from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - - from openbb_terminal import feature_flags as obbff from openbb_terminal.cryptocurrency.discovery import ( coinmarketcap_model, @@ -20,6 +17,7 @@ from openbb_terminal.cryptocurrency.discovery import ( pycoingecko_model, pycoingecko_view, ) +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_ONLY_RAW_DATA_ALLOWED, @@ -27,7 +25,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText, get_ordered_list_sources +from openbb_terminal.rich_config import MenuText, console, get_ordered_list_sources logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/discovery/pycoingecko_model.py b/openbb_terminal/cryptocurrency/discovery/pycoingecko_model.py index 6f263173d38..e168194f85d 100644 --- a/openbb_terminal/cryptocurrency/discovery/pycoingecko_model.py +++ b/openbb_terminal/cryptocurrency/discovery/pycoingecko_model.py @@ -5,8 +5,10 @@ import json import logging import os from typing import List + import pandas as pd from pycoingecko import CoinGeckoAPI + from openbb_terminal.decorators import log_start_end logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/discovery/sdk_helpers.py b/openbb_terminal/cryptocurrency/discovery/sdk_helpers.py index bea27febdd7..11bd9958575 100644 --- a/openbb_terminal/cryptocurrency/discovery/sdk_helpers.py +++ b/openbb_terminal/cryptocurrency/discovery/sdk_helpers.py @@ -2,6 +2,7 @@ __docfromat__ = "numpy" import pandas as pd + from openbb_terminal.cryptocurrency.discovery import ( coinmarketcap_model, pycoingecko_model, diff --git a/openbb_terminal/cryptocurrency/due_diligence/binance_model.py b/openbb_terminal/cryptocurrency/due_diligence/binance_model.py index 816d77f3695..a38877c556b 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/binance_model.py +++ b/openbb_terminal/cryptocurrency/due_diligence/binance_model.py @@ -11,7 +11,7 @@ from binance.client import Client from binance.exceptions import BinanceAPIException import openbb_terminal.config_terminal as cfg -from openbb_terminal.decorators import log_start_end, check_api_key +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/due_diligence/ccxt_view.py b/openbb_terminal/cryptocurrency/due_diligence/ccxt_view.py index b2775e2f2f1..a5a1d964767 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/ccxt_view.py +++ b/openbb_terminal/cryptocurrency/due_diligence/ccxt_view.py @@ -5,8 +5,9 @@ import logging import os from typing import List, Optional -from matplotlib import pyplot as plt import numpy as np +from matplotlib import pyplot as plt + from openbb_terminal.cryptocurrency.cryptocurrency_helpers import plot_order_book from openbb_terminal.cryptocurrency.due_diligence import ccxt_model from openbb_terminal.decorators import log_start_end diff --git a/openbb_terminal/cryptocurrency/due_diligence/coinbase_view.py b/openbb_terminal/cryptocurrency/due_diligence/coinbase_view.py index 0678b648442..f21ff0cb17c 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/coinbase_view.py +++ b/openbb_terminal/cryptocurrency/due_diligence/coinbase_view.py @@ -3,11 +3,11 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List +from typing import List, Optional +import matplotlib.pyplot as plt import pandas as pd from pandas.plotting import register_matplotlib_converters -import matplotlib.pyplot as plt from openbb_terminal.cryptocurrency.cryptocurrency_helpers import plot_order_book from openbb_terminal.cryptocurrency.due_diligence import coinbase_model diff --git a/openbb_terminal/cryptocurrency/due_diligence/coinglass_view.py b/openbb_terminal/cryptocurrency/due_diligence/coinglass_view.py index 4b4cb1f558a..2e1cc32d25f 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/coinglass_view.py +++ b/openbb_terminal/cryptocurrency/due_diligence/coinglass_view.py @@ -6,20 +6,19 @@ import pandas as pd from matplotlib import pyplot as plt from matplotlib import ticker -from openbb_terminal.config_terminal import theme from openbb_terminal import config_plot as cfgPlot +from openbb_terminal.config_terminal import theme from openbb_terminal.cryptocurrency.due_diligence.coinglass_model import ( - get_liquidations, get_funding_rate, + get_liquidations, get_open_interest_per_exchange, ) -from openbb_terminal.decorators import check_api_key -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, lambda_long_number_format, plot_autoscale, - is_valid_axes_count, ) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/due_diligence/coinpaprika_model.py b/openbb_terminal/cryptocurrency/due_diligence/coinpaprika_model.py index 4b9209db925..1f45e4ba87c 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/coinpaprika_model.py +++ b/openbb_terminal/cryptocurrency/due_diligence/coinpaprika_model.py @@ -3,8 +3,8 @@ __docformat__ = "numpy" import logging import textwrap -from typing import Tuple, Optional from datetime import datetime, timedelta +from typing import Optional, Tuple import pandas as pd from dateutil import parser diff --git a/openbb_terminal/cryptocurrency/due_diligence/cryptopanic_view.py b/openbb_terminal/cryptocurrency/due_diligence/cryptopanic_view.py index cad94985de2..efdd4b988c6 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/cryptopanic_view.py +++ b/openbb_terminal/cryptocurrency/due_diligence/cryptopanic_view.py @@ -5,11 +5,10 @@ import logging import os from typing import Optional -from openbb_terminal.cryptocurrency.overview import cryptopanic_model -from openbb_terminal.decorators import log_start_end -from openbb_terminal.helper_funcs import export_data, print_rich_table -from openbb_terminal.decorators import check_api_key from openbb_terminal.cryptocurrency.dataframe_helpers import prettify_column_names +from openbb_terminal.cryptocurrency.overview import cryptopanic_model +from openbb_terminal.decorators import check_api_key, log_start_end +from openbb_terminal.helper_funcs import export_data, print_rich_table logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/due_diligence/dd_controller.py b/openbb_terminal/cryptocurrency/due_diligence/dd_controller.py index 0f34b70101d..d332762c9bd 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/dd_controller.py +++ b/openbb_terminal/cryptocurrency/due_diligence/dd_controller.py @@ -7,31 +7,30 @@ import logging from datetime import datetime, timedelta from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - -from openbb_terminal.cryptocurrency import cryptocurrency_helpers from openbb_terminal import feature_flags as obbff -from openbb_terminal.cryptocurrency.overview import cryptopanic_model -from openbb_terminal.cryptocurrency.due_diligence import tokenterminal_model +from openbb_terminal.cryptocurrency import cryptocurrency_helpers from openbb_terminal.cryptocurrency.due_diligence import ( binance_model, binance_view, ccxt_model, ccxt_view, + coinbase_model, coinbase_view, coinglass_model, - coinbase_model, coinglass_view, coinpaprika_view, + cryptopanic_view, glassnode_model, glassnode_view, - pycoingecko_view, messari_model, messari_view, + pycoingecko_view, santiment_view, - cryptopanic_view, + tokenterminal_model, tokenterminal_view, ) +from openbb_terminal.cryptocurrency.overview import cryptopanic_model +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, @@ -42,7 +41,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import CryptoBaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/due_diligence/finbrain_crypto_view.py b/openbb_terminal/cryptocurrency/due_diligence/finbrain_crypto_view.py index d28eca3bd65..bf0744365c1 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/finbrain_crypto_view.py +++ b/openbb_terminal/cryptocurrency/due_diligence/finbrain_crypto_view.py @@ -3,26 +3,26 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List +from typing import List, Optional import numpy as np import pandas as pd from matplotlib import pyplot as plt +from openbb_terminal import rich_config from openbb_terminal.common.behavioural_analysis.finbrain_model import get_sentiment from openbb_terminal.common.behavioural_analysis.finbrain_view import ( lambda_sentiment_coloring, ) +from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end -from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, is_valid_axes_count, + plot_autoscale, ) from openbb_terminal.rich_config import console -from openbb_terminal import rich_config logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/due_diligence/glassnode_model.py b/openbb_terminal/cryptocurrency/due_diligence/glassnode_model.py index 6434f9832b5..4aa4f097b39 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/glassnode_model.py +++ b/openbb_terminal/cryptocurrency/due_diligence/glassnode_model.py @@ -1,13 +1,14 @@ -from datetime import datetime, timedelta -import logging import json +import logging +from datetime import datetime, timedelta from typing import Optional import pandas as pd + from openbb_terminal import config_terminal as cfg -from openbb_terminal.decorators import log_start_end, check_api_key +from openbb_terminal.decorators import check_api_key, log_start_end +from openbb_terminal.helper_funcs import request, str_date_to_timestamp from openbb_terminal.rich_config import console -from openbb_terminal.helper_funcs import str_date_to_timestamp, request # pylint: disable=unsupported-assignment-operation diff --git a/openbb_terminal/cryptocurrency/due_diligence/glassnode_view.py b/openbb_terminal/cryptocurrency/due_diligence/glassnode_view.py index 501057e8e6a..21b741cca94 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/glassnode_view.py +++ b/openbb_terminal/cryptocurrency/due_diligence/glassnode_view.py @@ -8,9 +8,8 @@ from matplotlib import pyplot as plt from matplotlib import ticker from matplotlib.lines import Line2D -from openbb_terminal.config_terminal import theme -from openbb_terminal.decorators import check_api_key from openbb_terminal import config_plot as cfgPlot +from openbb_terminal.config_terminal import theme from openbb_terminal.cryptocurrency.due_diligence.glassnode_model import ( get_active_addresses, get_exchange_balances, @@ -18,11 +17,11 @@ from openbb_terminal.cryptocurrency.due_diligence.glassnode_model import ( get_hashrate, get_non_zero_addresses, ) -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, is_valid_axes_count, + plot_autoscale, ) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/due_diligence/messari_view.py b/openbb_terminal/cryptocurrency/due_diligence/messari_view.py index cf93792f780..f80d5c3bb7c 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/messari_view.py +++ b/openbb_terminal/cryptocurrency/due_diligence/messari_view.py @@ -7,17 +7,18 @@ import logging import os from datetime import datetime, timedelta from typing import List, Optional -import pandas as pd + import numpy as np +import pandas as pd +from matplotlib import dates as mdates from matplotlib import pyplot as plt from matplotlib import ticker -from matplotlib import dates as mdates -from openbb_terminal.config_terminal import theme -from openbb_terminal import feature_flags as obbff -from openbb_terminal.cryptocurrency import cryptocurrency_helpers -from openbb_terminal.decorators import check_api_key from openbb_terminal import config_plot as cfgPlot +from openbb_terminal import feature_flags as obbff +from openbb_terminal.config_terminal import theme +from openbb_terminal.cryptocurrency import cryptocurrency_helpers +from openbb_terminal.cryptocurrency.dataframe_helpers import prettify_paragraph from openbb_terminal.cryptocurrency.due_diligence.messari_model import ( get_available_timeseries, get_fundraising, @@ -31,16 +32,15 @@ from openbb_terminal.cryptocurrency.due_diligence.messari_model import ( get_team, get_tokenomics, ) -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, lambda_long_number_format, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console -from openbb_terminal.cryptocurrency.dataframe_helpers import prettify_paragraph logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/due_diligence/pycoingecko_view.py b/openbb_terminal/cryptocurrency/due_diligence/pycoingecko_view.py index 65884cfba4f..36792bd44b5 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/pycoingecko_view.py +++ b/openbb_terminal/cryptocurrency/due_diligence/pycoingecko_view.py @@ -4,7 +4,9 @@ __docformat__ = "numpy" import logging import os from typing import Optional + from pandas.plotting import register_matplotlib_converters + import openbb_terminal.cryptocurrency.due_diligence.pycoingecko_model as gecko from openbb_terminal.cryptocurrency import cryptocurrency_helpers from openbb_terminal.cryptocurrency.dataframe_helpers import wrap_text_in_df diff --git a/openbb_terminal/cryptocurrency/due_diligence/santiment_model.py b/openbb_terminal/cryptocurrency/due_diligence/santiment_model.py index 07d54d28f93..aed7380b4fb 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/santiment_model.py +++ b/openbb_terminal/cryptocurrency/due_diligence/santiment_model.py @@ -5,10 +5,10 @@ from typing import Optional import pandas as pd from openbb_terminal import config_terminal as cfg -from openbb_terminal.decorators import check_api_key, log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.cryptocurrency.discovery.pycoingecko_model import read_file_data +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/due_diligence/santiment_view.py b/openbb_terminal/cryptocurrency/due_diligence/santiment_view.py index be5e96f84cf..ec78fdf7d6d 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/santiment_view.py +++ b/openbb_terminal/cryptocurrency/due_diligence/santiment_view.py @@ -4,20 +4,18 @@ from typing import List, Optional from matplotlib import pyplot as plt -from openbb_terminal.config_terminal import theme -from openbb_terminal.decorators import check_api_key from openbb_terminal import config_plot as cfgPlot +from openbb_terminal.config_terminal import theme from openbb_terminal.cryptocurrency.due_diligence.santiment_model import ( get_github_activity, ) -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, is_valid_axes_count, + plot_autoscale, ) - logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/due_diligence/sdk_helper.py b/openbb_terminal/cryptocurrency/due_diligence/sdk_helper.py index c2d64e19c40..9a2ae9d4063 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/sdk_helper.py +++ b/openbb_terminal/cryptocurrency/due_diligence/sdk_helper.py @@ -2,6 +2,7 @@ __docformat__ = "numpy" import pandas as pd + import openbb_terminal.cryptocurrency.due_diligence.pycoingecko_model as gecko diff --git a/openbb_terminal/cryptocurrency/due_diligence/tokenterminal_model.py b/openbb_terminal/cryptocurrency/due_diligence/tokenterminal_model.py index f3ee2bc7dd2..5bd487cbafc 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/tokenterminal_model.py +++ b/openbb_terminal/cryptocurrency/due_diligence/tokenterminal_model.py @@ -1,11 +1,12 @@ """Token Terminal Model""" import logging +from typing import Dict, List -from typing import List, Dict import pandas as pd from tokenterminal import TokenTerminal -from openbb_terminal.decorators import log_start_end + from openbb_terminal import config_terminal as cfg +from openbb_terminal.decorators import log_start_end logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/due_diligence/tokenterminal_view.py b/openbb_terminal/cryptocurrency/due_diligence/tokenterminal_view.py index 65f4806c9c1..f7c308882ea 100644 --- a/openbb_terminal/cryptocurrency/due_diligence/tokenterminal_view.py +++ b/openbb_terminal/cryptocurrency/due_diligence/tokenterminal_view.py @@ -3,23 +3,22 @@ import logging import os from typing import List, Optional +import pandas as pd from matplotlib import pyplot as plt -import pandas as pd -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.cryptocurrency.due_diligence.tokenterminal_model import ( + METRICS, + get_description, get_fundamental_metric_from_project, get_project_ids, - get_description, - METRICS, ) -from openbb_terminal.decorators import check_api_key -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, is_valid_axes_count, + plot_autoscale, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/cryptocurrency/nft/nftpricefloor_model.py b/openbb_terminal/cryptocurrency/nft/nftpricefloor_model.py index 189b43ec8dd..7cea004169c 100644 --- a/openbb_terminal/cryptocurrency/nft/nftpricefloor_model.py +++ b/openbb_terminal/cryptocurrency/nft/nftpricefloor_model.py @@ -5,8 +5,8 @@ from typing import List import pandas as pd -from openbb_terminal.helper_funcs import request from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import request logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/nft/opensea_model.py b/openbb_terminal/cryptocurrency/nft/opensea_model.py index f766979c0e7..d6e6c46ca83 100644 --- a/openbb_terminal/cryptocurrency/nft/opensea_model.py +++ b/openbb_terminal/cryptocurrency/nft/opensea_model.py @@ -5,8 +5,8 @@ from datetime import datetime import pandas as pd -from openbb_terminal.helper_funcs import request from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import request logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/onchain/bitquery_model.py b/openbb_terminal/cryptocurrency/onchain/bitquery_model.py index 3e8ac64ccf5..a38e89edbf4 100644 --- a/openbb_terminal/cryptocurrency/onchain/bitquery_model.py +++ b/openbb_terminal/cryptocurrency/onchain/bitquery_model.py @@ -13,12 +13,12 @@ import requests from requests.adapters import HTTPAdapter from requests.exceptions import HTTPError +from openbb_terminal import config_terminal as cfg from openbb_terminal.cryptocurrency.dataframe_helpers import ( prettify_column_names, ) -from openbb_terminal import config_terminal as cfg -from openbb_terminal.rich_config import console from openbb_terminal.decorators import check_api_key, log_start_end +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/onchain/bitquery_view.py b/openbb_terminal/cryptocurrency/onchain/bitquery_view.py index fd91f059e42..a8084e1fd5e 100644 --- a/openbb_terminal/cryptocurrency/onchain/bitquery_view.py +++ b/openbb_terminal/cryptocurrency/onchain/bitquery_view.py @@ -6,14 +6,11 @@ import os from openbb_terminal.cryptocurrency.dataframe_helpers import ( lambda_very_long_number_formatter, -) -from openbb_terminal.cryptocurrency.dataframe_helpers import ( prettify_column_names, ) from openbb_terminal.cryptocurrency.onchain import bitquery_model -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import export_data, print_rich_table -from openbb_terminal.decorators import check_api_key logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/onchain/blockchain_model.py b/openbb_terminal/cryptocurrency/onchain/blockchain_model.py index 0f2ace42cfb..75591559899 100644 --- a/openbb_terminal/cryptocurrency/onchain/blockchain_model.py +++ b/openbb_terminal/cryptocurrency/onchain/blockchain_model.py @@ -5,8 +5,8 @@ import logging import pandas as pd -from openbb_terminal.helper_funcs import request from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import request logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/onchain/blockchain_view.py b/openbb_terminal/cryptocurrency/onchain/blockchain_view.py index c990a68a09a..d06cc0318df 100644 --- a/openbb_terminal/cryptocurrency/onchain/blockchain_view.py +++ b/openbb_terminal/cryptocurrency/onchain/blockchain_view.py @@ -9,17 +9,17 @@ from typing import List, Optional import matplotlib.pyplot as plt from matplotlib import ticker -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.cryptocurrency.onchain import blockchain_model from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, lambda_long_number_format, plot_autoscale, - is_valid_axes_count, - str_date_to_timestamp, print_rich_table, + str_date_to_timestamp, ) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/onchain/ethgasstation_model.py b/openbb_terminal/cryptocurrency/onchain/ethgasstation_model.py index 751ceb6efc0..ed181a70906 100644 --- a/openbb_terminal/cryptocurrency/onchain/ethgasstation_model.py +++ b/openbb_terminal/cryptocurrency/onchain/ethgasstation_model.py @@ -4,8 +4,8 @@ import logging import pandas as pd import requests -from openbb_terminal.helper_funcs import request from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import request logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/onchain/ethplorer_model.py b/openbb_terminal/cryptocurrency/onchain/ethplorer_model.py index 7b8366ebd06..bdb7f171d06 100644 --- a/openbb_terminal/cryptocurrency/onchain/ethplorer_model.py +++ b/openbb_terminal/cryptocurrency/onchain/ethplorer_model.py @@ -9,12 +9,11 @@ from typing import Any, Optional import pandas as pd - -from openbb_terminal.helper_funcs import request import openbb_terminal.config_terminal as cfg -from openbb_terminal.rich_config import console from openbb_terminal.cryptocurrency.dataframe_helpers import create_df_index from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/onchain/ethplorer_view.py b/openbb_terminal/cryptocurrency/onchain/ethplorer_view.py index 90b43729063..a52862cf8b7 100644 --- a/openbb_terminal/cryptocurrency/onchain/ethplorer_view.py +++ b/openbb_terminal/cryptocurrency/onchain/ethplorer_view.py @@ -8,8 +8,7 @@ from openbb_terminal.cryptocurrency.dataframe_helpers import ( lambda_very_long_number_formatter, ) from openbb_terminal.cryptocurrency.onchain import ethplorer_model -from openbb_terminal.decorators import check_api_key -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.rich_config import console diff --git a/openbb_terminal/cryptocurrency/onchain/onchain_controller.py b/openbb_terminal/cryptocurrency/onchain/onchain_controller.py index 67e4e02de8d..40820080834 100644 --- a/openbb_terminal/cryptocurrency/onchain/onchain_controller.py +++ b/openbb_terminal/cryptocurrency/onchain/onchain_controller.py @@ -9,8 +9,6 @@ import logging from datetime import datetime, timedelta from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff from openbb_terminal.cryptocurrency.due_diligence.glassnode_model import ( GLASSNODE_SUPPORTED_HASHRATE_ASSETS, @@ -31,6 +29,7 @@ from openbb_terminal.cryptocurrency.onchain import ( whale_alert_model, whale_alert_view, ) +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, @@ -41,7 +40,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/onchain/shroom_model.py b/openbb_terminal/cryptocurrency/onchain/shroom_model.py index 730dd6d9af2..de8f503072e 100644 --- a/openbb_terminal/cryptocurrency/onchain/shroom_model.py +++ b/openbb_terminal/cryptocurrency/onchain/shroom_model.py @@ -1,15 +1,15 @@ """Shroom model""" -import logging -from typing import List import json +import logging import time +from typing import List + import pandas as pd - -from openbb_terminal.rich_config import console -from openbb_terminal.decorators import log_start_end, check_api_key from openbb_terminal import config_terminal as cfg +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/onchain/shroom_view.py b/openbb_terminal/cryptocurrency/onchain/shroom_view.py index 6b87e266950..548699002cd 100644 --- a/openbb_terminal/cryptocurrency/onchain/shroom_view.py +++ b/openbb_terminal/cryptocurrency/onchain/shroom_view.py @@ -7,6 +7,7 @@ from typing import List, Optional from matplotlib import pyplot as plt +from openbb_terminal import config_plot as cfgPlot from openbb_terminal import config_terminal as cfg from openbb_terminal.config_terminal import theme from openbb_terminal.cryptocurrency.onchain.shroom_model import ( @@ -14,13 +15,11 @@ from openbb_terminal.cryptocurrency.onchain.shroom_model import ( get_dapp_stats, get_total_value_locked, ) -from openbb_terminal.decorators import check_api_key -from openbb_terminal import config_plot as cfgPlot -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, is_valid_axes_count, + plot_autoscale, print_rich_table, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/cryptocurrency/onchain/whale_alert_model.py b/openbb_terminal/cryptocurrency/onchain/whale_alert_model.py index 67b73d21dd7..2ac271a06c8 100644 --- a/openbb_terminal/cryptocurrency/onchain/whale_alert_model.py +++ b/openbb_terminal/cryptocurrency/onchain/whale_alert_model.py @@ -3,15 +3,15 @@ __docformat__ = "numpy" import logging import textwrap -from typing import Optional, Tuple, Any +from typing import Any, Optional, Tuple import numpy as np import pandas as pd -from openbb_terminal.helper_funcs import request import openbb_terminal.config_terminal as cfg -from openbb_terminal.rich_config import console from openbb_terminal.decorators import check_api_key, log_start_end +from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/onchain/whale_alert_view.py b/openbb_terminal/cryptocurrency/onchain/whale_alert_view.py index 041337509af..4590b99d032 100644 --- a/openbb_terminal/cryptocurrency/onchain/whale_alert_view.py +++ b/openbb_terminal/cryptocurrency/onchain/whale_alert_view.py @@ -5,8 +5,7 @@ import logging import os from openbb_terminal.cryptocurrency.onchain import whale_alert_model -from openbb_terminal.decorators import check_api_key -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, lambda_long_number_format, diff --git a/openbb_terminal/cryptocurrency/overview/blockchaincenter_model.py b/openbb_terminal/cryptocurrency/overview/blockchaincenter_model.py index adf658bbde2..638117df151 100644 --- a/openbb_terminal/cryptocurrency/overview/blockchaincenter_model.py +++ b/openbb_terminal/cryptocurrency/overview/blockchaincenter_model.py @@ -5,11 +5,10 @@ from datetime import datetime from typing import Optional import pandas as pd - from bs4 import BeautifulSoup from openbb_terminal.decorators import log_start_end -from openbb_terminal.helper_funcs import get_user_agent, str_date_to_timestamp, request +from openbb_terminal.helper_funcs import get_user_agent, request, str_date_to_timestamp logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/overview/blockchaincenter_view.py b/openbb_terminal/cryptocurrency/overview/blockchaincenter_view.py index 0f5b5bf451e..19a693090db 100644 --- a/openbb_terminal/cryptocurrency/overview/blockchaincenter_view.py +++ b/openbb_terminal/cryptocurrency/overview/blockchaincenter_view.py @@ -1,13 +1,13 @@ """Blockchain Center View""" import logging import os -from typing import List, Optional from datetime import datetime +from typing import List, Optional from matplotlib import pyplot as plt -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.cryptocurrency.overview.blockchaincenter_model import ( DAYS, get_altcoin_index, @@ -15,8 +15,8 @@ from openbb_terminal.cryptocurrency.overview.blockchaincenter_model import ( from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, is_valid_axes_count, + plot_autoscale, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/cryptocurrency/overview/coinbase_model.py b/openbb_terminal/cryptocurrency/overview/coinbase_model.py index 5aed2f4c482..b2f3311401f 100644 --- a/openbb_terminal/cryptocurrency/overview/coinbase_model.py +++ b/openbb_terminal/cryptocurrency/overview/coinbase_model.py @@ -2,7 +2,9 @@ __docformat__ = "numpy" import logging + import pandas as pd + from openbb_terminal.cryptocurrency.coinbase_helpers import make_coinbase_request from openbb_terminal.decorators import log_start_end diff --git a/openbb_terminal/cryptocurrency/overview/coinbase_view.py b/openbb_terminal/cryptocurrency/overview/coinbase_view.py index 869e722d39d..0ee472dd94f 100644 --- a/openbb_terminal/cryptocurrency/overview/coinbase_view.py +++ b/openbb_terminal/cryptocurrency/overview/coinbase_view.py @@ -5,8 +5,7 @@ import logging import os from openbb_terminal.cryptocurrency.overview import coinbase_model -from openbb_terminal.decorators import check_api_key -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, print_rich_table, diff --git a/openbb_terminal/cryptocurrency/overview/cryptopanic_model.py b/openbb_terminal/cryptocurrency/overview/cryptopanic_model.py index c07a3f30bc2..a346df12580 100644 --- a/openbb_terminal/cryptocurrency/overview/cryptopanic_model.py +++ b/openbb_terminal/cryptocurrency/overview/cryptopanic_model.py @@ -9,12 +9,12 @@ from typing import Any, Optional import pandas as pd -from openbb_terminal.helper_funcs import request import openbb_terminal.config_terminal as cfg -from openbb_terminal.rich_config import console -from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.cryptocurrency.cryptocurrency_helpers import prepare_all_coins_df +from openbb_terminal.decorators import check_api_key, log_start_end +from openbb_terminal.helper_funcs import request from openbb_terminal.parent_classes import CRYPTO_SOURCES +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/overview/cryptopanic_view.py b/openbb_terminal/cryptocurrency/overview/cryptopanic_view.py index 7c5fea10ae4..a144d24176b 100644 --- a/openbb_terminal/cryptocurrency/overview/cryptopanic_view.py +++ b/openbb_terminal/cryptocurrency/overview/cryptopanic_view.py @@ -6,9 +6,8 @@ import os from typing import Optional from openbb_terminal.cryptocurrency.overview import cryptopanic_model -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import export_data, print_rich_table -from openbb_terminal.decorators import check_api_key logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/overview/glassnode_model.py b/openbb_terminal/cryptocurrency/overview/glassnode_model.py index 9eabf716912..b7c18fd96fa 100644 --- a/openbb_terminal/cryptocurrency/overview/glassnode_model.py +++ b/openbb_terminal/cryptocurrency/overview/glassnode_model.py @@ -1,11 +1,11 @@ -from datetime import datetime import logging +from datetime import datetime from typing import Optional + from pandas import DataFrame -from openbb_terminal.decorators import log_start_end - from openbb_terminal.cryptocurrency.due_diligence.glassnode_model import get_close_price +from openbb_terminal.decorators import log_start_end # pylint: disable=unsupported-assignment-operation diff --git a/openbb_terminal/cryptocurrency/overview/glassnode_view.py b/openbb_terminal/cryptocurrency/overview/glassnode_view.py index 5cb06b7fdd4..21eb0e00a4a 100644 --- a/openbb_terminal/cryptocurrency/overview/glassnode_view.py +++ b/openbb_terminal/cryptocurrency/overview/glassnode_view.py @@ -9,17 +9,16 @@ import pandas as pd from matplotlib import dates as mdates from matplotlib import pyplot as plt -from openbb_terminal.config_terminal import theme -from openbb_terminal.decorators import check_api_key from openbb_terminal import config_plot as cfgPlot +from openbb_terminal.config_terminal import theme from openbb_terminal.cryptocurrency.overview.glassnode_model import ( get_btc_rainbow, ) -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, is_valid_axes_count, + plot_autoscale, ) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/overview/loanscan_view.py b/openbb_terminal/cryptocurrency/overview/loanscan_view.py index c8df4a7a7ae..bd524248506 100644 --- a/openbb_terminal/cryptocurrency/overview/loanscan_view.py +++ b/openbb_terminal/cryptocurrency/overview/loanscan_view.py @@ -2,20 +2,22 @@ import logging import os from typing import List, Optional + import matplotlib.pyplot as plt -import pandas as pd import numpy as np +import pandas as pd + +from openbb_terminal import config_terminal as cfg +from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.cryptocurrency.overview import loanscan_model from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console -from openbb_terminal import config_terminal as cfg -from openbb_terminal.config_plot import PLOT_DPI logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/overview/overview_controller.py b/openbb_terminal/cryptocurrency/overview/overview_controller.py index e8d715913b2..06fe28e32fa 100644 --- a/openbb_terminal/cryptocurrency/overview/overview_controller.py +++ b/openbb_terminal/cryptocurrency/overview/overview_controller.py @@ -8,11 +8,9 @@ import logging from datetime import datetime, timedelta from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff -from openbb_terminal.cryptocurrency.overview.glassnode_view import ( - display_btc_rainbow, +from openbb_terminal.cryptocurrency.discovery.pycoingecko_model import ( + get_categories_keys, ) from openbb_terminal.cryptocurrency.overview import ( blockchaincenter_view, @@ -28,19 +26,20 @@ from openbb_terminal.cryptocurrency.overview import ( pycoingecko_view, rekt_model, rekt_view, - withdrawalfees_model, - withdrawalfees_view, tokenterminal_model, tokenterminal_view, -) -from openbb_terminal.cryptocurrency.discovery.pycoingecko_model import ( - get_categories_keys, + withdrawalfees_model, + withdrawalfees_view, ) from openbb_terminal.cryptocurrency.overview.blockchaincenter_model import DAYS from openbb_terminal.cryptocurrency.overview.coinpaprika_model import ( get_all_contract_platforms, ) from openbb_terminal.cryptocurrency.overview.coinpaprika_view import CURRENCIES +from openbb_terminal.cryptocurrency.overview.glassnode_view import ( + display_btc_rainbow, +) +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, @@ -51,7 +50,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/overview/pycoingecko_view.py b/openbb_terminal/cryptocurrency/overview/pycoingecko_view.py index f8d7dc4bc2a..797af355d82 100644 --- a/openbb_terminal/cryptocurrency/overview/pycoingecko_view.py +++ b/openbb_terminal/cryptocurrency/overview/pycoingecko_view.py @@ -4,13 +4,14 @@ __docformat__ = "numpy" import logging import os from typing import List, Optional + import squarify +from matplotlib import cm, ticker from matplotlib import pyplot as plt -from matplotlib import ticker -from matplotlib import cm from pandas.plotting import register_matplotlib_converters -from openbb_terminal import config_terminal as cfg + import openbb_terminal.cryptocurrency.overview.pycoingecko_model as gecko +from openbb_terminal import config_terminal as cfg from openbb_terminal import feature_flags as obbff from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.cryptocurrency.dataframe_helpers import ( @@ -19,9 +20,9 @@ from openbb_terminal.cryptocurrency.dataframe_helpers import ( from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/cryptocurrency/overview/sdk_helpers.py b/openbb_terminal/cryptocurrency/overview/sdk_helpers.py index adc58275b98..ccec6062d93 100644 --- a/openbb_terminal/cryptocurrency/overview/sdk_helpers.py +++ b/openbb_terminal/cryptocurrency/overview/sdk_helpers.py @@ -2,10 +2,11 @@ __docformat__ = "numpy" import pandas as pd -from openbb_terminal.cryptocurrency.overview import pycoingecko_model, coinpaprika_model + from openbb_terminal.cryptocurrency.dataframe_helpers import ( lambda_long_number_format_with_type_check, ) +from openbb_terminal.cryptocurrency.overview import coinpaprika_model, pycoingecko_model def globe(source: str = "CoinGecko") -> pd.DataFrame: diff --git a/openbb_terminal/cryptocurrency/overview/tokenterminal_model.py b/openbb_terminal/cryptocurrency/overview/tokenterminal_model.py index c2c5f4765c0..4bb94d2c2f4 100644 --- a/openbb_terminal/cryptocurrency/overview/tokenterminal_model.py +++ b/openbb_terminal/cryptocurrency/overview/tokenterminal_model.py @@ -1,11 +1,12 @@ """Token Terminal Model""" import logging - from typing import List + import pandas as pd from tokenterminal import TokenTerminal -from openbb_terminal.decorators import log_start_end + from openbb_terminal import config_terminal as cfg +from openbb_terminal.decorators import log_start_end logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/overview/tokenterminal_view.py b/openbb_terminal/cryptocurrency/overview/tokenterminal_view.py index 18ceb04429c..93c09eb9dc5 100644 --- a/openbb_terminal/cryptocurrency/overview/tokenterminal_view.py +++ b/openbb_terminal/cryptocurrency/overview/tokenterminal_view.py @@ -6,20 +6,19 @@ from typing import List, Optional from matplotlib import pyplot as plt from openbb_terminal import config_terminal as cfg -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.cryptocurrency.overview.tokenterminal_model import ( - get_fundamental_metrics, + CATEGORIES, METRICS, TIMELINES, - CATEGORIES, + get_fundamental_metrics, ) -from openbb_terminal.decorators import check_api_key -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, is_valid_axes_count, + plot_autoscale, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/cryptocurrency/overview/withdrawalfees_model.py b/openbb_terminal/cryptocurrency/overview/withdrawalfees_model.py index b5fc513c54d..5dede437dbf 100644 --- a/openbb_terminal/cryptocurrency/overview/withdrawalfees_model.py +++ b/openbb_terminal/cryptocurrency/overview/withdrawalfees_model.py @@ -4,7 +4,6 @@ import math from typing import Any, List import pandas as pd - from bs4 import BeautifulSoup from openbb_terminal.decorators import log_start_end diff --git a/openbb_terminal/cryptocurrency/pycoingecko_helpers.py b/openbb_terminal/cryptocurrency/pycoingecko_helpers.py index a145c5ac92b..3c35b44990a 100644 --- a/openbb_terminal/cryptocurrency/pycoingecko_helpers.py +++ b/openbb_terminal/cryptocurrency/pycoingecko_helpers.py @@ -1,20 +1,21 @@ """CoinGecko helpers""" __docformat__ = "numpy" -import json -import math import datetime as dt -from datetime import timezone -from typing import Sequence, Optional, Any, Dict, Tuple, Union, List -import textwrap +import json import logging +import math +import textwrap +from datetime import timezone +from typing import Any, Dict, List, Optional, Sequence, Tuple, Union -from bs4 import BeautifulSoup import pandas as pd import requests +from bs4 import BeautifulSoup from dateutil import parser from requests.adapters import HTTPAdapter, RetryError from urllib3.util.retry import Retry + from openbb_terminal.helper_funcs import get_user_agent, request from openbb_terminal.rich_config import console diff --git a/openbb_terminal/cryptocurrency/pyth_model.py b/openbb_terminal/cryptocurrency/pyth_model.py index 64ab42f61e5..658bd1d76d1 100644 --- a/openbb_terminal/cryptocurrency/pyth_model.py +++ b/openbb_terminal/cryptocurrency/pyth_model.py @@ -3,13 +3,12 @@ from typing import Tuple from pythclient.pythaccounts import PythPriceAccount, PythPriceStatus from pythclient.solana import ( - SolanaClient, - SolanaPublicKey, SOLANA_DEVNET_HTTP_ENDPOINT, SOLANA_DEVNET_WS_ENDPOINT, + SolanaClient, + SolanaPublicKey, ) - logger = logging.getLogger(__name__) ASSETS = { diff --git a/openbb_terminal/cryptocurrency/quantitative_analysis/qa_controller.py b/openbb_terminal/cryptocurrency/quantitative_analysis/qa_controller.py index 4de4caf2857..c7420173a78 100644 --- a/openbb_terminal/cryptocurrency/quantitative_analysis/qa_controller.py +++ b/openbb_terminal/cryptocurrency/quantitative_analysis/qa_controller.py @@ -8,21 +8,20 @@ from typing import List import numpy as np import pandas as pd -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff from openbb_terminal.common.quantitative_analysis import qa_view, rolling_view +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_ONLY_FIGURES_ALLOWED, EXPORT_ONLY_RAW_DATA_ALLOWED, + check_list_dates, check_positive, check_proportion_range, - check_list_dates, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import CryptoBaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/technical_analysis/ta_controller.py b/openbb_terminal/cryptocurrency/technical_analysis/ta_controller.py index 5ea032cf7ef..5c270ab75a0 100644 --- a/openbb_terminal/cryptocurrency/technical_analysis/ta_controller.py +++ b/openbb_terminal/cryptocurrency/technical_analysis/ta_controller.py @@ -11,8 +11,6 @@ from typing import List import numpy as np import pandas as pd -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff from openbb_terminal.common.technical_analysis import ( custom_indicators_view, @@ -24,18 +22,19 @@ from openbb_terminal.common.technical_analysis import ( volatility_view, volume_view, ) +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, check_non_negative, check_positive, - check_positive_list, check_positive_float, + check_positive_list, valid_date, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import CryptoBaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/tools/tools_controller.py b/openbb_terminal/cryptocurrency/tools/tools_controller.py index 23dce009e5a..3b855589eb0 100644 --- a/openbb_terminal/cryptocurrency/tools/tools_controller.py +++ b/openbb_terminal/cryptocurrency/tools/tools_controller.py @@ -7,9 +7,9 @@ import argparse import logging from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.cryptocurrency.tools import tools_view +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_ONLY_RAW_DATA_ALLOWED, @@ -17,10 +17,9 @@ from openbb_terminal.helper_funcs import ( check_positive, check_positive_float, ) -from openbb_terminal.cryptocurrency.tools import tools_view from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/cryptocurrency/tools/tools_view.py b/openbb_terminal/cryptocurrency/tools/tools_view.py index 72679505e80..e427f69fdbf 100644 --- a/openbb_terminal/cryptocurrency/tools/tools_view.py +++ b/openbb_terminal/cryptocurrency/tools/tools_view.py @@ -5,9 +5,9 @@ import logging import os from openbb_terminal.cryptocurrency.tools.tools_model import calculate_apy, calculate_il +from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.rich_config import console -from openbb_terminal.decorators import log_start_end logger = logging.getLogger(__name__) diff --git a/openbb_terminal/custom_prompt_toolkit.py b/openbb_terminal/custom_prompt_toolkit.py index 5373213e4e4..0004ac5b774 100644 --- a/openbb_terminal/custom_prompt_toolkit.py +++ b/openbb_terminal/custom_prompt_toolkit.py @@ -1,15 +1,15 @@ """ Nestedcompleter for completion of OpenBB hierarchical data structures. """ from typing import ( Any, + Callable, Dict, - List, - Set, Iterable, + List, Mapping, Optional, - Union, Pattern, - Callable, + Set, + Union, ) from prompt_toolkit.completion import CompleteEvent, Completer, Completion diff --git a/openbb_terminal/dashboards/dashboards_controller.py b/openbb_terminal/dashboards/dashboards_controller.py index 12b75041220..e7119800e6d 100644 --- a/openbb_terminal/dashboards/dashboards_controller.py +++ b/openbb_terminal/dashboards/dashboards_controller.py @@ -13,7 +13,7 @@ from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console # pylint: disable=consider-using-with diff --git a/openbb_terminal/dashboards/stream/forecast.py b/openbb_terminal/dashboards/stream/forecast.py index 35b9012d377..f6fad8c56cc 100644 --- a/openbb_terminal/dashboards/stream/forecast.py +++ b/openbb_terminal/dashboards/stream/forecast.py @@ -1,13 +1,15 @@ -from datetime import timedelta, datetime, date -from unittest.mock import patch -from typing import Callable, Any +from datetime import date, datetime, timedelta from inspect import signature -import streamlit as st +from typing import Any, Callable +from unittest.mock import patch + import pandas as pd +import streamlit as st import yfinance as yf -from openbb_terminal.sdk import openbb + from openbb_terminal.forecast import helpers from openbb_terminal.rich_config import console +from openbb_terminal.sdk import openbb st.set_page_config(layout="wide") diff --git a/openbb_terminal/dashboards/widget_helpers.py b/openbb_terminal/dashboards/widget_helpers.py index f3fb90169f8..665b0acd852 100644 --- a/openbb_terminal/dashboards/widget_helpers.py +++ b/openbb_terminal/dashboards/widget_helpers.py @@ -5,6 +5,7 @@ The library includes both python code and html/css/js elements that can be found `./widgets` folder. """ import os + from jinja2 import Template diff --git a/openbb_terminal/decorators.py b/openbb_terminal/decorators.py index 9ff3b18dd0b..f94cbb0227b 100644 --- a/openbb_terminal/decorators.py +++ b/openbb_terminal/decorators.py @@ -4,6 +4,7 @@ import functools import logging import os from ssl import SSLError + import pandas as pd from requests.exceptions import RequestException diff --git a/openbb_terminal/econometrics/econometrics_model.py b/openbb_terminal/econometrics/econometrics_model.py index 21c2b46f072..3d033d667e8 100644 --- a/openbb_terminal/econometrics/econometrics_model.py +++ b/openbb_terminal/econometrics/econometrics_model.py @@ -6,7 +6,7 @@ __docformat__ = "numpy" import logging import warnings from itertools import combinations -from typing import Any, Dict, Tuple, Optional, Union +from typing import Any, Dict, Optional, Tuple, Union import pandas as pd import statsmodels.api as sm diff --git a/openbb_terminal/econometrics/regression_view.py b/openbb_terminal/econometrics/regression_view.py index 2d48edff7c9..c3cfd589b1c 100644 --- a/openbb_terminal/econometrics/regression_view.py +++ b/openbb_terminal/econometrics/regression_view.py @@ -6,8 +6,8 @@ import os from typing import List, Optional import pandas as pd -from matplotlib import pyplot as plt import statsmodels +from matplotlib import pyplot as plt from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.config_terminal import theme diff --git a/openbb_terminal/economy/alphavantage_model.py b/openbb_terminal/economy/alphavantage_model.py index 060aa2de609..f304554f2e1 100644 --- a/openbb_terminal/economy/alphavantage_model.py +++ b/openbb_terminal/economy/alphavantage_model.py @@ -6,10 +6,10 @@ import logging import pandas as pd from alpha_vantage.sectorperformance import SectorPerformances -from openbb_terminal.rich_config import console from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import get_user_agent, request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/economy/alphavantage_view.py b/openbb_terminal/economy/alphavantage_view.py index 5c9417a91b8..f086e92aa4e 100644 --- a/openbb_terminal/economy/alphavantage_view.py +++ b/openbb_terminal/economy/alphavantage_view.py @@ -1,22 +1,22 @@ """ Alpha Vantage View """ __docformat__ = "numpy" -from typing import List, Optional import logging import os +from typing import List, Optional import matplotlib import matplotlib.pyplot as plt -from openbb_terminal.decorators import check_api_key -from openbb_terminal.config_terminal import theme + from openbb_terminal import config_plot as cfp -from openbb_terminal.decorators import log_start_end +from openbb_terminal.config_terminal import theme +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.economy import alphavantage_model from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/economy/commodity_view.py b/openbb_terminal/economy/commodity_view.py index 33b7b1f9984..8e3c68be3d7 100644 --- a/openbb_terminal/economy/commodity_view.py +++ b/openbb_terminal/economy/commodity_view.py @@ -1,5 +1,5 @@ -import os import logging +import os from openbb_terminal.decorators import log_start_end from openbb_terminal.economy import commodity_model diff --git a/openbb_terminal/economy/econ_data_helper.py b/openbb_terminal/economy/econ_data_helper.py index 999655c35c1..7d32d4302f0 100644 --- a/openbb_terminal/economy/econ_data_helper.py +++ b/openbb_terminal/economy/econ_data_helper.py @@ -4,8 +4,9 @@ __docformat__ = "numpy" import os import pathlib from datetime import datetime, timedelta -import pandas as pd + import mplfinance as mpf +import pandas as pd from openbb_terminal.stocks import stocks_helper diff --git a/openbb_terminal/economy/econdb_model.py b/openbb_terminal/economy/econdb_model.py index e5462011f3f..3f08492f4d7 100644 --- a/openbb_terminal/economy/econdb_model.py +++ b/openbb_terminal/economy/econdb_model.py @@ -4,18 +4,18 @@ __docformat__ = "numpy" # pylint: disable=no-member import logging -from typing import Dict, Any, Optional, Tuple, Union -from urllib.error import HTTPError from datetime import datetime +from typing import Any, Dict, Optional, Tuple, Union +from urllib.error import HTTPError import pandas as pd import pandas_datareader.data as web import yfinance as yf from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console -from openbb_terminal.helpers_denomination import transform as transform_by_denomination from openbb_terminal.helper_funcs import request +from openbb_terminal.helpers_denomination import transform as transform_by_denomination +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/economy/econdb_view.py b/openbb_terminal/economy/econdb_view.py index 9e79426644d..e20a4ff8e8b 100644 --- a/openbb_terminal/economy/econdb_view.py +++ b/openbb_terminal/economy/econdb_view.py @@ -4,7 +4,7 @@ __docformat__ = "numpy" import logging import os from textwrap import fill -from typing import Optional, List +from typing import List, Optional from matplotlib import pyplot as plt @@ -13,9 +13,9 @@ from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.economy import econdb_model from openbb_terminal.helper_funcs import ( + export_data, plot_autoscale, print_rich_table, - export_data, ) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/economy/economy_controller.py b/openbb_terminal/economy/economy_controller.py index 5f35fc414d3..15e290d8d2a 100644 --- a/openbb_terminal/economy/economy_controller.py +++ b/openbb_terminal/economy/economy_controller.py @@ -3,48 +3,47 @@ __docformat__ = "numpy" # pylint:disable=too-many-lines,R1710,R0904,C0415,too-many-branches,unnecessary-dict-index-lookup import argparse +import itertools import logging import os -import itertools -from datetime import date, datetime as dt -from typing import List, Dict, Any +from datetime import date +from datetime import datetime as dt +from typing import Any, Dict, List import pandas as pd -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - -from openbb_terminal.decorators import check_api_key from openbb_terminal import feature_flags as obbff -from openbb_terminal.decorators import log_start_end +from openbb_terminal.custom_prompt_toolkit import NestedCompleter +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.economy import ( alphavantage_view, + commodity_view, + econdb_model, + econdb_view, economy_helpers, finviz_model, finviz_view, + fred_model, + fred_view, nasdaq_model, nasdaq_view, + plot_view, wsj_view, - econdb_view, - econdb_model, - fred_view, - fred_model, yfinance_model, yfinance_view, - plot_view, - commodity_view, ) from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, EXPORT_ONLY_FIGURES_ALLOWED, EXPORT_ONLY_RAW_DATA_ALLOWED, + list_from_str, + parse_and_split_input, print_rich_table, valid_date, - parse_and_split_input, - list_from_str, ) -from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText from openbb_terminal.menu import session +from openbb_terminal.parent_classes import BaseController +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/economy/finnhub_model.py b/openbb_terminal/economy/finnhub_model.py index bebf9155b65..8cc361618cd 100644 --- a/openbb_terminal/economy/finnhub_model.py +++ b/openbb_terminal/economy/finnhub_model.py @@ -4,9 +4,8 @@ import pandas as pd from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import check_api_key, log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request - +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/economy/finnhub_view.py b/openbb_terminal/economy/finnhub_view.py index 0a4ef70b82b..4f2fb0a183b 100644 --- a/openbb_terminal/economy/finnhub_view.py +++ b/openbb_terminal/economy/finnhub_view.py @@ -1,8 +1,7 @@ import logging import os -from openbb_terminal.decorators import log_start_end -from openbb_terminal.decorators import check_api_key +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.economy import finnhub_model from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.rich_config import console diff --git a/openbb_terminal/economy/finviz_model.py b/openbb_terminal/economy/finviz_model.py index 1c37960d669..70cdb32d20a 100644 --- a/openbb_terminal/economy/finviz_model.py +++ b/openbb_terminal/economy/finviz_model.py @@ -2,16 +2,16 @@ __docformat__ = "numpy" import logging -from ast import literal_eval import webbrowser +from ast import literal_eval from typing import List import pandas as pd from finvizfinance.group import performance, spectrum, valuation -from openbb_terminal.rich_config import console from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import get_user_agent, request +from openbb_terminal.rich_config import console # pylint: disable=unsupported-assignment-operation diff --git a/openbb_terminal/economy/fred_model.py b/openbb_terminal/economy/fred_model.py index b9ebb7c2291..1303028626b 100644 --- a/openbb_terminal/economy/fred_model.py +++ b/openbb_terminal/economy/fred_model.py @@ -1,18 +1,17 @@ """ Fred Model """ __docformat__ = "numpy" -import os import logging +import os import textwrap -from typing import List, Optional, Tuple from datetime import datetime, timedelta -from requests import HTTPError - +from typing import List, Optional, Tuple +import certifi import fred import pandas as pd from fredapi import Fred -import certifi +from requests import HTTPError from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import check_api_key, log_start_end diff --git a/openbb_terminal/economy/fred_view.py b/openbb_terminal/economy/fred_view.py index 7ff6cb95225..c7b93697808 100644 --- a/openbb_terminal/economy/fred_view.py +++ b/openbb_terminal/economy/fred_view.py @@ -4,7 +4,7 @@ __docformat__ = "numpy" import logging import os import textwrap -from typing import Optional, List, Tuple +from typing import List, Optional, Tuple import matplotlib.pyplot as plt import numpy as np @@ -13,14 +13,13 @@ from pandas.plotting import register_matplotlib_converters from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.config_terminal import theme -from openbb_terminal.decorators import check_api_key -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.economy import fred_model from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/economy/investingcom_model.py b/openbb_terminal/economy/investingcom_model.py index 10a60d0682f..62e99418064 100644 --- a/openbb_terminal/economy/investingcom_model.py +++ b/openbb_terminal/economy/investingcom_model.py @@ -1,20 +1,19 @@ """ Investing.com Model """ __docformat__ = "numpy" -import logging import argparse - import datetime +import logging import math from typing import Dict, List, Tuple, Union -import pandas as pd -import pytz import investpy +import pandas as pd +import pytz from tqdm import tqdm -from openbb_terminal.decorators import log_start_end from openbb_terminal import helper_funcs +from openbb_terminal.decorators import log_start_end from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/economy/investingcom_view.py b/openbb_terminal/economy/investingcom_view.py index 470992a7161..23f4d45b924 100644 --- a/openbb_terminal/economy/investingcom_view.py +++ b/openbb_terminal/economy/investingcom_view.py @@ -3,16 +3,15 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List, Union -from matplotlib import ticker +from typing import List, Optional, Union import matplotlib.pyplot as plt -from matplotlib.ticker import FormatStrFormatter -from matplotlib import colors import numpy as np import pandas as pd -from pandas.plotting import register_matplotlib_converters import seaborn as sns +from matplotlib import colors, ticker +from matplotlib.ticker import FormatStrFormatter +from pandas.plotting import register_matplotlib_converters from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.config_terminal import theme @@ -21,9 +20,9 @@ from openbb_terminal.economy import investingcom_model from openbb_terminal.economy.economy_helpers import text_transform from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/economy/nasdaq_model.py b/openbb_terminal/economy/nasdaq_model.py index 943ad69794e..92eb83d138b 100644 --- a/openbb_terminal/economy/nasdaq_model.py +++ b/openbb_terminal/economy/nasdaq_model.py @@ -4,15 +4,15 @@ __docformat__ = "numpy" import argparse import logging import os +from datetime import datetime as dt from typing import List, Optional, Union -from datetime import datetime as dt import pandas as pd from openbb_terminal.config_terminal import API_KEY_QUANDL from openbb_terminal.decorators import check_api_key, log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/economy/nasdaq_view.py b/openbb_terminal/economy/nasdaq_view.py index 3a45f442f77..2da1e87dfea 100644 --- a/openbb_terminal/economy/nasdaq_view.py +++ b/openbb_terminal/economy/nasdaq_view.py @@ -7,16 +7,15 @@ from typing import List, Optional import matplotlib.pyplot as plt -from openbb_terminal.decorators import check_api_key -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI -from openbb_terminal.decorators import log_start_end +from openbb_terminal.config_terminal import theme +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.economy import nasdaq_model from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/economy/plot_view.py b/openbb_terminal/economy/plot_view.py index 089c187c93b..e877e995380 100644 --- a/openbb_terminal/economy/plot_view.py +++ b/openbb_terminal/economy/plot_view.py @@ -1,7 +1,7 @@ """ Plot Controller """ import os -from typing import Optional, List, Dict, Any from textwrap import fill +from typing import Any, Dict, List, Optional import pandas as pd from matplotlib import pyplot as plt @@ -9,8 +9,8 @@ from matplotlib import pyplot as plt from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.config_terminal import theme from openbb_terminal.helper_funcs import ( - plot_autoscale, export_data, + plot_autoscale, print_rich_table, ) diff --git a/openbb_terminal/economy/quantitative_analysis/qa_controller.py b/openbb_terminal/economy/quantitative_analysis/qa_controller.py index 764fdbf7769..4fb3e612ad5 100644 --- a/openbb_terminal/economy/quantitative_analysis/qa_controller.py +++ b/openbb_terminal/economy/quantitative_analysis/qa_controller.py @@ -3,26 +3,25 @@ __docformat__ = "numpy" import argparse import logging -from typing import List, Dict +from typing import Dict, List import numpy as np import pandas as pd -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff from openbb_terminal.common.quantitative_analysis import qa_view, rolling_view +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_ONLY_FIGURES_ALLOWED, EXPORT_ONLY_RAW_DATA_ALLOWED, + check_list_dates, check_positive, check_proportion_range, - check_list_dates, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import StockBaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/economy/sdk_helpers.py b/openbb_terminal/economy/sdk_helpers.py index af89786ce50..20c16fc7835 100644 --- a/openbb_terminal/economy/sdk_helpers.py +++ b/openbb_terminal/economy/sdk_helpers.py @@ -2,7 +2,8 @@ __docformat__ = "numpy" import pandas as pd -from openbb_terminal.economy import wsj_model, finviz_model + +from openbb_terminal.economy import finviz_model, wsj_model def futures(source="WSJ", future_type: str = "Indices") -> pd.DataFrame: diff --git a/openbb_terminal/economy/yfinance_model.py b/openbb_terminal/economy/yfinance_model.py index 79595cb02b1..ecb0fd82833 100644 --- a/openbb_terminal/economy/yfinance_model.py +++ b/openbb_terminal/economy/yfinance_model.py @@ -5,9 +5,9 @@ import logging from datetime import datetime from typing import Dict, Optional +import financedatabase as fd import pandas as pd import yfinance as yf -import financedatabase as fd from openbb_terminal.decorators import log_start_end from openbb_terminal.rich_config import console diff --git a/openbb_terminal/economy/yfinance_view.py b/openbb_terminal/economy/yfinance_view.py index fdd1c2c549a..37cd4dd1eae 100644 --- a/openbb_terminal/economy/yfinance_view.py +++ b/openbb_terminal/economy/yfinance_view.py @@ -4,7 +4,7 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List +from typing import List, Optional from matplotlib import pyplot as plt @@ -12,14 +12,14 @@ from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.economy.yfinance_model import ( + INDICES, get_indices, get_search_indices, - INDICES, ) from openbb_terminal.helper_funcs import ( + export_data, plot_autoscale, print_rich_table, - export_data, reindex_dates, ) diff --git a/openbb_terminal/etf/discovery/disc_controller.py b/openbb_terminal/etf/discovery/disc_controller.py index 7ea7a3e9d72..6b38ae9c5f2 100644 --- a/openbb_terminal/etf/discovery/disc_controller.py +++ b/openbb_terminal/etf/discovery/disc_controller.py @@ -5,9 +5,8 @@ import argparse import logging from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.etf.discovery import wsj_view from openbb_terminal.helper_funcs import ( @@ -15,7 +14,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/etf/etf_controller.py b/openbb_terminal/etf/etf_controller.py index b93ce303d12..fd354dc553b 100644 --- a/openbb_terminal/etf/etf_controller.py +++ b/openbb_terminal/etf/etf_controller.py @@ -8,35 +8,35 @@ from datetime import datetime, timedelta from typing import List import yfinance as yf - from thepassiveinvestor import create_ETF_report + from openbb_terminal import feature_flags as obbff from openbb_terminal.common import newsapi_view from openbb_terminal.common.quantitative_analysis import qa_view from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.etf import ( + etf_helper, financedatabase_view, stockanalysis_model, stockanalysis_view, yfinance_view, ) from openbb_terminal.etf.discovery import disc_controller -from openbb_terminal.etf import etf_helper from openbb_terminal.etf.screener import screener_controller from openbb_terminal.etf.technical_analysis import ta_controller from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, EXPORT_ONLY_RAW_DATA_ALLOWED, check_positive, - export_data, - valid_date, compose_export_path, + export_data, list_from_str, + valid_date, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console from openbb_terminal.stocks import stocks_helper from openbb_terminal.stocks.comparison_analysis import ca_controller diff --git a/openbb_terminal/etf/screener/screener_controller.py b/openbb_terminal/etf/screener/screener_controller.py index d71eda4e26f..d84c55e5683 100644 --- a/openbb_terminal/etf/screener/screener_controller.py +++ b/openbb_terminal/etf/screener/screener_controller.py @@ -11,14 +11,14 @@ from openbb_terminal import feature_flags as obbff from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.etf import financedatabase_model, financedatabase_view -from openbb_terminal.etf.screener import screener_view, screener_model +from openbb_terminal.etf.screener import screener_model, screener_view from openbb_terminal.helper_funcs import ( EXPORT_ONLY_RAW_DATA_ALLOWED, check_positive, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/etf/screener/screener_model.py b/openbb_terminal/etf/screener/screener_model.py index b53601f886b..3715fa3a8a7 100644 --- a/openbb_terminal/etf/screener/screener_model.py +++ b/openbb_terminal/etf/screener/screener_model.py @@ -8,8 +8,8 @@ from typing import Dict import pandas as pd -from openbb_terminal.decorators import log_start_end from openbb_terminal.core.config.paths import USER_PRESETS_DIRECTORY +from openbb_terminal.decorators import log_start_end logger = logging.getLogger(__name__) diff --git a/openbb_terminal/etf/stockanalysis_model.py b/openbb_terminal/etf/stockanalysis_model.py index 4a98a9279d1..200959fcd8a 100644 --- a/openbb_terminal/etf/stockanalysis_model.py +++ b/openbb_terminal/etf/stockanalysis_model.py @@ -2,8 +2,8 @@ __docformat__ = "numpy" import logging -from typing import List, Tuple import pathlib +from typing import List, Tuple import pandas as pd from bs4 import BeautifulSoup diff --git a/openbb_terminal/etf/technical_analysis/ta_controller.py b/openbb_terminal/etf/technical_analysis/ta_controller.py index df21e48bcd8..99efdf16de5 100644 --- a/openbb_terminal/etf/technical_analysis/ta_controller.py +++ b/openbb_terminal/etf/technical_analysis/ta_controller.py @@ -11,8 +11,6 @@ from typing import List import numpy as np import pandas as pd -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff from openbb_terminal.common.technical_analysis import ( custom_indicators_view, @@ -24,18 +22,19 @@ from openbb_terminal.common.technical_analysis import ( volatility_view, volume_view, ) +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, + EXPORT_ONLY_FIGURES_ALLOWED, check_non_negative, check_positive, check_positive_list, valid_date, - EXPORT_ONLY_FIGURES_ALLOWED, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/etf/yfinance_view.py b/openbb_terminal/etf/yfinance_view.py index 28fecc36281..b0cdc0fba5d 100644 --- a/openbb_terminal/etf/yfinance_view.py +++ b/openbb_terminal/etf/yfinance_view.py @@ -1,22 +1,22 @@ """Yahoo Finance view""" __docformat__ = "numpy" -from typing import Optional, List import logging import os +from typing import List, Optional import pandas as pd from matplotlib import pyplot as plt -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.etf import yfinance_model from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/featflags_controller.py b/openbb_terminal/featflags_controller.py index b99a7040d83..ffe5c1ed1df 100644 --- a/openbb_terminal/featflags_controller.py +++ b/openbb_terminal/featflags_controller.py @@ -15,7 +15,7 @@ from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console # pylint: disable=too-many-lines,no-member,too-many-public-methods,C0302 # pylint:disable=import-outside-toplevel diff --git a/openbb_terminal/forecast/anom_model.py b/openbb_terminal/forecast/anom_model.py index 6017c80a86a..6cf859a4054 100644 --- a/openbb_terminal/forecast/anom_model.py +++ b/openbb_terminal/forecast/anom_model.py @@ -3,15 +3,13 @@ __docformat__ = "numpy" import logging -from typing import Tuple, Union, List +from typing import List, Tuple, Union import pandas as pd - from darts import TimeSeries -from darts.ad import KMeansScorer -from darts.ad import QuantileDetector -from openbb_terminal.decorators import log_start_end +from darts.ad import KMeansScorer, QuantileDetector +from openbb_terminal.decorators import log_start_end from openbb_terminal.forecast import helpers logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forecast/anom_view.py b/openbb_terminal/forecast/anom_view.py index 04d339593ff..85f997521cc 100644 --- a/openbb_terminal/forecast/anom_view.py +++ b/openbb_terminal/forecast/anom_view.py @@ -2,21 +2,20 @@ __docformat__ = "numpy" import logging -from typing import Union, List, Optional from datetime import datetime +from typing import List, Optional, Union -import pandas as pd -import numpy as np import matplotlib.pyplot as plt +import numpy as np +import pandas as pd -from openbb_terminal.forecast import anom_model +from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import anom_model, helpers from openbb_terminal.helper_funcs import ( plot_autoscale, ) -from openbb_terminal.config_terminal import theme -from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forecast/autoarima_model.py b/openbb_terminal/forecast/autoarima_model.py index deee0b91654..5b4c2904e94 100644 --- a/openbb_terminal/forecast/autoarima_model.py +++ b/openbb_terminal/forecast/autoarima_model.py @@ -3,18 +3,17 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List, Tuple - import warnings +from typing import List, Optional, Tuple, Union + import pandas as pd from darts import TimeSeries -from statsforecast.models import AutoARIMA from statsforecast.core import StatsForecast +from statsforecast.models import AutoARIMA from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.forecast import helpers - +from openbb_terminal.rich_config import console warnings.simplefilter("ignore") diff --git a/openbb_terminal/forecast/autoarima_view.py b/openbb_terminal/forecast/autoarima_view.py index 9d9b9071e6e..fb04e8f7dbe 100644 --- a/openbb_terminal/forecast/autoarima_view.py +++ b/openbb_terminal/forecast/autoarima_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import autoarima_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import autoarima_model, helpers logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/autoces_model.py b/openbb_terminal/forecast/autoces_model.py index a38ecf98f4f..e11b7960a23 100644 --- a/openbb_terminal/forecast/autoces_model.py +++ b/openbb_terminal/forecast/autoces_model.py @@ -3,19 +3,17 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List, Tuple - import warnings +from typing import List, Optional, Tuple, Union + import pandas as pd from darts import TimeSeries - -from statsforecast.models import AutoCES from statsforecast.core import StatsForecast +from statsforecast.models import AutoCES from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.forecast import helpers - +from openbb_terminal.rich_config import console warnings.simplefilter("ignore") diff --git a/openbb_terminal/forecast/autoces_view.py b/openbb_terminal/forecast/autoces_view.py index 5902bf88e78..020bd605a8b 100644 --- a/openbb_terminal/forecast/autoces_view.py +++ b/openbb_terminal/forecast/autoces_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import autoces_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import autoces_model, helpers logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/autoets_model.py b/openbb_terminal/forecast/autoets_model.py index 457a244b94f..26f1b508683 100644 --- a/openbb_terminal/forecast/autoets_model.py +++ b/openbb_terminal/forecast/autoets_model.py @@ -3,18 +3,17 @@ __docformat__ = "numpy" import logging -from typing import List, Optional, Union, Tuple - import warnings +from typing import List, Optional, Tuple, Union + import pandas as pd from darts import TimeSeries -from statsforecast.models import ETS from statsforecast.core import StatsForecast +from statsforecast.models import ETS from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.forecast import helpers - +from openbb_terminal.rich_config import console warnings.simplefilter("ignore") diff --git a/openbb_terminal/forecast/autoets_view.py b/openbb_terminal/forecast/autoets_view.py index 99920cd39a6..56452e6c34b 100644 --- a/openbb_terminal/forecast/autoets_view.py +++ b/openbb_terminal/forecast/autoets_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import autoets_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import autoets_model, helpers logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/autoselect_model.py b/openbb_terminal/forecast/autoselect_model.py index f591ae94895..b31a8b74536 100644 --- a/openbb_terminal/forecast/autoselect_model.py +++ b/openbb_terminal/forecast/autoselect_model.py @@ -3,17 +3,16 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List, Tuple - import warnings -from darts import TimeSeries +from typing import List, Optional, Tuple, Union + import pandas as pd +from darts import TimeSeries from statsforecast.core import StatsForecast from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console, USE_COLOR from openbb_terminal.forecast import helpers - +from openbb_terminal.rich_config import USE_COLOR, console warnings.simplefilter("ignore") @@ -91,14 +90,14 @@ def get_autoselect_data( # check statsforecast dependency try: from statsforecast.models import ( # pylint: disable=import-outside-toplevel - AutoARIMA, ETS, - AutoCES, MSTL, + AutoARIMA, + AutoCES, Naive, + RandomWalkWithDrift, SeasonalNaive, SeasonalWindowAverage, - RandomWalkWithDrift, ) except Exception as e: error = str(e) diff --git a/openbb_terminal/forecast/autoselect_view.py b/openbb_terminal/forecast/autoselect_view.py index a7bab79b682..64c4ddb5108 100644 --- a/openbb_terminal/forecast/autoselect_view.py +++ b/openbb_terminal/forecast/autoselect_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import autoselect_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import autoselect_model, helpers logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/brnn_model.py b/openbb_terminal/forecast/brnn_model.py index b7a3f1aeeea..4a1341f0a65 100644 --- a/openbb_terminal/forecast/brnn_model.py +++ b/openbb_terminal/forecast/brnn_model.py @@ -4,17 +4,17 @@ __docformat__ = "numpy" import logging import warnings -from typing import Union, Optional, List, Tuple +from typing import List, Optional, Tuple, Union import pandas as pd - from darts import TimeSeries from darts.models import BlockRNNModel from darts.models.forecasting.torch_forecasting_model import GlobalForecastingModel from darts.utils.likelihood_models import GaussianLikelihood + +from openbb_terminal.core.config.paths import USER_FORECAST_MODELS_DIRECTORY from openbb_terminal.decorators import log_start_end from openbb_terminal.forecast import helpers -from openbb_terminal.core.config.paths import USER_FORECAST_MODELS_DIRECTORY logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forecast/brnn_view.py b/openbb_terminal/forecast/brnn_view.py index ba829532d60..34b4225001d 100644 --- a/openbb_terminal/forecast/brnn_view.py +++ b/openbb_terminal/forecast/brnn_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import brnn_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import brnn_model, helpers logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/expo_model.py b/openbb_terminal/forecast/expo_model.py index 61d7f5f580c..4c117a90f78 100644 --- a/openbb_terminal/forecast/expo_model.py +++ b/openbb_terminal/forecast/expo_model.py @@ -3,21 +3,20 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List, Tuple - import warnings -from statsmodels.tools.sm_exceptions import ConvergenceWarning -from numpy import ndarray +from typing import List, Optional, Tuple, Union + import pandas as pd from darts import TimeSeries +from darts.metrics import mape from darts.models import ExponentialSmoothing from darts.utils.utils import ModelMode, SeasonalityMode -from darts.metrics import mape +from numpy import ndarray +from statsmodels.tools.sm_exceptions import ConvergenceWarning from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.forecast import helpers - +from openbb_terminal.rich_config import console warnings.simplefilter("ignore", ConvergenceWarning) diff --git a/openbb_terminal/forecast/expo_view.py b/openbb_terminal/forecast/expo_view.py index 6e8cb80d6ef..de41d84f49c 100644 --- a/openbb_terminal/forecast/expo_view.py +++ b/openbb_terminal/forecast/expo_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import expo_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import expo_model, helpers from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forecast/forecast_model.py b/openbb_terminal/forecast/forecast_model.py index 06f2f687a41..1f6154562bb 100644 --- a/openbb_terminal/forecast/forecast_model.py +++ b/openbb_terminal/forecast/forecast_model.py @@ -4,20 +4,20 @@ __docformat__ = "numpy" # pylint: disable=eval-used import logging -from pathlib import Path -from typing import Dict, Union, Any, Optional from itertools import chain +from pathlib import Path +from typing import Any, Dict, Optional, Union -import pandas as pd import numpy as np +import pandas as pd +from openbb_terminal.common import common_model +from openbb_terminal.core.config.paths import ( + USER_CUSTOM_IMPORTS_DIRECTORY, + USER_EXPORTS_DIRECTORY, +) from openbb_terminal.decorators import log_start_end from openbb_terminal.rich_config import console -from openbb_terminal.core.config.paths import ( - USER_EXPORTS_DIRECTORY, - USER_CUSTOM_IMPORTS_DIRECTORY, -) -from openbb_terminal.common import common_model logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forecast/forecast_view.py b/openbb_terminal/forecast/forecast_view.py index 8c19809e52a..72e3dfabd06 100644 --- a/openbb_terminal/forecast/forecast_view.py +++ b/openbb_terminal/forecast/forecast_view.py @@ -3,27 +3,24 @@ __docformat__ = "numpy" import logging import os -from typing import Dict, Optional, List +from typing import Dict, List, Optional import matplotlib.pyplot as plt import pandas as pd -from pandas.plotting import register_matplotlib_converters import seaborn as sns from darts.utils.statistics import plot_acf +from pandas.plotting import register_matplotlib_converters from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end +from openbb_terminal.forecast import forecast_model, helpers from openbb_terminal.helper_funcs import ( export_data, plot_autoscale, -) -from openbb_terminal.helper_funcs import ( print_rich_table, ) from openbb_terminal.rich_config import console -from openbb_terminal.forecast import forecast_model -from openbb_terminal.config_terminal import theme -from openbb_terminal.forecast import helpers logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forecast/helpers.py b/openbb_terminal/forecast/helpers.py index ee8e46d5a19..ae6fd920568 100644 --- a/openbb_terminal/forecast/helpers.py +++ b/openbb_terminal/forecast/helpers.py @@ -1,36 +1,38 @@ # pylint: disable=too-many-arguments,too-many-lines -import os import argparse -from typing import Any, Union, Optional, List, Dict, Tuple -from datetime import timedelta, datetime, time import logging -import pandas as pd -import numpy as np +import os +from datetime import datetime, time, timedelta +from typing import Any, Dict, List, Optional, Tuple, Union + import matplotlib.pyplot as plt -from sklearn.model_selection import train_test_split -from sklearn.preprocessing import StandardScaler, MinMaxScaler, MaxAbsScaler, Normalizer -from sklearn.metrics import ( - mean_absolute_error, - r2_score, - mean_squared_error, -) -from darts.dataprocessing.transformers import MissingValuesFiller, Scaler -from darts.utils.statistics import plot_residuals_analysis +import numpy as np +import pandas as pd from darts import TimeSeries +from darts.dataprocessing.transformers import MissingValuesFiller, Scaler +from darts.explainability.shap_explainer import ShapExplainer from darts.metrics import mape from darts.models.forecasting.torch_forecasting_model import GlobalForecastingModel -from darts.explainability.shap_explainer import ShapExplainer +from darts.utils.statistics import plot_residuals_analysis from pytorch_lightning.callbacks.early_stopping import EarlyStopping -from openbb_terminal.rich_config import console +from sklearn.metrics import ( + mean_absolute_error, + mean_squared_error, + r2_score, +) +from sklearn.model_selection import train_test_split +from sklearn.preprocessing import MaxAbsScaler, MinMaxScaler, Normalizer, StandardScaler + +from openbb_terminal import rich_config +from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.config_terminal import theme from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) -from openbb_terminal.config_plot import PLOT_DPI -from openbb_terminal import rich_config +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) logging.getLogger("pytorch_lightning").setLevel(logging.CRITICAL) # No needed for now diff --git a/openbb_terminal/forecast/linregr_model.py b/openbb_terminal/forecast/linregr_model.py index 8f44e0b172a..5e4e4d91fc4 100644 --- a/openbb_terminal/forecast/linregr_model.py +++ b/openbb_terminal/forecast/linregr_model.py @@ -3,16 +3,14 @@ __docformat__ = "numpy" import logging -from typing import Tuple, Union, List, Optional import warnings - +from typing import List, Optional, Tuple, Union import pandas as pd - from darts import TimeSeries from darts.models import LinearRegressionModel -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import log_start_end from openbb_terminal.forecast import helpers logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forecast/linregr_view.py b/openbb_terminal/forecast/linregr_view.py index 6448de1f12f..6bc09879edc 100644 --- a/openbb_terminal/forecast/linregr_view.py +++ b/openbb_terminal/forecast/linregr_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, List, Optional from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import linregr_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import helpers, linregr_model logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/mstl_model.py b/openbb_terminal/forecast/mstl_model.py index d5a5c3807bd..8ac60a83987 100644 --- a/openbb_terminal/forecast/mstl_model.py +++ b/openbb_terminal/forecast/mstl_model.py @@ -3,17 +3,16 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List, Tuple - import warnings -from darts import TimeSeries +from typing import List, Optional, Tuple, Union + import pandas as pd +from darts import TimeSeries from statsforecast.core import StatsForecast from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.forecast import helpers - +from openbb_terminal.rich_config import console warnings.simplefilter("ignore") diff --git a/openbb_terminal/forecast/mstl_view.py b/openbb_terminal/forecast/mstl_view.py index 810a9e2616b..91338983fb1 100644 --- a/openbb_terminal/forecast/mstl_view.py +++ b/openbb_terminal/forecast/mstl_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import mstl_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import helpers, mstl_model logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/nbeats_model.py b/openbb_terminal/forecast/nbeats_model.py index 1a4829c3b21..acb8480bfbe 100644 --- a/openbb_terminal/forecast/nbeats_model.py +++ b/openbb_terminal/forecast/nbeats_model.py @@ -4,16 +4,15 @@ __docformat__ = "numpy" import logging import warnings -from typing import Tuple, Union, List, Optional +from typing import List, Optional, Tuple, Union import pandas as pd - from darts import TimeSeries from darts.models import NBEATSModel -from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers from openbb_terminal.core.config.paths import USER_FORECAST_MODELS_DIRECTORY +from openbb_terminal.decorators import log_start_end +from openbb_terminal.forecast import helpers logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forecast/nbeats_view.py b/openbb_terminal/forecast/nbeats_view.py index 44573d47e99..283f6dac602 100644 --- a/openbb_terminal/forecast/nbeats_view.py +++ b/openbb_terminal/forecast/nbeats_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import nbeats_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import helpers, nbeats_model logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/nhits_model.py b/openbb_terminal/forecast/nhits_model.py index 4a4ff62a225..43a3d1ed0f4 100644 --- a/openbb_terminal/forecast/nhits_model.py +++ b/openbb_terminal/forecast/nhits_model.py @@ -4,17 +4,16 @@ __docformat__ = "numpy" import logging import warnings -from typing import Union, Optional, List, Tuple - +from typing import List, Optional, Tuple, Union import pandas as pd - from darts import TimeSeries from darts.models.forecasting.nhits import NHiTSModel from darts.utils.likelihood_models import GaussianLikelihood + +from openbb_terminal.core.config.paths import USER_FORECAST_MODELS_DIRECTORY from openbb_terminal.decorators import log_start_end from openbb_terminal.forecast import helpers -from openbb_terminal.core.config.paths import USER_FORECAST_MODELS_DIRECTORY logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forecast/nhits_view.py b/openbb_terminal/forecast/nhits_view.py index 15a44a6930d..d4ec81ecdee 100644 --- a/openbb_terminal/forecast/nhits_view.py +++ b/openbb_terminal/forecast/nhits_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List, Tuple from datetime import datetime +from typing import List, Optional, Tuple, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import nhits_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import helpers, nhits_model logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/regr_model.py b/openbb_terminal/forecast/regr_model.py index d4bdb852b6f..19871d10f24 100644 --- a/openbb_terminal/forecast/regr_model.py +++ b/openbb_terminal/forecast/regr_model.py @@ -3,16 +3,14 @@ __docformat__ = "numpy" import logging -from typing import Tuple, Union, List import warnings - +from typing import List, Tuple, Union import pandas as pd - from darts import TimeSeries from darts.models import RegressionModel -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import log_start_end from openbb_terminal.forecast import helpers logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forecast/regr_view.py b/openbb_terminal/forecast/regr_view.py index 790f058ef41..71e34bf4ea5 100644 --- a/openbb_terminal/forecast/regr_view.py +++ b/openbb_terminal/forecast/regr_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, List, Optional from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import regr_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import helpers, regr_model logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/rnn_model.py b/openbb_terminal/forecast/rnn_model.py index 2c72df9a465..5f860bb43e0 100644 --- a/openbb_terminal/forecast/rnn_model.py +++ b/openbb_terminal/forecast/rnn_model.py @@ -4,16 +4,16 @@ __docformat__ = "numpy" import logging import warnings -from typing import Tuple, Union, List, Optional +from typing import List, Optional, Tuple, Union import pandas as pd - from darts import TimeSeries from darts.models import RNNModel from darts.utils.likelihood_models import GaussianLikelihood + +from openbb_terminal.core.config.paths import USER_FORECAST_MODELS_DIRECTORY from openbb_terminal.decorators import log_start_end from openbb_terminal.forecast import helpers -from openbb_terminal.core.config.paths import USER_FORECAST_MODELS_DIRECTORY logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forecast/rnn_view.py b/openbb_terminal/forecast/rnn_view.py index 8d089e5f6e7..31f25916575 100644 --- a/openbb_terminal/forecast/rnn_view.py +++ b/openbb_terminal/forecast/rnn_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import rnn_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import helpers, rnn_model logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/rwd_model.py b/openbb_terminal/forecast/rwd_model.py index b5044936460..753b9e170f0 100644 --- a/openbb_terminal/forecast/rwd_model.py +++ b/openbb_terminal/forecast/rwd_model.py @@ -3,18 +3,17 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List, Tuple - import warnings +from typing import List, Optional, Tuple, Union + import numpy as np import pandas as pd -from statsforecast.models import RandomWalkWithDrift from statsforecast.core import StatsForecast +from statsforecast.models import RandomWalkWithDrift from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.forecast import helpers - +from openbb_terminal.rich_config import console warnings.simplefilter("ignore") diff --git a/openbb_terminal/forecast/rwd_view.py b/openbb_terminal/forecast/rwd_view.py index ed09d694a08..fa7720d8859 100644 --- a/openbb_terminal/forecast/rwd_view.py +++ b/openbb_terminal/forecast/rwd_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import rwd_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import helpers, rwd_model logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/seasonalnaive_model.py b/openbb_terminal/forecast/seasonalnaive_model.py index b4bbf058e56..cece12ef714 100644 --- a/openbb_terminal/forecast/seasonalnaive_model.py +++ b/openbb_terminal/forecast/seasonalnaive_model.py @@ -3,19 +3,17 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List, Tuple - import warnings +from typing import List, Optional, Tuple, Union + import pandas as pd from darts import TimeSeries - -from statsforecast.models import SeasonalNaive from statsforecast.core import StatsForecast +from statsforecast.models import SeasonalNaive from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.forecast import helpers - +from openbb_terminal.rich_config import console warnings.simplefilter("ignore") diff --git a/openbb_terminal/forecast/seasonalnaive_view.py b/openbb_terminal/forecast/seasonalnaive_view.py index 50ec06d4920..e4474df4a2e 100644 --- a/openbb_terminal/forecast/seasonalnaive_view.py +++ b/openbb_terminal/forecast/seasonalnaive_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import seasonalnaive_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import helpers, seasonalnaive_model logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/tcn_model.py b/openbb_terminal/forecast/tcn_model.py index 48ead272501..1d0c7467d39 100644 --- a/openbb_terminal/forecast/tcn_model.py +++ b/openbb_terminal/forecast/tcn_model.py @@ -3,16 +3,16 @@ __docformat__ = "numpy" import logging -from typing import Tuple, Union, List, Optional import warnings +from typing import List, Optional, Tuple, Union import pandas as pd - from darts import TimeSeries from darts.models import TCNModel + +from openbb_terminal.core.config.paths import USER_FORECAST_MODELS_DIRECTORY from openbb_terminal.decorators import log_start_end from openbb_terminal.forecast import helpers -from openbb_terminal.core.config.paths import USER_FORECAST_MODELS_DIRECTORY logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forecast/tcn_view.py b/openbb_terminal/forecast/tcn_view.py index 61f5fd34ecb..5e7cf5aec94 100644 --- a/openbb_terminal/forecast/tcn_view.py +++ b/openbb_terminal/forecast/tcn_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import tcn_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import helpers, tcn_model logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/tft_model.py b/openbb_terminal/forecast/tft_model.py index e94ad700f93..136ab21f074 100644 --- a/openbb_terminal/forecast/tft_model.py +++ b/openbb_terminal/forecast/tft_model.py @@ -3,18 +3,18 @@ __docformat__ = "numpy" import logging -from typing import Tuple, Union, List, Optional - import warnings -from statsmodels.tools.sm_exceptions import ConvergenceWarning +from typing import List, Optional, Tuple, Union + import pandas as pd from darts import TimeSeries from darts.models import TFTModel from darts.utils.likelihood_models import QuantileRegression +from statsmodels.tools.sm_exceptions import ConvergenceWarning +from openbb_terminal.core.config.paths import USER_FORECAST_MODELS_DIRECTORY from openbb_terminal.decorators import log_start_end from openbb_terminal.forecast import helpers -from openbb_terminal.core.config.paths import USER_FORECAST_MODELS_DIRECTORY warnings.simplefilter("ignore", ConvergenceWarning) diff --git a/openbb_terminal/forecast/tft_view.py b/openbb_terminal/forecast/tft_view.py index b069d066f0c..3064027500c 100644 --- a/openbb_terminal/forecast/tft_view.py +++ b/openbb_terminal/forecast/tft_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import tft_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import helpers, tft_model logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forecast/theta_model.py b/openbb_terminal/forecast/theta_model.py index e26d4700fe4..74ef6523933 100644 --- a/openbb_terminal/forecast/theta_model.py +++ b/openbb_terminal/forecast/theta_model.py @@ -2,20 +2,20 @@ __docformat__ = "numpy" import logging -from typing import Optional, Tuple, Union, List - import warnings -from statsmodels.tools.sm_exceptions import ConvergenceWarning +from typing import List, Optional, Tuple, Union + import numpy as np import pandas as pd from darts import TimeSeries +from darts.metrics import mape from darts.models import Theta from darts.utils.utils import SeasonalityMode -from darts.metrics import mape +from statsmodels.tools.sm_exceptions import ConvergenceWarning from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.forecast import helpers +from openbb_terminal.rich_config import console warnings.simplefilter("ignore", ConvergenceWarning) diff --git a/openbb_terminal/forecast/theta_view.py b/openbb_terminal/forecast/theta_view.py index e49ad75914b..428e95c1663 100644 --- a/openbb_terminal/forecast/theta_view.py +++ b/openbb_terminal/forecast/theta_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import theta_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import helpers, theta_model from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forecast/trans_model.py b/openbb_terminal/forecast/trans_model.py index f74122def30..ac89b255820 100644 --- a/openbb_terminal/forecast/trans_model.py +++ b/openbb_terminal/forecast/trans_model.py @@ -4,15 +4,15 @@ __docformat__ = "numpy" import logging import warnings -from typing import Tuple, Union, List, Optional +from typing import List, Optional, Tuple, Union import pandas as pd - from darts import TimeSeries from darts.models import TransformerModel + +from openbb_terminal.core.config.paths import USER_FORECAST_MODELS_DIRECTORY from openbb_terminal.decorators import log_start_end from openbb_terminal.forecast import helpers -from openbb_terminal.core.config.paths import USER_FORECAST_MODELS_DIRECTORY logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forecast/trans_view.py b/openbb_terminal/forecast/trans_view.py index a13592aea78..fda46a687a6 100644 --- a/openbb_terminal/forecast/trans_view.py +++ b/openbb_terminal/forecast/trans_view.py @@ -2,15 +2,14 @@ __docformat__ = "numpy" import logging -from typing import Union, Optional, List from datetime import datetime +from typing import List, Optional, Union -import pandas as pd import matplotlib.pyplot as plt +import pandas as pd -from openbb_terminal.forecast import trans_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.forecast import helpers +from openbb_terminal.forecast import helpers, trans_model logger = logging.getLogger(__name__) # pylint: disable=too-many-arguments diff --git a/openbb_terminal/forex/av_model.py b/openbb_terminal/forex/av_model.py index e79653252cb..dbe990c0112 100644 --- a/openbb_terminal/forex/av_model.py +++ b/openbb_terminal/forex/av_model.py @@ -9,8 +9,8 @@ import pandas as pd from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forex/av_view.py b/openbb_terminal/forex/av_view.py index 5b8716907f7..31f8188e4ac 100644 --- a/openbb_terminal/forex/av_view.py +++ b/openbb_terminal/forex/av_view.py @@ -5,8 +5,7 @@ import logging import pandas as pd -from openbb_terminal.decorators import check_api_key -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.forex import av_model from openbb_terminal.helper_funcs import print_rich_table from openbb_terminal.rich_config import console diff --git a/openbb_terminal/forex/forex_controller.py b/openbb_terminal/forex/forex_controller.py index ddab63556cb..3859fb3bdb0 100644 --- a/openbb_terminal/forex/forex_controller.py +++ b/openbb_terminal/forex/forex_controller.py @@ -9,27 +9,29 @@ from typing import List import pandas as pd -from openbb_terminal.custom_prompt_toolkit import NestedCompleter -from openbb_terminal.common.quantitative_analysis import qa_view from openbb_terminal import feature_flags as obbff -from openbb_terminal.decorators import log_start_end -from openbb_terminal.forex import forex_helper, fxempire_view, av_view -from openbb_terminal.forex.forex_helper import FOREX_SOURCES, SOURCES_INTERVALS +from openbb_terminal.common.quantitative_analysis import qa_view +from openbb_terminal.custom_prompt_toolkit import NestedCompleter +from openbb_terminal.decorators import check_api_key, log_start_end +from openbb_terminal.forex import av_view, forex_helper, fxempire_view +from openbb_terminal.forex.forex_helper import ( + FOREX_SOURCES, + SOURCES_INTERVALS, + parse_forex_symbol, +) from openbb_terminal.helper_funcs import ( - valid_date, EXPORT_ONLY_RAW_DATA_ALLOWED, export_data, + valid_date, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController from openbb_terminal.rich_config import ( - console, MenuText, + console, get_ordered_list_sources, ) from openbb_terminal.stocks import stocks_helper -from openbb_terminal.decorators import check_api_key -from openbb_terminal.forex.forex_helper import parse_forex_symbol # pylint: disable=R1710,import-outside-toplevel diff --git a/openbb_terminal/forex/forex_helper.py b/openbb_terminal/forex/forex_helper.py index 570fcf272c5..ec6663149b1 100644 --- a/openbb_terminal/forex/forex_helper.py +++ b/openbb_terminal/forex/forex_helper.py @@ -1,31 +1,31 @@ """Forex helper.""" -from datetime import datetime, timedelta -from typing import List, Optional, Dict, Iterable -import os import argparse import logging +import os import re +from datetime import datetime, timedelta +from typing import Dict, Iterable, List, Optional -import pandas as pd import matplotlib.pyplot as plt +import mplfinance as mpf +import numpy as np +import pandas as pd +import plotly.graph_objects as go +import yfinance as yf from matplotlib.lines import Line2D from matplotlib.ticker import LogLocator, ScalarFormatter -import mplfinance as mpf -import yfinance as yf -import numpy as np -import plotly.graph_objects as go from plotly.subplots import make_subplots -from openbb_terminal.stocks import stocks_helper -from openbb_terminal.forex import av_model, polygon_model -from openbb_terminal.rich_config import console -from openbb_terminal.decorators import log_start_end import openbb_terminal.config_terminal as cfg +from openbb_terminal.decorators import log_start_end +from openbb_terminal.forex import av_model, polygon_model from openbb_terminal.helper_funcs import ( is_valid_axes_count, - plot_autoscale, lambda_long_number_format_y_axis, + plot_autoscale, ) +from openbb_terminal.rich_config import console +from openbb_terminal.stocks import stocks_helper CANDLE_SORT = [ "adjclose", diff --git a/openbb_terminal/forex/fxempire_model.py b/openbb_terminal/forex/fxempire_model.py index aeea531c78a..4ace5afb0cf 100644 --- a/openbb_terminal/forex/fxempire_model.py +++ b/openbb_terminal/forex/fxempire_model.py @@ -1,6 +1,7 @@ """FXEmpire Model""" import logging + import pandas as pd from openbb_terminal.decorators import log_start_end diff --git a/openbb_terminal/forex/fxempire_view.py b/openbb_terminal/forex/fxempire_view.py index 7929a3667ff..d70ccf876fa 100644 --- a/openbb_terminal/forex/fxempire_view.py +++ b/openbb_terminal/forex/fxempire_view.py @@ -2,10 +2,11 @@ import logging import os -from openbb_terminal.forex import fxempire_model + from openbb_terminal.decorators import log_start_end +from openbb_terminal.forex import fxempire_model +from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.rich_config import console -from openbb_terminal.helper_funcs import print_rich_table, export_data logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forex/oanda/oanda_controller.py b/openbb_terminal/forex/oanda/oanda_controller.py index ab3b6c3133a..c9fca0a2d41 100644 --- a/openbb_terminal/forex/oanda/oanda_controller.py +++ b/openbb_terminal/forex/oanda/oanda_controller.py @@ -17,7 +17,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forex/oanda/oanda_view.py b/openbb_terminal/forex/oanda/oanda_view.py index 543dce89276..1342c4c9799 100644 --- a/openbb_terminal/forex/oanda/oanda_view.py +++ b/openbb_terminal/forex/oanda/oanda_view.py @@ -2,7 +2,7 @@ __docformat__ = "numpy" import logging -from typing import Dict, Union, Optional, List +from typing import Dict, List, Optional, Union import matplotlib.pyplot as plt import matplotlib.ticker as mticker @@ -11,10 +11,9 @@ import pandas as pd import pandas_ta as ta import seaborn as sns -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI -from openbb_terminal.decorators import check_api_key -from openbb_terminal.decorators import log_start_end +from openbb_terminal.config_terminal import theme +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.forex.oanda.oanda_model import ( account_summary_request, cancel_pending_order_request, @@ -30,7 +29,7 @@ from openbb_terminal.forex.oanda.oanda_model import ( pending_orders_request, positionbook_plot_data_request, ) -from openbb_terminal.helper_funcs import plot_autoscale, is_valid_axes_count +from openbb_terminal.helper_funcs import is_valid_axes_count, plot_autoscale from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forex/polygon_model.py b/openbb_terminal/forex/polygon_model.py index 67a0cce85c1..4accd4adffe 100644 --- a/openbb_terminal/forex/polygon_model.py +++ b/openbb_terminal/forex/polygon_model.py @@ -3,10 +3,12 @@ __docformat__ = "numpy" from datetime import datetime from typing import Optional + import pandas as pd + from openbb_terminal.config_terminal import API_POLYGON_KEY as api_key -from openbb_terminal.helper_funcs import get_user_agent, request from openbb_terminal.decorators import check_api_key +from openbb_terminal.helper_funcs import get_user_agent, request from openbb_terminal.rich_config import console # pylint: disable=unsupported-assignment-operation diff --git a/openbb_terminal/forex/quantitative_analysis/qa_controller.py b/openbb_terminal/forex/quantitative_analysis/qa_controller.py index 0a6b353d562..4c13b3e9e24 100644 --- a/openbb_terminal/forex/quantitative_analysis/qa_controller.py +++ b/openbb_terminal/forex/quantitative_analysis/qa_controller.py @@ -9,19 +9,19 @@ import numpy as np import pandas as pd from openbb_terminal import feature_flags as obbff -from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.common.quantitative_analysis import qa_view, rolling_view +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_ONLY_FIGURES_ALLOWED, EXPORT_ONLY_RAW_DATA_ALLOWED, + check_list_dates, check_positive, check_proportion_range, - check_list_dates, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import CryptoBaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/forex/sdk_helpers.py b/openbb_terminal/forex/sdk_helpers.py index 4300a137310..5af9c4dad40 100644 --- a/openbb_terminal/forex/sdk_helpers.py +++ b/openbb_terminal/forex/sdk_helpers.py @@ -3,6 +3,7 @@ __docformat__ = "numpy" import pandas as pd import yfinance as yf + from openbb_terminal.forex import av_model diff --git a/openbb_terminal/forex/technical_analysis/ta_controller.py b/openbb_terminal/forex/technical_analysis/ta_controller.py index 646a13b4863..4bfcd38fcf6 100644 --- a/openbb_terminal/forex/technical_analysis/ta_controller.py +++ b/openbb_terminal/forex/technical_analysis/ta_controller.py @@ -10,30 +10,29 @@ from typing import List import numpy as np import pandas as pd -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff from openbb_terminal.common.technical_analysis import ( custom_indicators_view, momentum_view, overlap_view, trend_indicators_view, + volatility_model, volatility_view, volume_view, - volatility_model, ) +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end +from openbb_terminal.forex.forex_helper import FOREX_SOURCES from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, check_positive, - check_positive_list, check_positive_float, + check_positive_list, valid_date, ) -from openbb_terminal.forex.forex_helper import FOREX_SOURCES from openbb_terminal.menu import session from openbb_terminal.parent_classes import StockBaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/futures/futures_controller.py b/openbb_terminal/futures/futures_controller.py index 7d01dfcfc2e..c365abc2008 100644 --- a/openbb_terminal/futures/futures_controller.py +++ b/openbb_terminal/futures/futures_controller.py @@ -8,21 +8,19 @@ import logging from datetime import datetime, timedelta from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end - +from openbb_terminal.futures import yfinance_model, yfinance_view from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, EXPORT_ONLY_RAW_DATA_ALLOWED, - valid_date, parse_and_split_input, + valid_date, ) -from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText from openbb_terminal.menu import session -from openbb_terminal.futures import yfinance_model, yfinance_view +from openbb_terminal.parent_classes import BaseController +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/futures/yfinance_model.py b/openbb_terminal/futures/yfinance_model.py index 718831f33f5..cb3db40608d 100644 --- a/openbb_terminal/futures/yfinance_model.py +++ b/openbb_terminal/futures/yfinance_model.py @@ -1,19 +1,19 @@ """Yahoo Finance model""" __docformat__ = "numpy" +import logging import os import sys -import logging -from typing import List, Optional from datetime import datetime, timedelta +from typing import List, Optional -import yfinance as yf import pandas as pd +import yfinance as yf from dateutil.relativedelta import relativedelta -from openbb_terminal.rich_config import console -from openbb_terminal.decorators import log_start_end from openbb_terminal.core.config.paths import MISCELLANEOUS_DIRECTORY +from openbb_terminal.decorators import log_start_end +from openbb_terminal.rich_config import console # pylint: disable=attribute-defined-outside-init diff --git a/openbb_terminal/futures/yfinance_view.py b/openbb_terminal/futures/yfinance_view.py index e5252bd2ec5..eb7156c43a0 100644 --- a/openbb_terminal/futures/yfinance_view.py +++ b/openbb_terminal/futures/yfinance_view.py @@ -1,25 +1,25 @@ """Yahoo Finance view""" __docformat__ = "numpy" -from typing import Optional, List -from itertools import cycle import logging import os +from itertools import cycle +from typing import List, Optional from matplotlib import pyplot as plt -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.futures import yfinance_model +from openbb_terminal.futures.futures_helper import make_white from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console -from openbb_terminal.futures.futures_helper import make_white logger = logging.getLogger(__name__) diff --git a/openbb_terminal/helper_classes.py b/openbb_terminal/helper_classes.py index 040a88fd153..a9236640c11 100644 --- a/openbb_terminal/helper_classes.py +++ b/openbb_terminal/helper_classes.py @@ -1,11 +1,11 @@ """Helper classes.""" __docformat__ = "numpy" -import os -from pathlib import Path import argparse import json +import os from importlib import machinery, util -from typing import Union, List, Dict, Optional +from pathlib import Path +from typing import Dict, List, Optional, Union import matplotlib.pyplot as plt from matplotlib import font_manager, ticker diff --git a/openbb_terminal/helper_funcs.py b/openbb_terminal/helper_funcs.py index bb5341fdd70..c2bab9413eb 100644 --- a/openbb_terminal/helper_funcs.py +++ b/openbb_terminal/helper_funcs.py @@ -3,52 +3,51 @@ __docformat__ = "numpy" # pylint: disable=too-many-lines import argparse import io -import logging -from pathlib import Path -from typing import List, Union, Optional, Dict, Tuple -from functools import lru_cache -from datetime import datetime, timedelta -from datetime import date as d -import types -from collections.abc import Iterable -import os -import re -import random -import sys -from difflib import SequenceMatcher -import webbrowser -import urllib.parse import json +import logging +import os +import random +import re +import sys +import types +import urllib.parse +import webbrowser +from collections.abc import Iterable +from datetime import date as d +from datetime import datetime, timedelta +from difflib import SequenceMatcher +from functools import lru_cache +from pathlib import Path +from typing import Dict, List, Optional, Tuple, Union -import pytz -import pandas as pd -from rich.table import Table -import iso8601 import dotenv +import iso8601 import matplotlib import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +import pandas.io.formats.format +import pytz +import requests +import yfinance as yf from holidays import US as us_holidays from pandas._config.config import get_option from pandas.plotting import register_matplotlib_converters -import pandas.io.formats.format -import requests -from screeninfo import get_monitors -import yfinance as yf -import numpy as np - from PIL import Image, ImageDraw +from rich.table import Table +from screeninfo import get_monitors -from openbb_terminal.rich_config import console -from openbb_terminal import feature_flags as obbff -from openbb_terminal import config_terminal as cfg from openbb_terminal import config_plot as cfgPlot +from openbb_terminal import config_terminal as cfg +from openbb_terminal import feature_flags as obbff +from openbb_terminal.core.config import paths from openbb_terminal.core.config.paths import ( HOME_DIRECTORY, USER_ENV_FILE, USER_EXPORTS_DIRECTORY, load_dotenv_with_priority, ) -from openbb_terminal.core.config import paths +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/helpers_denomination.py b/openbb_terminal/helpers_denomination.py index 17a7ff83490..c42aa664566 100644 --- a/openbb_terminal/helpers_denomination.py +++ b/openbb_terminal/helpers_denomination.py @@ -1,6 +1,7 @@ """Denomination Helper functions""" -from typing import Literal, Tuple, Callable, Dict +from typing import Callable, Dict, Literal, Tuple + import pandas as pd from pandas._typing import Axis diff --git a/openbb_terminal/keys_controller.py b/openbb_terminal/keys_controller.py index 675452c6526..bcc4fa3c69d 100644 --- a/openbb_terminal/keys_controller.py +++ b/openbb_terminal/keys_controller.py @@ -9,15 +9,15 @@ from typing import Dict, List from tqdm import tqdm -from openbb_terminal import feature_flags as obbff, keys_view -from openbb_terminal import keys_model +from openbb_terminal import feature_flags as obbff +from openbb_terminal import keys_model, keys_view from openbb_terminal.core.config.paths import USER_ENV_FILE from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import EXPORT_ONLY_RAW_DATA_ALLOWED from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText, translate +from openbb_terminal.rich_config import MenuText, console, translate logger = logging.getLogger(__name__) diff --git a/openbb_terminal/keys_model.py b/openbb_terminal/keys_model.py index 82064b42b29..02cff5e57fa 100644 --- a/openbb_terminal/keys_model.py +++ b/openbb_terminal/keys_model.py @@ -3,39 +3,40 @@ __docformat__ = "numpy" # pylint: disable=too-many-lines -import sys +import contextlib +import io import logging import os -import contextlib +import sys from enum import Enum -import io from typing import Dict, List, Union -import dotenv + import binance +import dotenv +import oandapyV20.endpoints.pricing import pandas as pd +import praw +import pyEX import quandl import requests import stocksera -from prawcore.exceptions import ResponseException -import praw -import pyEX -import oandapyV20.endpoints.pricing -from oandapyV20 import API as oanda_API -from coinmarketcapapi import CoinMarketCapAPI -from tokenterminal import TokenTerminal from alpha_vantage.timeseries import TimeSeries -from openbb_terminal.cryptocurrency.coinbase_helpers import ( - CoinbaseProAuth, - make_coinbase_request, - CoinbaseApiException, -) +from coinmarketcapapi import CoinMarketCapAPI +from oandapyV20 import API as oanda_API +from prawcore.exceptions import ResponseException +from tokenterminal import TokenTerminal + from openbb_terminal import config_terminal as cfg from openbb_terminal.core.config.paths import USER_ENV_FILE -from openbb_terminal.rich_config import console +from openbb_terminal.cryptocurrency.coinbase_helpers import ( + CoinbaseApiException, + CoinbaseProAuth, + make_coinbase_request, +) from openbb_terminal.helper_funcs import request - -from openbb_terminal.terminal_helper import suppress_stdout from openbb_terminal.portfolio.brokers.degiro.degiro_model import DegiroModel +from openbb_terminal.rich_config import console +from openbb_terminal.terminal_helper import suppress_stdout logger = logging.getLogger(__name__) diff --git a/openbb_terminal/keys_view.py b/openbb_terminal/keys_view.py index 43db0ab1ea8..b6231b56137 100644 --- a/openbb_terminal/keys_view.py +++ b/openbb_terminal/keys_view.py @@ -3,8 +3,8 @@ __docformat__ = "numpy" import logging import os -from openbb_terminal import keys_model +from openbb_terminal import keys_model from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.rich_config import console diff --git a/openbb_terminal/loggers.py b/openbb_terminal/loggers.py index 268a9315b63..d4c0fe2a20b 100644 --- a/openbb_terminal/loggers.py +++ b/openbb_terminal/loggers.py @@ -21,11 +21,18 @@ from openbb_terminal.config_terminal import ( LOGGING_APP_NAME, LOGGING_AWS_ACCESS_KEY_ID, LOGGING_AWS_SECRET_ACCESS_KEY, + LOGGING_COMMIT_HASH, LOGGING_FREQUENCY, LOGGING_HANDLERS, LOGGING_ROLLING_CLOCK, LOGGING_VERBOSITY, - LOGGING_COMMIT_HASH, +) +from openbb_terminal.core.log.generation.directories import get_log_dir +from openbb_terminal.core.log.generation.formatter_with_exceptions import ( + FormatterWithExceptions, +) +from openbb_terminal.core.log.generation.path_tracking_file_handler import ( + PathTrackingFileHandler, ) from openbb_terminal.core.log.generation.settings import ( AppSettings, @@ -33,13 +40,6 @@ from openbb_terminal.core.log.generation.settings import ( LogSettings, Settings, ) -from openbb_terminal.core.log.generation.path_tracking_file_handler import ( - PathTrackingFileHandler, -) -from openbb_terminal.core.log.generation.formatter_with_exceptions import ( - FormatterWithExceptions, -) -from openbb_terminal.core.log.generation.directories import get_log_dir logging.getLogger("requests").setLevel(LOGGING_VERBOSITY) logging.getLogger("urllib3").setLevel(LOGGING_VERBOSITY) diff --git a/openbb_terminal/menu.py b/openbb_terminal/menu.py index 9b4909ac894..005e40c4bd1 100644 --- a/openbb_terminal/menu.py +++ b/openbb_terminal/menu.py @@ -1,7 +1,7 @@ -import sys -from typing import Optional import logging import os +import sys +from typing import Optional from matplotlib import pyplot from prompt_toolkit import PromptSession diff --git a/openbb_terminal/mutual_funds/avanza_view.py b/openbb_terminal/mutual_funds/avanza_view.py index 2f87be7878f..32a7ce6c6ea 100644 --- a/openbb_terminal/mutual_funds/avanza_view.py +++ b/openbb_terminal/mutual_funds/avanza_view.py @@ -6,9 +6,9 @@ import logging import pandas as pd from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import print_rich_table from openbb_terminal.mutual_funds import avanza_model +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/mutual_funds/investpy_model.py b/openbb_terminal/mutual_funds/investpy_model.py index 465b9ab1f8f..ec84d7b54ad 100644 --- a/openbb_terminal/mutual_funds/investpy_model.py +++ b/openbb_terminal/mutual_funds/investpy_model.py @@ -5,8 +5,8 @@ import logging from datetime import datetime, timedelta from typing import Tuple -import investpy import investiny +import investpy import pandas as pd from requests.exceptions import RequestException diff --git a/openbb_terminal/mutual_funds/investpy_view.py b/openbb_terminal/mutual_funds/investpy_view.py index b3deec260aa..e6caf3579e2 100644 --- a/openbb_terminal/mutual_funds/investpy_view.py +++ b/openbb_terminal/mutual_funds/investpy_view.py @@ -3,13 +3,14 @@ __docformat__ = "numpy" import logging import os -from typing import Optional, List +from typing import List, Optional import matplotlib.pyplot as plt import numpy as np import pandas as pd from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, @@ -18,7 +19,6 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.mutual_funds import investpy_model from openbb_terminal.rich_config import console -from openbb_terminal.config_terminal import theme logger = logging.getLogger(__name__) diff --git a/openbb_terminal/mutual_funds/mstarpy_view.py b/openbb_terminal/mutual_funds/mstarpy_view.py index 65c643ff5ec..c8b59e7a6cd 100644 --- a/openbb_terminal/mutual_funds/mstarpy_view.py +++ b/openbb_terminal/mutual_funds/mstarpy_view.py @@ -1,18 +1,18 @@ import logging from typing import Union -import mstarpy import matplotlib.pyplot as plt +import mstarpy import numpy as np import pandas as pd -from openbb_terminal.mutual_funds.mutual_funds_utils import mapping_country -from openbb_terminal.mutual_funds import mstarpy_model -from openbb_terminal.rich_config import console from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( print_rich_table, ) +from openbb_terminal.mutual_funds import mstarpy_model +from openbb_terminal.mutual_funds.mutual_funds_utils import mapping_country +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/mutual_funds/mutual_fund_controller.py b/openbb_terminal/mutual_funds/mutual_fund_controller.py index c86f2347a3f..1ef4a2f466e 100644 --- a/openbb_terminal/mutual_funds/mutual_fund_controller.py +++ b/openbb_terminal/mutual_funds/mutual_fund_controller.py @@ -6,11 +6,11 @@ import logging import os from datetime import datetime, timedelta from typing import List + import pandas as pd - -from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_ONLY_FIGURES_ALLOWED, @@ -24,7 +24,7 @@ from openbb_terminal.mutual_funds import ( ) from openbb_terminal.mutual_funds.mutual_funds_utils import mapping_country from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/parent_classes.py b/openbb_terminal/parent_classes.py index d67ed9d762e..c84353df4d2 100644 --- a/openbb_terminal/parent_classes.py +++ b/openbb_terminal/parent_classes.py @@ -19,15 +19,16 @@ from prompt_toolkit.formatted_text import HTML from prompt_toolkit.styles import Style from rich.markdown import Markdown +from openbb_terminal import feature_flags as obbff +from openbb_terminal.config_terminal import theme +from openbb_terminal.core.completer.choices import build_controller_choice_map from openbb_terminal.core.config.paths import ( USER_CUSTOM_IMPORTS_DIRECTORY, USER_ROUTINES_DIRECTORY, ) -from openbb_terminal.decorators import log_start_end +from openbb_terminal.cryptocurrency import cryptocurrency_helpers from openbb_terminal.custom_prompt_toolkit import NestedCompleter -from openbb_terminal.menu import session -from openbb_terminal import feature_flags as obbff -from openbb_terminal.config_terminal import theme +from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( check_file_type_saved, check_positive, @@ -42,11 +43,10 @@ from openbb_terminal.helper_funcs import ( system_clear, valid_date, ) +from openbb_terminal.menu import session from openbb_terminal.rich_config import console, get_ordered_list_sources from openbb_terminal.stocks import stocks_helper from openbb_terminal.terminal_helper import open_openbb_documentation -from openbb_terminal.cryptocurrency import cryptocurrency_helpers -from openbb_terminal.core.completer.choices import build_controller_choice_map logger = logging.getLogger(__name__) diff --git a/openbb_terminal/portfolio/attribution_model.py b/openbb_terminal/portfolio/attribution_model.py index dfa815b99de..795a29d2d55 100644 --- a/openbb_terminal/portfolio/attribution_model.py +++ b/openbb_terminal/portfolio/attribution_model.py @@ -1,13 +1,13 @@ """Attribution Model""" __docformat__ = "numpy" -from datetime import datetime -from datetime import date import logging +from datetime import date, datetime from typing import Dict -import yfinance as yf import pandas as pd +import yfinance as yf + from openbb_terminal.decorators import log_start_end logger = logging.getLogger(__name__) diff --git a/openbb_terminal/portfolio/brokers/ally/ally_controller.py b/openbb_terminal/portfolio/brokers/ally/ally_controller.py index 1a8ac160112..be83943ae67 100644 --- a/openbb_terminal/portfolio/brokers/ally/ally_controller.py +++ b/openbb_terminal/portfolio/brokers/ally/ally_controller.py @@ -5,9 +5,8 @@ import argparse import logging from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_ONLY_RAW_DATA_ALLOWED, @@ -15,7 +14,7 @@ from openbb_terminal.helper_funcs import ( from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController from openbb_terminal.portfolio.brokers.ally import ally_view -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/portfolio/brokers/bro_controller.py b/openbb_terminal/portfolio/brokers/bro_controller.py index 14cbb82da57..b0b4d35c11f 100644 --- a/openbb_terminal/portfolio/brokers/bro_controller.py +++ b/openbb_terminal/portfolio/brokers/bro_controller.py @@ -14,7 +14,7 @@ from openbb_terminal.portfolio.brokers.ally import ally_controller from openbb_terminal.portfolio.brokers.coinbase import coinbase_controller from openbb_terminal.portfolio.brokers.degiro import degiro_controller from openbb_terminal.portfolio.brokers.robinhood import robinhood_controller -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/portfolio/brokers/brokers_helpers.py b/openbb_terminal/portfolio/brokers/brokers_helpers.py index 76052965de7..00b5102dd3a 100644 --- a/openbb_terminal/portfolio/brokers/brokers_helpers.py +++ b/openbb_terminal/portfolio/brokers/brokers_helpers.py @@ -1,4 +1,5 @@ import pandas as pd + from openbb_terminal.rich_config import console diff --git a/openbb_terminal/portfolio/brokers/coinbase/coinbase_controller.py b/openbb_terminal/portfolio/brokers/coinbase/coinbase_controller.py index 983682e41eb..2017ea3792d 100644 --- a/openbb_terminal/portfolio/brokers/coinbase/coinbase_controller.py +++ b/openbb_terminal/portfolio/brokers/coinbase/coinbase_controller.py @@ -6,9 +6,8 @@ import argparse import logging from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_ONLY_RAW_DATA_ALLOWED, @@ -17,7 +16,7 @@ from openbb_terminal.helper_funcs import ( from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController from openbb_terminal.portfolio.brokers.coinbase import coinbase_view -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/portfolio/brokers/coinbase/coinbase_model.py b/openbb_terminal/portfolio/brokers/coinbase/coinbase_model.py index 43cf204a0ae..460fdc8125a 100644 --- a/openbb_terminal/portfolio/brokers/coinbase/coinbase_model.py +++ b/openbb_terminal/portfolio/brokers/coinbase/coinbase_model.py @@ -6,15 +6,15 @@ import logging import pandas as pd import openbb_terminal.config_terminal as cfg +import openbb_terminal.cryptocurrency.due_diligence.coinbase_model as cbm from openbb_terminal.cryptocurrency.coinbase_helpers import ( + CoinbaseApiException, CoinbaseProAuth, _check_account_validity, make_coinbase_request, - CoinbaseApiException, ) from openbb_terminal.decorators import log_start_end from openbb_terminal.rich_config import console -import openbb_terminal.cryptocurrency.due_diligence.coinbase_model as cbm logger = logging.getLogger(__name__) diff --git a/openbb_terminal/portfolio/brokers/coinbase/coinbase_view.py b/openbb_terminal/portfolio/brokers/coinbase/coinbase_view.py index 156c139534c..37af663ee90 100644 --- a/openbb_terminal/portfolio/brokers/coinbase/coinbase_view.py +++ b/openbb_terminal/portfolio/brokers/coinbase/coinbase_view.py @@ -4,8 +4,7 @@ __docformat__ = "numpy" import logging import os -from openbb_terminal.decorators import log_start_end -from openbb_terminal.decorators import check_api_key +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.portfolio.brokers.coinbase import coinbase_model diff --git a/openbb_terminal/portfolio/brokers/degiro/degiro_controller.py b/openbb_terminal/portfolio/brokers/degiro/degiro_controller.py index fedd0d50d81..558c9d2b143 100644 --- a/openbb_terminal/portfolio/brokers/degiro/degiro_controller.py +++ b/openbb_terminal/portfolio/brokers/degiro/degiro_controller.py @@ -4,10 +4,9 @@ import datetime import logging from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - # IMPORTATION INTERNAL from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_ONLY_RAW_DATA_ALLOWED, diff --git a/openbb_terminal/portfolio/brokers/degiro/degiro_model.py b/openbb_terminal/portfolio/brokers/degiro/degiro_model.py index 9c244b84958..ac78e139858 100644 --- a/openbb_terminal/portfolio/brokers/degiro/degiro_model.py +++ b/openbb_terminal/portfolio/brokers/degiro/degiro_model.py @@ -2,8 +2,8 @@ import datetime import logging import math -from typing import List, Union from pathlib import Path +from typing import List, Union # IMPORTATION THIRDPARTY import pandas as pd @@ -23,9 +23,9 @@ from degiro_connector.trading.models.trading_pb2 import ( # IMPORTATION INTERNAL import openbb_terminal.config_terminal as config -from openbb_terminal.rich_config import console from openbb_terminal.decorators import log_start_end from openbb_terminal.portfolio import portfolio_helper +from openbb_terminal.rich_config import console # pylint: disable=no-member,no-else-return diff --git a/openbb_terminal/portfolio/brokers/degiro/degiro_view.py b/openbb_terminal/portfolio/brokers/degiro/degiro_view.py index 5b97a5a3057..dace53cfa3c 100644 --- a/openbb_terminal/portfolio/brokers/degiro/degiro_view.py +++ b/openbb_terminal/portfolio/brokers/degiro/degiro_view.py @@ -14,15 +14,14 @@ from degiro_connector.trading.models.trading_pb2 import ( Update, ) -from openbb_terminal.decorators import log_start_end -from openbb_terminal.decorators import check_api_key +from openbb_terminal.decorators import check_api_key, log_start_end # IMPORTATION INTERNAL from openbb_terminal.helper_funcs import ( print_rich_table, ) from openbb_terminal.portfolio.brokers.degiro.degiro_model import DegiroModel -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console # pylint: disable=no-member diff --git a/openbb_terminal/portfolio/brokers/robinhood/robinhood_controller.py b/openbb_terminal/portfolio/brokers/robinhood/robinhood_controller.py index a707dc5ee7b..014c874f42f 100644 --- a/openbb_terminal/portfolio/brokers/robinhood/robinhood_controller.py +++ b/openbb_terminal/portfolio/brokers/robinhood/robinhood_controller.py @@ -5,11 +5,9 @@ import argparse import logging from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - -from openbb_terminal.decorators import check_api_key from openbb_terminal import feature_flags as obbff -from openbb_terminal.decorators import log_start_end +from openbb_terminal.custom_prompt_toolkit import NestedCompleter +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( EXPORT_ONLY_RAW_DATA_ALLOWED, ) @@ -19,7 +17,7 @@ from openbb_terminal.portfolio.brokers.robinhood import ( robinhood_model, robinhood_view, ) -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/portfolio/brokers/robinhood/robinhood_view.py b/openbb_terminal/portfolio/brokers/robinhood/robinhood_view.py index 7ca3ef55ffb..c4eff7966c6 100644 --- a/openbb_terminal/portfolio/brokers/robinhood/robinhood_view.py +++ b/openbb_terminal/portfolio/brokers/robinhood/robinhood_view.py @@ -7,8 +7,8 @@ import os import matplotlib.pyplot as plt import mplfinance as mpf -from openbb_terminal.config_terminal import theme from openbb_terminal import feature_flags as obbff +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, diff --git a/openbb_terminal/portfolio/metrics_model.py b/openbb_terminal/portfolio/metrics_model.py index 1453c124afb..0e5cec11f73 100644 --- a/openbb_terminal/portfolio/metrics_model.py +++ b/openbb_terminal/portfolio/metrics_model.py @@ -5,14 +5,14 @@ import logging from datetime import datetime from typing import Tuple -import pandas as pd import numpy as np +import pandas as pd -from openbb_terminal.decorators import log_start_end from openbb_terminal.core.config.paths import USER_PORTFOLIO_DATA_DIRECTORY -from openbb_terminal.rich_config import console -from openbb_terminal.portfolio.statics import PERIODS +from openbb_terminal.decorators import log_start_end from openbb_terminal.portfolio.portfolio_helper import filter_df_by_period +from openbb_terminal.portfolio.statics import PERIODS +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/portfolio/portfolio_analysis/reportlab_helpers.py b/openbb_terminal/portfolio/portfolio_analysis/reportlab_helpers.py index f722a82c58b..9d19e4e674e 100644 --- a/openbb_terminal/portfolio/portfolio_analysis/reportlab_helpers.py +++ b/openbb_terminal/portfolio/portfolio_analysis/reportlab_helpers.py @@ -5,8 +5,8 @@ from datetime import datetime from typing import List from reportlab.lib import colors -from reportlab.pdfgen import canvas from reportlab.lib.styles import ParagraphStyle, getSampleStyleSheet +from reportlab.pdfgen import canvas from reportlab.platypus import Paragraph, Table, TableStyle diff --git a/openbb_terminal/portfolio/portfolio_analysis/yfinance_model.py b/openbb_terminal/portfolio/portfolio_analysis/yfinance_model.py index 3cf25da5e7d..9a4c49dce85 100644 --- a/openbb_terminal/portfolio/portfolio_analysis/yfinance_model.py +++ b/openbb_terminal/portfolio/portfolio_analysis/yfinance_model.py @@ -2,11 +2,12 @@ __docformat__ = "numpy" import difflib -from typing import List from datetime import datetime, timedelta +from typing import List -import yfinance as yf import pandas as pd +import yfinance as yf + from openbb_terminal.stocks.sector_industry_analysis import financedatabase_model diff --git a/openbb_terminal/portfolio/portfolio_controller.py b/openbb_terminal/portfolio/portfolio_controller.py index f966d957447..66fc00e1ec8 100644 --- a/openbb_terminal/portfolio/portfolio_controller.py +++ b/openbb_terminal/portfolio/portfolio_controller.py @@ -4,32 +4,31 @@ __docformat__ = "numpy" import argparse import logging import os -from typing import List from datetime import date +from typing import List import pandas as pd -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.common.quantitative_analysis import qa_view +from openbb_terminal.core.config.paths import MISCELLANEOUS_DIRECTORY +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, EXPORT_ONLY_FIGURES_ALLOWED, EXPORT_ONLY_RAW_DATA_ALLOWED, ) - from openbb_terminal.menu import session -from openbb_terminal.core.config.paths import MISCELLANEOUS_DIRECTORY from openbb_terminal.parent_classes import BaseController +from openbb_terminal.portfolio import ( + attribution_model, + portfolio_helper, + portfolio_view, + statics, +) from openbb_terminal.portfolio.portfolio_model import generate_portfolio -from openbb_terminal.portfolio import statics -from openbb_terminal.portfolio import portfolio_view -from openbb_terminal.portfolio import portfolio_helper -from openbb_terminal.portfolio import attribution_model - -from openbb_terminal.rich_config import console, MenuText -from openbb_terminal.common.quantitative_analysis import qa_view +from openbb_terminal.rich_config import MenuText, console try: from openbb_terminal.portfolio.portfolio_optimization import po_controller diff --git a/openbb_terminal/portfolio/portfolio_engine.py b/openbb_terminal/portfolio/portfolio_engine.py index 9bc37d36359..8a4357cec06 100644 --- a/openbb_terminal/portfolio/portfolio_engine.py +++ b/openbb_terminal/portfolio/portfolio_engine.py @@ -1,23 +1,24 @@ """Portfolio Engine""" __docformat__ = "numpy" -from os import environ -import warnings -import logging -from typing import Dict, Any import datetime +import logging +import warnings +from os import environ +from typing import Any, Dict import numpy as np import pandas as pd import yfinance as yf from tqdm import tqdm + from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console -from openbb_terminal.portfolio.portfolio_helper import ( - make_equal_length, - get_info_from_ticker, -) from openbb_terminal.portfolio.allocation_model import get_allocation +from openbb_terminal.portfolio.portfolio_helper import ( + get_info_from_ticker, + make_equal_length, +) +from openbb_terminal.rich_config import console from openbb_terminal.terminal_helper import suppress_stdout # pylint: disable=E1136,W0201,R0902,C0302 diff --git a/openbb_terminal/portfolio/portfolio_helper.py b/openbb_terminal/portfolio/portfolio_helper.py index c8f052ea82c..4022bbb8462 100644 --- a/openbb_terminal/portfolio/portfolio_helper.py +++ b/openbb_terminal/portfolio/portfolio_helper.py @@ -1,20 +1,20 @@ """Portfolio Helper""" __docformat__ = "numpy" -import logging -from datetime import datetime, date -import os -from pathlib import Path import csv +import logging +import os +from datetime import date, datetime +from pathlib import Path from typing import List + +import pandas as pd +import yfinance as yf from dateutil.relativedelta import relativedelta -import yfinance as yf -import pandas as pd - from openbb_terminal.core.config.paths import USER_PORTFOLIO_DATA_DIRECTORY -from openbb_terminal.rich_config import console from openbb_terminal.portfolio.statics import REGIONS +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/portfolio/portfolio_model.py b/openbb_terminal/portfolio/portfolio_model.py index 6cd87b810b9..f6703b0ec6c 100644 --- a/openbb_terminal/portfolio/portfolio_model.py +++ b/openbb_terminal/portfolio/portfolio_model.py @@ -5,15 +5,15 @@ import logging from typing import Tuple, Union import numpy as np -import scipy import pandas as pd +import scipy from sklearn.metrics import r2_score + from openbb_terminal.common.quantitative_analysis import qa_model from openbb_terminal.decorators import log_start_end -from openbb_terminal.portfolio.statics import PERIODS -from openbb_terminal.portfolio import portfolio_helper, metrics_model +from openbb_terminal.portfolio import metrics_model, portfolio_helper from openbb_terminal.portfolio.portfolio_engine import PortfolioEngine - +from openbb_terminal.portfolio.statics import PERIODS # pylint: disable=E1136,W0201,R0902,C0302, consider-using-f-string, consider-iterating-dictionary # pylint: disable=unsupported-assignment-operation,redefined-outer-name,too-many-public-methods diff --git a/openbb_terminal/portfolio/portfolio_optimization/optimizer_helper.py b/openbb_terminal/portfolio/portfolio_optimization/optimizer_helper.py index 9284da4bf35..5d8c4437461 100644 --- a/openbb_terminal/portfolio/portfolio_optimization/optimizer_helper.py +++ b/openbb_terminal/portfolio/portfolio_optimization/optimizer_helper.py @@ -3,11 +3,12 @@ __docformat__ = "numpy" import argparse from typing import Any + import pandas as pd from openbb_terminal.portfolio.portfolio_optimization.statics import ( - RISK_CHOICES, OPTIMIZATION_PARAMETERS, + RISK_CHOICES, TERMINAL_TEMPLATE_MAP, ) from openbb_terminal.rich_config import console diff --git a/openbb_terminal/portfolio/portfolio_optimization/parameters/params_controller.py b/openbb_terminal/portfolio/portfolio_optimization/parameters/params_controller.py index d3c6649d39e..15ba1f7276a 100644 --- a/openbb_terminal/portfolio/portfolio_optimization/parameters/params_controller.py +++ b/openbb_terminal/portfolio/portfolio_optimization/parameters/params_controller.py @@ -7,21 +7,22 @@ import argparse import logging from typing import List, Optional -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.portfolio.portfolio_optimization.parameters import params_view -from openbb_terminal.portfolio.portfolio_optimization.parameters import params_helpers +from openbb_terminal.portfolio.portfolio_optimization.parameters import ( + params_helpers, + params_view, +) from openbb_terminal.portfolio.portfolio_optimization.parameters.params_statics import ( AVAILABLE_OPTIONS, - DEFAULT_PARAMETERS, DEFAULT_BOOL, + DEFAULT_PARAMETERS, MODEL_PARAMS, ) -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/portfolio/portfolio_optimization/parameters/params_helpers.py b/openbb_terminal/portfolio/portfolio_optimization/parameters/params_helpers.py index 8eda16b06b4..b2c34e5d9b1 100644 --- a/openbb_terminal/portfolio/portfolio_optimization/parameters/params_helpers.py +++ b/openbb_terminal/portfolio/portfolio_optimization/parameters/params_helpers.py @@ -1,14 +1,15 @@ import argparse -from datetime import datetime, date -from typing import Any, Dict, List +from datetime import date, datetime from pathlib import Path -from openbb_terminal.helper_funcs import log_and_raise +from typing import Any, Dict, List + from openbb_terminal.core.config import paths -from openbb_terminal.rich_config import console +from openbb_terminal.helper_funcs import log_and_raise from openbb_terminal.portfolio.portfolio_optimization.statics import ( OPTIMIZATION_PARAMETERS, TERMINAL_TEMPLATE_MAP, ) +from openbb_terminal.rich_config import console def check_save_file(file: str) -> str: diff --git a/openbb_terminal/portfolio/portfolio_optimization/parameters/params_view.py b/openbb_terminal/portfolio/portfolio_optimization/parameters/params_view.py index 23a3d9b942f..71007a80741 100644 --- a/openbb_terminal/portfolio/portfolio_optimization/parameters/params_view.py +++ b/openbb_terminal/portfolio/portfolio_optimization/parameters/params_view.py @@ -1,18 +1,18 @@ import configparser -from typing import Tuple from pathlib import Path +from typing import Tuple import pandas as pd +from openbb_terminal.core.config import paths from openbb_terminal.helper_funcs import print_rich_table from openbb_terminal.portfolio.portfolio_optimization import excel_model -from openbb_terminal.rich_config import console from openbb_terminal.portfolio.portfolio_optimization.parameters import params_statics from openbb_terminal.portfolio.portfolio_optimization.parameters.params_helpers import ( booltostr, check_convert_parameters, ) -from openbb_terminal.core.config import paths +from openbb_terminal.rich_config import console def load_file(path: str = "") -> Tuple[dict, str]: diff --git a/openbb_terminal/portfolio/portfolio_optimization/po_controller.py b/openbb_terminal/portfolio/portfolio_optimization/po_controller.py index 5f46611af73..43b08df479a 100644 --- a/openbb_terminal/portfolio/portfolio_optimization/po_controller.py +++ b/openbb_terminal/portfolio/portfolio_optimization/po_controller.py @@ -5,9 +5,7 @@ __docformat__ = "numpy" import argparse import logging -from typing import List, Dict, Tuple - -from openbb_terminal.custom_prompt_toolkit import NestedCompleter +from typing import Dict, List, Tuple from openbb_terminal import feature_flags as obbff from openbb_terminal import parent_classes @@ -16,6 +14,7 @@ from openbb_terminal.core.config.paths import ( USER_EXPORTS_DIRECTORY, USER_PORTFOLIO_DATA_DIRECTORY, ) +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( check_non_negative, @@ -23,19 +22,19 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.portfolio.portfolio_optimization import excel_model from openbb_terminal.portfolio.portfolio_optimization import ( + excel_model, optimizer_helper, optimizer_model, optimizer_view, statics, + yahoo_finance_model, ) -from openbb_terminal.portfolio.portfolio_optimization import yahoo_finance_model from openbb_terminal.portfolio.portfolio_optimization.parameters import ( params_controller, params_view, ) -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/portfolio/portfolio_optimization/po_engine.py b/openbb_terminal/portfolio/portfolio_optimization/po_engine.py index 4288b1a0a61..0742e3a244b 100644 --- a/openbb_terminal/portfolio/portfolio_optimization/po_engine.py +++ b/openbb_terminal/portfolio/portfolio_optimization/po_engine.py @@ -1,9 +1,11 @@ from typing import Dict, List, Tuple + import pandas as pd + from openbb_terminal.portfolio.portfolio_optimization import ( excel_model, - optimizer_model, optimizer_helper, + optimizer_model, ) from openbb_terminal.portfolio.portfolio_optimization.parameters import params_view from openbb_terminal.rich_config import console diff --git a/openbb_terminal/portfolio/portfolio_optimization/statics.py b/openbb_terminal/portfolio/portfolio_optimization/statics.py index 3da9963b6f5..f20eb4d8d8a 100644 --- a/openbb_terminal/portfolio/portfolio_optimization/statics.py +++ b/openbb_terminal/portfolio/portfolio_optimization/statics.py @@ -1,10 +1,10 @@ from typing import List, Optional + from openbb_terminal.helper_funcs import get_rf from openbb_terminal.portfolio.portfolio_optimization.parameters.Parameter import ( Parameter, ) - PERIOD_CHOICES = [ "1d", "5d", diff --git a/openbb_terminal/portfolio/portfolio_optimization/yahoo_finance_model.py b/openbb_terminal/portfolio/portfolio_optimization/yahoo_finance_model.py index a0d0ae5697e..e54fe7133f9 100644 --- a/openbb_terminal/portfolio/portfolio_optimization/yahoo_finance_model.py +++ b/openbb_terminal/portfolio/portfolio_optimization/yahoo_finance_model.py @@ -11,7 +11,7 @@ from typing import List import numpy as np import pandas as pd import yfinance as yf -from dateutil.relativedelta import relativedelta, FR +from dateutil.relativedelta import FR, relativedelta from openbb_terminal.decorators import log_start_end diff --git a/openbb_terminal/portfolio/portfolio_view.py b/openbb_terminal/portfolio/portfolio_view.py index 6d3d303b40f..e5734881216 100644 --- a/openbb_terminal/portfolio/portfolio_view.py +++ b/openbb_terminal/portfolio/portfolio_view.py @@ -2,64 +2,63 @@ __docformat__ = "numpy" import logging -from typing import List, Optional import os - from datetime import datetime +from typing import List, Optional + import numpy as np import pandas as pd -from matplotlib import pyplot as plt import seaborn as sns +from matplotlib import pyplot as plt from openbb_terminal.common.quantitative_analysis import qa_view -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI -from openbb_terminal.portfolio.portfolio_model import ( - PortfolioEngine, - get_transactions, - get_daily_returns, - get_performance_vs_benchmark, - get_yearly_returns, - get_monthly_returns, - get_distribution_returns, - get_holdings_value, - get_holdings_percentage, - get_rolling_volatility, - get_rolling_sharpe, - get_rolling_sortino, - get_rolling_beta, - get_maximum_drawdown, - get_r2_score, - get_skewness, - get_kurtosis, - get_stats, - get_assets_allocation, - get_sectors_allocation, - get_countries_allocation, - get_regions_allocation, - get_volatility, - get_sharpe_ratio, - get_sortino_ratio, - get_maximum_drawdown_ratio, - get_gaintopain_ratio, - get_tracking_error, - get_information_ratio, - get_tail_ratio, - get_common_sense_ratio, - get_jensens_alpha, - get_calmar_ratio, - get_kelly_criterion, - get_payoff_ratio, - get_profit_factor, - get_summary, -) - +from openbb_terminal.config_terminal import theme +from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, plot_autoscale, print_rich_table, ) -from openbb_terminal.decorators import log_start_end +from openbb_terminal.portfolio.portfolio_model import ( + PortfolioEngine, + get_assets_allocation, + get_calmar_ratio, + get_common_sense_ratio, + get_countries_allocation, + get_daily_returns, + get_distribution_returns, + get_gaintopain_ratio, + get_holdings_percentage, + get_holdings_value, + get_information_ratio, + get_jensens_alpha, + get_kelly_criterion, + get_kurtosis, + get_maximum_drawdown, + get_maximum_drawdown_ratio, + get_monthly_returns, + get_payoff_ratio, + get_performance_vs_benchmark, + get_profit_factor, + get_r2_score, + get_regions_allocation, + get_rolling_beta, + get_rolling_sharpe, + get_rolling_sortino, + get_rolling_volatility, + get_sectors_allocation, + get_sharpe_ratio, + get_skewness, + get_sortino_ratio, + get_stats, + get_summary, + get_tail_ratio, + get_tracking_error, + get_transactions, + get_volatility, + get_yearly_returns, +) from openbb_terminal.rich_config import console # pylint: disable=C0302,redefined-outer-name diff --git a/openbb_terminal/reports/reports_controller.py b/openbb_terminal/reports/reports_controller.py index 982d0a7ddc4..c45125f59fb 100644 --- a/openbb_terminal/reports/reports_controller.py +++ b/openbb_terminal/reports/reports_controller.py @@ -13,12 +13,12 @@ from openbb_terminal import feature_flags as obbff from openbb_terminal.core.config.paths import ( USER_CUSTOM_REPORTS_DIRECTORY, ) -from openbb_terminal.reports import reports_model from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.reports import reports_model +from openbb_terminal.rich_config import MenuText, console # from openbb_terminal.terminal_helper import is_packaged_application diff --git a/openbb_terminal/reports/reports_model.py b/openbb_terminal/reports/reports_model.py index 2a1201249f4..cf3d9df894f 100644 --- a/openbb_terminal/reports/reports_model.py +++ b/openbb_terminal/reports/reports_model.py @@ -5,26 +5,27 @@ import logging # pylint: disable=R1732, R0912 import os -from pathlib import Path -from threading import Thread import webbrowser from ast import literal_eval from datetime import datetime +from pathlib import Path +from threading import Thread from typing import Any, Dict, List, Union -from ipykernel.kernelapp import IPKernelApp -import papermill as pm + import pandas as pd +import papermill as pm +from ipykernel.kernelapp import IPKernelApp from openbb_terminal import feature_flags as obbff from openbb_terminal.core.config.paths import ( MISCELLANEOUS_DIRECTORY, + USER_CUSTOM_REPORTS_DIRECTORY, USER_PORTFOLIO_DATA_DIRECTORY, USER_REPORTS_DIRECTORY, - USER_CUSTOM_REPORTS_DIRECTORY, ) from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.forex.forex_controller import FX_TICKERS +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/reports/widget_helpers.py b/openbb_terminal/reports/widget_helpers.py index 6e610c8c217..0f6c2ccea34 100644 --- a/openbb_terminal/reports/widget_helpers.py +++ b/openbb_terminal/reports/widget_helpers.py @@ -4,9 +4,10 @@ A library of `ipywidgets` wrappers for notebook based reports and voila dashboar The library includes both python code and html/css/js elements that can be found in the `./widgets` folder. """ +import base64 import os from typing import List -import base64 + from jinja2 import Template diff --git a/openbb_terminal/rich_config.py b/openbb_terminal/rich_config.py index dc1c771442f..4b61f1bd11c 100644 --- a/openbb_terminal/rich_config.py +++ b/openbb_terminal/rich_config.py @@ -1,17 +1,19 @@ """Rich Module""" __docformat__ = "numpy" -import os import json +import os from pathlib import Path from typing import Tuple + +import i18n from rich import panel from rich.console import Console, Theme from rich.text import Text -import i18n -from openbb_terminal.core.config.paths import MISCELLANEOUS_DIRECTORY + from openbb_terminal import config_terminal as cfg from openbb_terminal import feature_flags as obbff +from openbb_terminal.core.config.paths import MISCELLANEOUS_DIRECTORY # pylint: disable=no-member,c-extension-no-member diff --git a/openbb_terminal/sdk.py b/openbb_terminal/sdk.py index dfda182141d..4f7e86292ba 100644 --- a/openbb_terminal/sdk.py +++ b/openbb_terminal/sdk.py @@ -1,15 +1,13 @@ # pylint: disable=unused-import -from openbb_terminal.config_terminal import theme # noqa: F401 -from openbb_terminal.helper_classes import TerminalStyle from openbb_terminal import helper_funcs as helper # noqa: F401 -from openbb_terminal.reports import widget_helpers as widgets # noqa: F401 +from openbb_terminal.config_terminal import theme # noqa: F401 +from openbb_terminal.core.library.breadcrumb import Breadcrumb, MetadataBuilder +from openbb_terminal.core.library.trail_map import TrailMap from openbb_terminal.cryptocurrency.due_diligence.pycoingecko_model import ( Coin, # noqa: F401 ) - -from openbb_terminal.core.library.breadcrumb import Breadcrumb -from openbb_terminal.core.library.trail_map import TrailMap -from openbb_terminal.core.library.breadcrumb import MetadataBuilder +from openbb_terminal.helper_classes import TerminalStyle +from openbb_terminal.reports import widget_helpers as widgets # noqa: F401 TerminalStyle().applyMPLstyle() trail = "" diff --git a/openbb_terminal/settings_controller.py b/openbb_terminal/settings_controller.py index 9b6324f9b17..976952b250c 100644 --- a/openbb_terminal/settings_controller.py +++ b/openbb_terminal/settings_controller.py @@ -2,12 +2,13 @@ __docformat__ = "numpy" # IMPORTATION STANDARD -import os -import os.path import argparse import logging +import os +import os.path from pathlib import Path from typing import List + import pytz # IMPORTATION THIRDPARTY @@ -16,7 +17,7 @@ from dotenv import set_key # IMPORTATION INTERNAL from openbb_terminal import config_plot as cfg_plot from openbb_terminal import feature_flags as obbff -from openbb_terminal.core.config.paths import USER_ENV_FILE, USER_DATA_DIRECTORY +from openbb_terminal.core.config.paths import USER_DATA_DIRECTORY, USER_ENV_FILE from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( @@ -27,7 +28,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console # pylint: disable=too-many-lines,no-member,too-many-public-methods,C0302 # pylint: disable=import-outside-toplevel diff --git a/openbb_terminal/sources_controller.py b/openbb_terminal/sources_controller.py index 8853723dfed..5317ea91603 100644 --- a/openbb_terminal/sources_controller.py +++ b/openbb_terminal/sources_controller.py @@ -7,10 +7,9 @@ import json import logging import os from pathlib import Path -from typing import List, Dict +from typing import Dict, List # IMPORTATION THIRDPARTY - # IMPORTATION INTERNAL from openbb_terminal import feature_flags as obbff from openbb_terminal.core.config.paths import MISCELLANEOUS_DIRECTORY @@ -18,7 +17,7 @@ from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console # pylint: disable=too-many-lines,no-member,too-many-public-methods,C0302 # pylint:disable=import-outside-toplevel diff --git a/openbb_terminal/stocks/backtesting/bt_controller.py b/openbb_terminal/stocks/backtesting/bt_controller.py index c32fbbc19da..b26c268238d 100644 --- a/openbb_terminal/stocks/backtesting/bt_controller.py +++ b/openbb_terminal/stocks/backtesting/bt_controller.py @@ -2,14 +2,15 @@ __docformat__ = "numpy" import argparse -from typing import List import logging +from typing import List + import matplotlib as mpl import pandas as pd -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter +from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_ONLY_RAW_DATA_ALLOWED, check_non_negative_float, @@ -18,8 +19,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText -from openbb_terminal.decorators import log_start_end +from openbb_terminal.rich_config import MenuText, console # This code below aims to fix an issue with the fnn module, used by bt module # which forces matplotlib backend to be 'agg' which doesn't allow to plot diff --git a/openbb_terminal/stocks/backtesting/bt_model.py b/openbb_terminal/stocks/backtesting/bt_model.py index 772aafa21a1..20258824e4e 100644 --- a/openbb_terminal/stocks/backtesting/bt_model.py +++ b/openbb_terminal/stocks/backtesting/bt_model.py @@ -9,8 +9,8 @@ import pandas as pd import pandas_ta as ta import yfinance as yf -from openbb_terminal.decorators import log_start_end from openbb_terminal.common.technical_analysis import ta_helpers +from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import is_intraday logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/backtesting/bt_view.py b/openbb_terminal/stocks/backtesting/bt_view.py index bf073e4e145..f0d62fed8f8 100644 --- a/openbb_terminal/stocks/backtesting/bt_view.py +++ b/openbb_terminal/stocks/backtesting/bt_view.py @@ -12,14 +12,14 @@ import pandas as pd import yfinance as yf from pandas.plotting import register_matplotlib_converters -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, is_intraday, - plot_autoscale, is_valid_axes_count, + plot_autoscale, ) from openbb_terminal.rich_config import console from openbb_terminal.stocks.backtesting import bt_model diff --git a/openbb_terminal/stocks/behavioural_analysis/ba_controller.py b/openbb_terminal/stocks/behavioural_analysis/ba_controller.py index 398b7016238..03049dfc0c8 100644 --- a/openbb_terminal/stocks/behavioural_analysis/ba_controller.py +++ b/openbb_terminal/stocks/behavioural_analysis/ba_controller.py @@ -8,8 +8,6 @@ from typing import List import yfinance as yf -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff from openbb_terminal.common.behavioural_analysis import ( finbrain_view, @@ -18,7 +16,7 @@ from openbb_terminal.common.behavioural_analysis import ( stocktwits_view, twitter_view, ) -from openbb_terminal.stocks.behavioural_analysis import finnhub_view, cramer_view +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, @@ -29,7 +27,8 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import StockBaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console +from openbb_terminal.stocks.behavioural_analysis import cramer_view, finnhub_view # pylint:disable=R0904,C0302 diff --git a/openbb_terminal/stocks/behavioural_analysis/cramer_model.py b/openbb_terminal/stocks/behavioural_analysis/cramer_model.py index 2ed1d036813..0ea0a71be96 100644 --- a/openbb_terminal/stocks/behavioural_analysis/cramer_model.py +++ b/openbb_terminal/stocks/behavioural_analysis/cramer_model.py @@ -1,20 +1,19 @@ """Cramer Model""" __docformat__ = "numpy" -import os import logging +import os import re -import pandas as pd +import certifi import numpy as np +import pandas as pd import yfinance as yf from bs4 import BeautifulSoup -import certifi from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import request - logger = logging.getLogger(__name__) # Necessary only for installer to identify where SSL certs are diff --git a/openbb_terminal/stocks/behavioural_analysis/cramer_view.py b/openbb_terminal/stocks/behavioural_analysis/cramer_view.py index 5eec6369263..2d83fd2ca58 100644 --- a/openbb_terminal/stocks/behavioural_analysis/cramer_view.py +++ b/openbb_terminal/stocks/behavioural_analysis/cramer_view.py @@ -1,26 +1,26 @@ """Cramer View""" __docformat__ = "numpy" -import os -from typing import Optional, List import logging +import os from datetime import datetime +from typing import List, Optional import matplotlib.pyplot as plt -from matplotlib.dates import DateFormatter import yfinance +from matplotlib.dates import DateFormatter import openbb_terminal.config_plot as cfp from openbb_terminal.config_terminal import theme -from openbb_terminal.helper_funcs import ( - print_rich_table, - export_data, - plot_autoscale, - is_valid_axes_count, -) -from openbb_terminal.stocks.behavioural_analysis import cramer_model -from openbb_terminal.rich_config import console from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import ( + export_data, + is_valid_axes_count, + plot_autoscale, + print_rich_table, +) +from openbb_terminal.rich_config import console +from openbb_terminal.stocks.behavioural_analysis import cramer_model logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/behavioural_analysis/finnhub_model.py b/openbb_terminal/stocks/behavioural_analysis/finnhub_model.py index a29b8e204a4..c170152142a 100644 --- a/openbb_terminal/stocks/behavioural_analysis/finnhub_model.py +++ b/openbb_terminal/stocks/behavioural_analysis/finnhub_model.py @@ -2,12 +2,13 @@ __docformat__ = "numpy" import logging - from datetime import datetime, timedelta -from typing import List, Dict, Optional +from typing import Dict, List, Optional + import finnhub import pandas as pd from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer + from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import similar diff --git a/openbb_terminal/stocks/behavioural_analysis/finnhub_view.py b/openbb_terminal/stocks/behavioural_analysis/finnhub_view.py index 69932fb2674..c8dfd22a87a 100644 --- a/openbb_terminal/stocks/behavioural_analysis/finnhub_view.py +++ b/openbb_terminal/stocks/behavioural_analysis/finnhub_view.py @@ -2,23 +2,23 @@ __docformat__ = "numpy" import logging - import os -from typing import Optional, List +from typing import List, Optional + import numpy as np import pandas as pd import yfinance as yf from matplotlib import pyplot as plt -from openbb_terminal.stocks.behavioural_analysis import finnhub_model -from openbb_terminal.decorators import log_start_end -from openbb_terminal.config_terminal import theme + from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, is_valid_axes_count, + plot_autoscale, ) -from openbb_terminal.decorators import check_api_key +from openbb_terminal.stocks.behavioural_analysis import finnhub_model logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/cboe_model.py b/openbb_terminal/stocks/cboe_model.py index e18a51cee65..a7ca0561d66 100644 --- a/openbb_terminal/stocks/cboe_model.py +++ b/openbb_terminal/stocks/cboe_model.py @@ -4,8 +4,8 @@ __docformat__ = "numpy" from typing import Tuple import pandas as pd -from openbb_terminal.helper_funcs import request +from openbb_terminal.helper_funcs import request from openbb_terminal.rich_config import console diff --git a/openbb_terminal/stocks/cboe_view.py b/openbb_terminal/stocks/cboe_view.py index 4aafecd535d..53e1de5a772 100644 --- a/openbb_terminal/stocks/cboe_view.py +++ b/openbb_terminal/stocks/cboe_view.py @@ -2,9 +2,10 @@ __docformat__ = "numpy" import pandas as pd -from openbb_terminal.stocks import cboe_model + from openbb_terminal.helper_funcs import print_rich_table from openbb_terminal.rich_config import console +from openbb_terminal.stocks import cboe_model def display_top_of_book(symbol: str, exchange: str = "BZX"): diff --git a/openbb_terminal/stocks/comparison_analysis/ca_controller.py b/openbb_terminal/stocks/comparison_analysis/ca_controller.py index 1d9988c5947..73ea91cd223 100644 --- a/openbb_terminal/stocks/comparison_analysis/ca_controller.py +++ b/openbb_terminal/stocks/comparison_analysis/ca_controller.py @@ -9,21 +9,20 @@ from typing import List import yfinance as yf -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, EXPORT_ONLY_RAW_DATA_ALLOWED, check_non_negative, check_positive, - valid_date, check_start_less_than_end, + valid_date, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText, get_ordered_list_sources +from openbb_terminal.rich_config import MenuText, console, get_ordered_list_sources from openbb_terminal.stocks.comparison_analysis import ( finbrain_view, finnhub_model, diff --git a/openbb_terminal/stocks/comparison_analysis/finbrain_model.py b/openbb_terminal/stocks/comparison_analysis/finbrain_model.py index 109e0683cd2..bf0d8c1646f 100644 --- a/openbb_terminal/stocks/comparison_analysis/finbrain_model.py +++ b/openbb_terminal/stocks/comparison_analysis/finbrain_model.py @@ -5,9 +5,9 @@ import logging from typing import List, Tuple import pandas as pd -from openbb_terminal.helper_funcs import request from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import request from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/comparison_analysis/finbrain_view.py b/openbb_terminal/stocks/comparison_analysis/finbrain_view.py index 08dc17f4c23..d83918f519f 100644 --- a/openbb_terminal/stocks/comparison_analysis/finbrain_view.py +++ b/openbb_terminal/stocks/comparison_analysis/finbrain_view.py @@ -11,14 +11,14 @@ import seaborn as sns from matplotlib import pyplot as plt from pandas.plotting import register_matplotlib_converters -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console from openbb_terminal.stocks.comparison_analysis import finbrain_model diff --git a/openbb_terminal/stocks/comparison_analysis/finnhub_model.py b/openbb_terminal/stocks/comparison_analysis/finnhub_model.py index ddd74a3b3fa..ad240652c21 100644 --- a/openbb_terminal/stocks/comparison_analysis/finnhub_model.py +++ b/openbb_terminal/stocks/comparison_analysis/finnhub_model.py @@ -4,10 +4,9 @@ __docformat__ = "numpy" import logging from typing import List -from openbb_terminal.helper_funcs import request - from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import check_api_key, log_start_end +from openbb_terminal.helper_funcs import request from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/comparison_analysis/marketwatch_view.py b/openbb_terminal/stocks/comparison_analysis/marketwatch_view.py index ccf2ba787d3..e08064909d8 100644 --- a/openbb_terminal/stocks/comparison_analysis/marketwatch_view.py +++ b/openbb_terminal/stocks/comparison_analysis/marketwatch_view.py @@ -1,11 +1,12 @@ """ Comparison Analysis Marketwatch View """ __docformat__ = "numpy" -from datetime import datetime import logging import os +from datetime import datetime from typing import List +from openbb_terminal import rich_config from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, @@ -14,7 +15,6 @@ from openbb_terminal.helper_funcs import ( print_rich_table, ) from openbb_terminal.stocks.comparison_analysis import marketwatch_model -from openbb_terminal import rich_config logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/comparison_analysis/polygon_model.py b/openbb_terminal/stocks/comparison_analysis/polygon_model.py index f2d712c1fc7..f2eec683b0e 100644 --- a/openbb_terminal/stocks/comparison_analysis/polygon_model.py +++ b/openbb_terminal/stocks/comparison_analysis/polygon_model.py @@ -6,8 +6,8 @@ from typing import List from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import check_api_key, log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/comparison_analysis/sdk_helpers.py b/openbb_terminal/stocks/comparison_analysis/sdk_helpers.py index 7a709b9d4b9..cf618fbcb44 100644 --- a/openbb_terminal/stocks/comparison_analysis/sdk_helpers.py +++ b/openbb_terminal/stocks/comparison_analysis/sdk_helpers.py @@ -3,11 +3,10 @@ __docformat__ = "numpy" from typing import List - from openbb_terminal.stocks.comparison_analysis import ( + finnhub_model, finviz_compare_model, polygon_model, - finnhub_model, yahoo_finance_model, ) diff --git a/openbb_terminal/stocks/comparison_analysis/yahoo_finance_model.py b/openbb_terminal/stocks/comparison_analysis/yahoo_finance_model.py index f7d8b4aee28..3c4b7b1c128 100644 --- a/openbb_terminal/stocks/comparison_analysis/yahoo_finance_model.py +++ b/openbb_terminal/stocks/comparison_analysis/yahoo_finance_model.py @@ -2,9 +2,9 @@ __docformat__ = "numpy" import logging +import warnings from datetime import datetime, timedelta from typing import List, Optional, Tuple -import warnings import numpy as np import pandas as pd diff --git a/openbb_terminal/stocks/comparison_analysis/yahoo_finance_view.py b/openbb_terminal/stocks/comparison_analysis/yahoo_finance_view.py index 7e2454e0b8b..39338a785c4 100644 --- a/openbb_terminal/stocks/comparison_analysis/yahoo_finance_view.py +++ b/openbb_terminal/stocks/comparison_analysis/yahoo_finance_view.py @@ -13,13 +13,13 @@ import seaborn as sns from pandas.plotting import register_matplotlib_converters from sklearn.preprocessing import MinMaxScaler -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, is_valid_axes_count, + plot_autoscale, print_rich_table, ) from openbb_terminal.stocks.comparison_analysis import yahoo_finance_model diff --git a/openbb_terminal/stocks/dark_pool_shorts/dps_controller.py b/openbb_terminal/stocks/dark_pool_shorts/dps_controller.py index 58cb2cca04d..0a58f5ff4ab 100644 --- a/openbb_terminal/stocks/dark_pool_shorts/dps_controller.py +++ b/openbb_terminal/stocks/dark_pool_shorts/dps_controller.py @@ -8,9 +8,8 @@ from typing import List import pandas as pd -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, @@ -21,16 +20,16 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import StockBaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console from openbb_terminal.stocks.dark_pool_shorts import ( finra_view, + ibkr_view, quandl_view, sec_view, shortinterest_view, stockgrid_view, - yahoofinance_view, - ibkr_view, stocksera_view, + yahoofinance_view, ) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/dark_pool_shorts/finra_model.py b/openbb_terminal/stocks/dark_pool_shorts/finra_model.py index 65e3bd0d577..b5d160aa6c1 100644 --- a/openbb_terminal/stocks/dark_pool_shorts/finra_model.py +++ b/openbb_terminal/stocks/dark_pool_shorts/finra_model.py @@ -9,8 +9,8 @@ import requests from scipy import stats from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/dark_pool_shorts/finra_view.py b/openbb_terminal/stocks/dark_pool_shorts/finra_view.py index cf9bd971b13..643c0ab3b8d 100644 --- a/openbb_terminal/stocks/dark_pool_shorts/finra_view.py +++ b/openbb_terminal/stocks/dark_pool_shorts/finra_view.py @@ -9,13 +9,13 @@ import matplotlib.dates as mdates import pandas as pd from matplotlib import pyplot as plt -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, is_valid_axes_count, + plot_autoscale, ) from openbb_terminal.rich_config import console from openbb_terminal.stocks.dark_pool_shorts import finra_model diff --git a/openbb_terminal/stocks/dark_pool_shorts/ibkr_model.py b/openbb_terminal/stocks/dark_pool_shorts/ibkr_model.py index 24ae7bf8c1c..f3602d4d97c 100644 --- a/openbb_terminal/stocks/dark_pool_shorts/ibkr_model.py +++ b/openbb_terminal/stocks/dark_pool_shorts/ibkr_model.py @@ -1,10 +1,10 @@ """ Interactive Broker Model """ __docformat__ = "numpy" -import logging - import ftplib +import logging from io import BytesIO + import pandas as pd from openbb_terminal.decorators import log_start_end diff --git a/openbb_terminal/stocks/dark_pool_shorts/quandl_view.py b/openbb_terminal/stocks/dark_pool_shorts/quandl_view.py index 390a1c91b67..ad9198e543e 100644 --- a/openbb_terminal/stocks/dark_pool_shorts/quandl_view.py +++ b/openbb_terminal/stocks/dark_pool_shorts/quandl_view.py @@ -9,16 +9,15 @@ import matplotlib.ticker import pandas as pd from matplotlib import pyplot as plt -from openbb_terminal.decorators import check_api_key -from openbb_terminal.config_terminal import theme -from openbb_terminal.decorators import log_start_end from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, - lambda_long_number_format, - print_rich_table, - plot_autoscale, is_valid_axes_count, + lambda_long_number_format, + plot_autoscale, + print_rich_table, ) from openbb_terminal.stocks.dark_pool_shorts import quandl_model diff --git a/openbb_terminal/stocks/dark_pool_shorts/sec_view.py b/openbb_terminal/stocks/dark_pool_shorts/sec_view.py index f24272dcddc..e5e5c3b1176 100644 --- a/openbb_terminal/stocks/dark_pool_shorts/sec_view.py +++ b/openbb_terminal/stocks/dark_pool_shorts/sec_view.py @@ -3,21 +3,21 @@ __docformat__ = "numpy" import logging import os -from typing import List, Optional from datetime import datetime, timedelta +from typing import List, Optional import pandas as pd from matplotlib import pyplot as plt +from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, - print_rich_table, - plot_autoscale, is_valid_axes_count, + plot_autoscale, + print_rich_table, ) -from openbb_terminal.config_plot import PLOT_DPI from openbb_terminal.stocks import stocks_helper from openbb_terminal.stocks.dark_pool_shorts import sec_model diff --git a/openbb_terminal/stocks/dark_pool_shorts/stockgrid_model.py b/openbb_terminal/stocks/dark_pool_shorts/stockgrid_model.py index 2da010be45f..840be723f4d 100644 --- a/openbb_terminal/stocks/dark_pool_shorts/stockgrid_model.py +++ b/openbb_terminal/stocks/dark_pool_shorts/stockgrid_model.py @@ -2,13 +2,13 @@ __docformat__ = "numpy" import logging -from typing import List, Tuple from json import JSONDecodeError +from typing import List, Tuple import pandas as pd -from openbb_terminal.helper_funcs import request from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import request logger = logging.getLogger(__name__) # pylint: disable=unsupported-assignment-operation diff --git a/openbb_terminal/stocks/dark_pool_shorts/stockgrid_view.py b/openbb_terminal/stocks/dark_pool_shorts/stockgrid_view.py index 58c949c3018..653f28aa31c 100644 --- a/openbb_terminal/stocks/dark_pool_shorts/stockgrid_view.py +++ b/openbb_terminal/stocks/dark_pool_shorts/stockgrid_view.py @@ -8,14 +8,14 @@ from typing import List, Optional import matplotlib.pyplot as plt -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console from openbb_terminal.stocks.dark_pool_shorts import stockgrid_model diff --git a/openbb_terminal/stocks/dark_pool_shorts/stocksera_model.py b/openbb_terminal/stocks/dark_pool_shorts/stocksera_model.py index 0b4b953f70d..3295af026c6 100644 --- a/openbb_terminal/stocks/dark_pool_shorts/stocksera_model.py +++ b/openbb_terminal/stocks/dark_pool_shorts/stocksera_model.py @@ -3,9 +3,8 @@ __docformat__ = "numpy" import logging -import stocksera import pandas as pd - +import stocksera from stocksera.exceptions import StockseraRequestException from openbb_terminal import config_terminal as cfg diff --git a/openbb_terminal/stocks/dark_pool_shorts/stocksera_view.py b/openbb_terminal/stocks/dark_pool_shorts/stocksera_view.py index 777536b0665..f85a70e9235 100644 --- a/openbb_terminal/stocks/dark_pool_shorts/stocksera_view.py +++ b/openbb_terminal/stocks/dark_pool_shorts/stocksera_view.py @@ -9,19 +9,18 @@ import matplotlib.ticker import pandas as pd from matplotlib import pyplot as plt -from openbb_terminal.decorators import check_api_key -from openbb_terminal.config_terminal import theme -from openbb_terminal.decorators import log_start_end from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, - lambda_long_number_format, - print_rich_table, - plot_autoscale, is_valid_axes_count, + lambda_long_number_format, + plot_autoscale, + print_rich_table, ) -from openbb_terminal.stocks.dark_pool_shorts import stocksera_model from openbb_terminal.rich_config import console +from openbb_terminal.stocks.dark_pool_shorts import stocksera_model logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/discovery/ark_view.py b/openbb_terminal/stocks/discovery/ark_view.py index 9388c39c328..28d59700c29 100644 --- a/openbb_terminal/stocks/discovery/ark_view.py +++ b/openbb_terminal/stocks/discovery/ark_view.py @@ -4,10 +4,10 @@ __docformat__ = "numpy" import logging import os +from openbb_terminal import rich_config from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.stocks.discovery import ark_model -from openbb_terminal import rich_config logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/discovery/disc_controller.py b/openbb_terminal/stocks/discovery/disc_controller.py index 5d73d1f106b..a7a1a48137a 100644 --- a/openbb_terminal/stocks/discovery/disc_controller.py +++ b/openbb_terminal/stocks/discovery/disc_controller.py @@ -6,9 +6,8 @@ import logging from datetime import datetime from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_ONLY_RAW_DATA_ALLOWED, @@ -20,17 +19,17 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController +from openbb_terminal.rich_config import MenuText, console +from openbb_terminal.stocks import stocks_helper from openbb_terminal.stocks.discovery import ( ark_view, finnhub_view, + finviz_view, nasdaq_view, seeking_alpha_view, shortinterest_view, yahoofinance_view, - finviz_view, ) -from openbb_terminal.stocks import stocks_helper -from openbb_terminal.rich_config import console, MenuText # pylint:disable=C0302 diff --git a/openbb_terminal/stocks/discovery/disc_helpers.py b/openbb_terminal/stocks/discovery/disc_helpers.py index 8adac7fde4b..fc1f8340dd8 100644 --- a/openbb_terminal/stocks/discovery/disc_helpers.py +++ b/openbb_terminal/stocks/discovery/disc_helpers.py @@ -1,5 +1,7 @@ import re + import pandas as pd + from openbb_terminal.helper_funcs import get_user_agent, request diff --git a/openbb_terminal/stocks/discovery/fidelity_view.py b/openbb_terminal/stocks/discovery/fidelity_view.py index ff9c0c3d79d..1fbf4567562 100644 --- a/openbb_terminal/stocks/discovery/fidelity_view.py +++ b/openbb_terminal/stocks/discovery/fidelity_view.py @@ -7,10 +7,10 @@ import re import pandas as pd +from openbb_terminal import rich_config from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.stocks.discovery import fidelity_model -from openbb_terminal import rich_config logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/discovery/finnhub_model.py b/openbb_terminal/stocks/discovery/finnhub_model.py index d30816e259f..7bedf5ac60b 100644 --- a/openbb_terminal/stocks/discovery/finnhub_model.py +++ b/openbb_terminal/stocks/discovery/finnhub_model.py @@ -6,8 +6,8 @@ import pandas as pd from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import check_api_key, log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/discovery/finnhub_view.py b/openbb_terminal/stocks/discovery/finnhub_view.py index eb07e56ff41..8e704c4646f 100644 --- a/openbb_terminal/stocks/discovery/finnhub_view.py +++ b/openbb_terminal/stocks/discovery/finnhub_view.py @@ -2,8 +2,7 @@ import logging import os from typing import Optional -from openbb_terminal.decorators import log_start_end -from openbb_terminal.decorators import check_api_key +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.stocks.discovery import finnhub_model diff --git a/openbb_terminal/stocks/discovery/finviz_model.py b/openbb_terminal/stocks/discovery/finviz_model.py index d23489219a3..af74f343df2 100644 --- a/openbb_terminal/stocks/discovery/finviz_model.py +++ b/openbb_terminal/stocks/discovery/finviz_model.py @@ -2,6 +2,7 @@ __docformat__ = "numpy" import pandas as pd + from openbb_terminal.helper_funcs import get_user_agent, request from openbb_terminal.rich_config import console diff --git a/openbb_terminal/stocks/discovery/finviz_view.py b/openbb_terminal/stocks/discovery/finviz_view.py index c1fc65669df..d61c20db341 100644 --- a/openbb_terminal/stocks/discovery/finviz_view.py +++ b/openbb_terminal/stocks/discovery/finviz_view.py @@ -3,13 +3,13 @@ __docformat__ = "numpy" import os from typing import Optional -import pandas as pd +import pandas as pd import plotly.express as px from plotly.subplots import make_subplots -from openbb_terminal.stocks.discovery import finviz_model from openbb_terminal.helper_funcs import export_data +from openbb_terminal.stocks.discovery import finviz_model def display_heatmap(timeframe: str, export: str = "", sheet_name: Optional[str] = ""): diff --git a/openbb_terminal/stocks/discovery/nasdaq_model.py b/openbb_terminal/stocks/discovery/nasdaq_model.py index d2e7ed4cfc1..77aeed0c850 100644 --- a/openbb_terminal/stocks/discovery/nasdaq_model.py +++ b/openbb_terminal/stocks/discovery/nasdaq_model.py @@ -1,8 +1,8 @@ """NASDAQ DataLink Model""" __docformat__ = "numpy" -from datetime import datetime import logging +from datetime import datetime import pandas as pd import requests @@ -12,7 +12,6 @@ from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import get_user_agent, request from openbb_terminal.rich_config import console - logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/discovery/nasdaq_view.py b/openbb_terminal/stocks/discovery/nasdaq_view.py index 49f0eb0307c..739b3f8c4a2 100644 --- a/openbb_terminal/stocks/discovery/nasdaq_view.py +++ b/openbb_terminal/stocks/discovery/nasdaq_view.py @@ -1,15 +1,14 @@ """NASDAQ DataLink View""" __docformat__ = "numpy" -from datetime import datetime import logging import os +from datetime import datetime -from openbb_terminal.decorators import log_start_end +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.rich_config import console from openbb_terminal.stocks.discovery import nasdaq_model -from openbb_terminal.decorators import check_api_key # pylint: disable=E1123 diff --git a/openbb_terminal/stocks/discovery/shortinterest_view.py b/openbb_terminal/stocks/discovery/shortinterest_view.py index 2a83ae6ea46..4e4b006c26c 100644 --- a/openbb_terminal/stocks/discovery/shortinterest_view.py +++ b/openbb_terminal/stocks/discovery/shortinterest_view.py @@ -7,8 +7,7 @@ import os from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.rich_config import console -from openbb_terminal.stocks.discovery import shortinterest_model -from openbb_terminal.stocks.discovery import yahoofinance_model +from openbb_terminal.stocks.discovery import shortinterest_model, yahoofinance_model logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/discovery/yahoofinance_model.py b/openbb_terminal/stocks/discovery/yahoofinance_model.py index 7cf5ac3b720..c8b210723da 100644 --- a/openbb_terminal/stocks/discovery/yahoofinance_model.py +++ b/openbb_terminal/stocks/discovery/yahoofinance_model.py @@ -6,8 +6,8 @@ import logging import pandas as pd from openbb_terminal.decorators import log_start_end -from openbb_terminal.stocks.discovery.disc_helpers import get_df from openbb_terminal.rich_config import console +from openbb_terminal.stocks.discovery.disc_helpers import get_df logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/due_diligence/business_insider_view.py b/openbb_terminal/stocks/due_diligence/business_insider_view.py index c72e3bdb178..1f84b41f51f 100644 --- a/openbb_terminal/stocks/due_diligence/business_insider_view.py +++ b/openbb_terminal/stocks/due_diligence/business_insider_view.py @@ -10,14 +10,14 @@ import matplotlib.pyplot as plt from pandas.core.frame import DataFrame from pandas.plotting import register_matplotlib_converters -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console from openbb_terminal.stocks.due_diligence import business_insider_model diff --git a/openbb_terminal/stocks/due_diligence/dd_controller.py b/openbb_terminal/stocks/due_diligence/dd_controller.py index e59faa9102e..96101aaf64e 100644 --- a/openbb_terminal/stocks/due_diligence/dd_controller.py +++ b/openbb_terminal/stocks/due_diligence/dd_controller.py @@ -7,9 +7,8 @@ from typing import List from pandas.core.frame import DataFrame -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, @@ -18,7 +17,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import StockBaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console from openbb_terminal.stocks.due_diligence import ( ark_view, business_insider_view, diff --git a/openbb_terminal/stocks/due_diligence/finnhub_model.py b/openbb_terminal/stocks/due_diligence/finnhub_model.py index db70551436a..a7d70972ce9 100644 --- a/openbb_terminal/stocks/due_diligence/finnhub_model.py +++ b/openbb_terminal/stocks/due_diligence/finnhub_model.py @@ -7,8 +7,8 @@ import pandas as pd from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import check_api_key, log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/due_diligence/finnhub_view.py b/openbb_terminal/stocks/due_diligence/finnhub_view.py index a9f764ae248..cf89f26c19a 100644 --- a/openbb_terminal/stocks/due_diligence/finnhub_view.py +++ b/openbb_terminal/stocks/due_diligence/finnhub_view.py @@ -9,15 +9,14 @@ import pandas as pd from matplotlib import pyplot as plt from pandas.plotting import register_matplotlib_converters -from openbb_terminal.decorators import check_api_key -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI -from openbb_terminal.decorators import log_start_end +from openbb_terminal.config_terminal import theme +from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.stocks.due_diligence import finnhub_model diff --git a/openbb_terminal/stocks/due_diligence/finviz_view.py b/openbb_terminal/stocks/due_diligence/finviz_view.py index 89b236fc5f0..231667f46ee 100644 --- a/openbb_terminal/stocks/due_diligence/finviz_view.py +++ b/openbb_terminal/stocks/due_diligence/finviz_view.py @@ -5,11 +5,11 @@ import logging import os from typing import Any, List +from openbb_terminal import rich_config from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.rich_config import console from openbb_terminal.stocks.due_diligence import finviz_model -from openbb_terminal import rich_config logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/due_diligence/fmp_view.py b/openbb_terminal/stocks/due_diligence/fmp_view.py index 41801cc7f2e..fcbcb68eecf 100644 --- a/openbb_terminal/stocks/due_diligence/fmp_view.py +++ b/openbb_terminal/stocks/due_diligence/fmp_view.py @@ -3,6 +3,7 @@ __docformat__ = "numpy" import logging import os + import pandas as pd from openbb_terminal.decorators import log_start_end diff --git a/openbb_terminal/stocks/fundamental_analysis/av_model.py b/openbb_terminal/stocks/fundamental_analysis/av_model.py index 5c9caafff15..20391692bad 100644 --- a/openbb_terminal/stocks/fundamental_analysis/av_model.py +++ b/openbb_terminal/stocks/fundamental_analysis/av_model.py @@ -6,15 +6,15 @@ from typing import Dict, List import numpy as np import pandas as pd - from alpha_vantage.fundamentaldata import FundamentalData + from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import lambda_long_number_format, request from openbb_terminal.rich_config import console from openbb_terminal.stocks.fundamental_analysis import yahoo_finance_model -from openbb_terminal.stocks.stocks_helper import clean_fraction from openbb_terminal.stocks.fundamental_analysis.fa_helper import clean_df_index +from openbb_terminal.stocks.stocks_helper import clean_fraction logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/fundamental_analysis/av_view.py b/openbb_terminal/stocks/fundamental_analysis/av_view.py index 62958559245..13bbe57a84e 100644 --- a/openbb_terminal/stocks/fundamental_analysis/av_view.py +++ b/openbb_terminal/stocks/fundamental_analysis/av_view.py @@ -6,21 +6,20 @@ import os from typing import List, Optional from matplotlib import pyplot as plt -from openbb_terminal.config_terminal import theme + from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( - export_data, - print_rich_table, - plot_autoscale, camel_case_split, + export_data, is_valid_axes_count, + plot_autoscale, + print_rich_table, ) +from openbb_terminal.helpers_denomination import transform as transform_by_denomination from openbb_terminal.rich_config import console from openbb_terminal.stocks.fundamental_analysis import av_model -from openbb_terminal.helpers_denomination import ( - transform as transform_by_denomination, -) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/fundamental_analysis/dcf_model.py b/openbb_terminal/stocks/fundamental_analysis/dcf_model.py index 4fb404c1c11..9b7cef57ea5 100644 --- a/openbb_terminal/stocks/fundamental_analysis/dcf_model.py +++ b/openbb_terminal/stocks/fundamental_analysis/dcf_model.py @@ -17,9 +17,9 @@ from openpyxl import worksheet from sklearn.linear_model import LinearRegression from openbb_terminal.decorators import log_start_end -from openbb_terminal.stocks.fundamental_analysis import dcf_static from openbb_terminal.helper_funcs import compose_export_path, request from openbb_terminal.rich_config import console +from openbb_terminal.stocks.fundamental_analysis import dcf_static logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/fundamental_analysis/dcf_static.py b/openbb_terminal/stocks/fundamental_analysis/dcf_static.py index a10dae139ae..8642d4e9d6c 100644 --- a/openbb_terminal/stocks/fundamental_analysis/dcf_static.py +++ b/openbb_terminal/stocks/fundamental_analysis/dcf_static.py @@ -2,7 +2,8 @@ __docformat__ = "numpy" from typing import Dict, List -from openpyxl.styles import Border, Side, Font, PatternFill, Alignment +from openpyxl.styles import Alignment, Border, Font, PatternFill, Side + from openbb_terminal.helper_funcs import excel_columns, get_user_agent letters = excel_columns() diff --git a/openbb_terminal/stocks/fundamental_analysis/eclect_us_view.py b/openbb_terminal/stocks/fundamental_analysis/eclect_us_view.py index 423469acc5e..1740838dffa 100644 --- a/openbb_terminal/stocks/fundamental_analysis/eclect_us_view.py +++ b/openbb_terminal/stocks/fundamental_analysis/eclect_us_view.py @@ -5,9 +5,9 @@ import logging import os from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import export_data, print_rich_table from openbb_terminal.rich_config import console from openbb_terminal.stocks.fundamental_analysis import eclect_us_model -from openbb_terminal.helper_funcs import print_rich_table, export_data logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/fundamental_analysis/eodhd_model.py b/openbb_terminal/stocks/fundamental_analysis/eodhd_model.py index 01569536fb5..cc535867251 100644 --- a/openbb_terminal/stocks/fundamental_analysis/eodhd_model.py +++ b/openbb_terminal/stocks/fundamental_analysis/eodhd_model.py @@ -3,13 +3,13 @@ __docformat__ = "numpy" import logging -import pandas as pd import numpy as np +import pandas as pd from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import check_api_key, log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/fundamental_analysis/eodhd_view.py b/openbb_terminal/stocks/fundamental_analysis/eodhd_view.py index 64779cfb4ac..f6bd25fd638 100644 --- a/openbb_terminal/stocks/fundamental_analysis/eodhd_view.py +++ b/openbb_terminal/stocks/fundamental_analysis/eodhd_view.py @@ -5,14 +5,14 @@ import os import matplotlib.pyplot as plt -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, lambda_long_number_format, - print_rich_table, plot_autoscale, + print_rich_table, ) from openbb_terminal.stocks.fundamental_analysis import eodhd_model diff --git a/openbb_terminal/stocks/fundamental_analysis/fa_controller.py b/openbb_terminal/stocks/fundamental_analysis/fa_controller.py index 8d33a88f15e..1bc33ddad22 100644 --- a/openbb_terminal/stocks/fundamental_analysis/fa_controller.py +++ b/openbb_terminal/stocks/fundamental_analysis/fa_controller.py @@ -5,33 +5,32 @@ import logging from datetime import datetime, timedelta from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, EXPORT_ONLY_RAW_DATA_ALLOWED, check_positive, - valid_date, list_from_str, + valid_date, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import StockBaseController -from openbb_terminal.rich_config import console, MenuText, get_ordered_list_sources +from openbb_terminal.rich_config import MenuText, console, get_ordered_list_sources from openbb_terminal.stocks import stocks_helper from openbb_terminal.stocks.fundamental_analysis import ( av_view, business_insider_view, dcf_view, eclect_us_view, - finviz_view, - market_watch_view, - yahoo_finance_view, - polygon_view, - fmp_view, eodhd_view, + finviz_view, + fmp_view, + market_watch_view, + polygon_view, seeking_alpha_view, + yahoo_finance_view, ) # pylint: disable=inconsistent-return-statements,C0302,R0904 diff --git a/openbb_terminal/stocks/fundamental_analysis/fmp_model.py b/openbb_terminal/stocks/fundamental_analysis/fmp_model.py index 79c95c067c0..7a121365efd 100644 --- a/openbb_terminal/stocks/fundamental_analysis/fmp_model.py +++ b/openbb_terminal/stocks/fundamental_analysis/fmp_model.py @@ -1,21 +1,20 @@ """ Financial Modeling Prep Model""" __docformat__ = "numpy" import logging -from typing import Optional - -from datetime import datetime import warnings -from requests.exceptions import HTTPError +from datetime import datetime +from typing import Optional import fundamentalanalysis as fa # Financial Modeling Prep import numpy as np import pandas as pd import valinvest +from requests.exceptions import HTTPError -from openbb_terminal.rich_config import console from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import lambda_long_number_format +from openbb_terminal.rich_config import console from openbb_terminal.stocks.fundamental_analysis.fa_helper import clean_df_index logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/fundamental_analysis/fmp_view.py b/openbb_terminal/stocks/fundamental_analysis/fmp_view.py index f8dfd4cd78e..4d43ec38a35 100644 --- a/openbb_terminal/stocks/fundamental_analysis/fmp_view.py +++ b/openbb_terminal/stocks/fundamental_analysis/fmp_view.py @@ -1,23 +1,20 @@ """ Financial Modeling Prep View """ __docformat__ = "numpy" +import datetime import logging import os -import datetime import matplotlib.pyplot as plt import pandas as pd -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI -from openbb_terminal.decorators import check_api_key -from openbb_terminal.decorators import log_start_end -from openbb_terminal.helper_funcs import export_data, print_rich_table, plot_autoscale +from openbb_terminal.config_terminal import theme +from openbb_terminal.decorators import check_api_key, log_start_end +from openbb_terminal.helper_funcs import export_data, plot_autoscale, print_rich_table +from openbb_terminal.helpers_denomination import transform as transform_by_denomination from openbb_terminal.rich_config import console from openbb_terminal.stocks.fundamental_analysis import fmp_model -from openbb_terminal.helpers_denomination import ( - transform as transform_by_denomination, -) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/fundamental_analysis/market_watch_model.py b/openbb_terminal/stocks/fundamental_analysis/market_watch_model.py index 94387989ccb..9f752d61648 100644 --- a/openbb_terminal/stocks/fundamental_analysis/market_watch_model.py +++ b/openbb_terminal/stocks/fundamental_analysis/market_watch_model.py @@ -11,8 +11,8 @@ from bs4 import BeautifulSoup from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( - lambda_clean_data_values_to_float, get_user_agent, + lambda_clean_data_values_to_float, lambda_int_or_round_float, request, ) diff --git a/openbb_terminal/stocks/fundamental_analysis/polygon_model.py b/openbb_terminal/stocks/fundamental_analysis/polygon_model.py index ef72b8b5d19..2278c11bd3f 100644 --- a/openbb_terminal/stocks/fundamental_analysis/polygon_model.py +++ b/openbb_terminal/stocks/fundamental_analysis/polygon_model.py @@ -7,8 +7,8 @@ import pandas as pd from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import check_api_key, log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/fundamental_analysis/polygon_view.py b/openbb_terminal/stocks/fundamental_analysis/polygon_view.py index b9042e180d1..0fd4722563b 100644 --- a/openbb_terminal/stocks/fundamental_analysis/polygon_view.py +++ b/openbb_terminal/stocks/fundamental_analysis/polygon_view.py @@ -5,19 +5,17 @@ import os import matplotlib.pyplot as plt -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import check_api_key, log_start_end from openbb_terminal.helper_funcs import ( export_data, lambda_long_number_format, - print_rich_table, plot_autoscale, + print_rich_table, ) +from openbb_terminal.helpers_denomination import transform as transform_by_denomination from openbb_terminal.stocks.fundamental_analysis import polygon_model -from openbb_terminal.helpers_denomination import ( - transform as transform_by_denomination, -) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/fundamental_analysis/sdk_helpers.py b/openbb_terminal/stocks/fundamental_analysis/sdk_helpers.py index 9c314b127da..911756bf15b 100644 --- a/openbb_terminal/stocks/fundamental_analysis/sdk_helpers.py +++ b/openbb_terminal/stocks/fundamental_analysis/sdk_helpers.py @@ -2,12 +2,13 @@ __docformat__ = "numpy" import pandas as pd + from openbb_terminal.stocks.fundamental_analysis import ( - yahoo_finance_model, - polygon_model, av_model, - fmp_model, eodhd_model, + fmp_model, + polygon_model, + yahoo_finance_model, ) diff --git a/openbb_terminal/stocks/fundamental_analysis/seeking_alpha_model.py b/openbb_terminal/stocks/fundamental_analysis/seeking_alpha_model.py index 7f3e2c9ce76..848ba0e30ae 100644 --- a/openbb_terminal/stocks/fundamental_analysis/seeking_alpha_model.py +++ b/openbb_terminal/stocks/fundamental_analysis/seeking_alpha_model.py @@ -2,8 +2,9 @@ __docformat__ = "numpy" import logging -import requests + import pandas as pd +import requests from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import lambda_long_number_format diff --git a/openbb_terminal/stocks/fundamental_analysis/seeking_alpha_view.py b/openbb_terminal/stocks/fundamental_analysis/seeking_alpha_view.py index 2c2ba5dc075..8ce3699dafc 100644 --- a/openbb_terminal/stocks/fundamental_analysis/seeking_alpha_view.py +++ b/openbb_terminal/stocks/fundamental_analysis/seeking_alpha_view.py @@ -3,13 +3,12 @@ __docformat__ = "numpy" import logging - from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console -from openbb_terminal.stocks.fundamental_analysis import seeking_alpha_model from openbb_terminal.helper_funcs import ( print_rich_table, ) +from openbb_terminal.rich_config import console +from openbb_terminal.stocks.fundamental_analysis import seeking_alpha_model logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/fundamental_analysis/yahoo_finance_view.py b/openbb_terminal/stocks/fundamental_analysis/yahoo_finance_view.py index f1b1bb3f994..1506ee3f99a 100644 --- a/openbb_terminal/stocks/fundamental_analysis/yahoo_finance_view.py +++ b/openbb_terminal/stocks/fundamental_analysis/yahoo_finance_view.py @@ -4,30 +4,27 @@ __docformat__ = "numpy" import logging import os import webbrowser -from typing import List, Optional from fractions import Fraction +from typing import List, Optional -import yfinance as yf -import matplotlib.pyplot as plt import matplotlib.dates as mdates +import matplotlib.pyplot as plt import pandas as pd +import yfinance as yf -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, - print_rich_table, is_valid_axes_count, lambda_long_number_format, + plot_autoscale, + print_rich_table, ) +from openbb_terminal.helpers_denomination import transform as transform_by_denomination from openbb_terminal.rich_config import console from openbb_terminal.stocks.fundamental_analysis import yahoo_finance_model -from openbb_terminal.helpers_denomination import ( - transform as transform_by_denomination, -) - logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/government/gov_controller.py b/openbb_terminal/stocks/government/gov_controller.py index 99fee55692a..3ef16f2db79 100644 --- a/openbb_terminal/stocks/government/gov_controller.py +++ b/openbb_terminal/stocks/government/gov_controller.py @@ -5,9 +5,8 @@ import argparse import logging from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, @@ -16,7 +15,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import StockBaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console from openbb_terminal.stocks.government import quiverquant_view logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/government/quiverquant_model.py b/openbb_terminal/stocks/government/quiverquant_model.py index 739ae2e006a..d7cbd2c2be0 100644 --- a/openbb_terminal/stocks/government/quiverquant_model.py +++ b/openbb_terminal/stocks/government/quiverquant_model.py @@ -11,8 +11,8 @@ import pandas as pd from sklearn.linear_model import LinearRegression from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/government/quiverquant_view.py b/openbb_terminal/stocks/government/quiverquant_view.py index 86dff2b2863..772c42f3b4b 100644 --- a/openbb_terminal/stocks/government/quiverquant_view.py +++ b/openbb_terminal/stocks/government/quiverquant_view.py @@ -5,19 +5,19 @@ import logging import os from typing import List, Optional +import matplotlib import numpy as np import pandas as pd from matplotlib import pyplot as plt -import matplotlib -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console from openbb_terminal.stocks.government import quiverquant_model diff --git a/openbb_terminal/stocks/options/alphaquery_model.py b/openbb_terminal/stocks/options/alphaquery_model.py index a9292d95239..5c5537d7982 100644 --- a/openbb_terminal/stocks/options/alphaquery_model.py +++ b/openbb_terminal/stocks/options/alphaquery_model.py @@ -7,8 +7,8 @@ from typing import Optional import pandas as pd -from openbb_terminal.helper_funcs import request from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import request logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/options/hedge/hedge_controller.py b/openbb_terminal/stocks/options/hedge/hedge_controller.py index 5c4604263b2..65d49508cab 100644 --- a/openbb_terminal/stocks/options/hedge/hedge_controller.py +++ b/openbb_terminal/stocks/options/hedge/hedge_controller.py @@ -15,11 +15,11 @@ from openbb_terminal.helper_funcs import print_rich_table from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController from openbb_terminal.rich_config import MenuText, console +from openbb_terminal.stocks import stocks_helper from openbb_terminal.stocks.options.hedge import hedge_view from openbb_terminal.stocks.options.hedge.hedge_model import add_hedge_option from openbb_terminal.stocks.options.yfinance_model import get_option_chain, get_price from openbb_terminal.stocks.options.yfinance_view import plot_payoff -from openbb_terminal.stocks import stocks_helper # pylint: disable=R0902 diff --git a/openbb_terminal/stocks/options/nasdaq_model.py b/openbb_terminal/stocks/options/nasdaq_model.py index b233483ddd0..85a37894dca 100644 --- a/openbb_terminal/stocks/options/nasdaq_model.py +++ b/openbb_terminal/stocks/options/nasdaq_model.py @@ -9,8 +9,8 @@ import numpy as np import pandas as pd from openbb_terminal.decorators import log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) # pylint: disable=unsupported-assignment-operation diff --git a/openbb_terminal/stocks/options/op_helpers.py b/openbb_terminal/stocks/options/op_helpers.py index 6cf4d29c71d..0e44acd73df 100644 --- a/openbb_terminal/stocks/options/op_helpers.py +++ b/openbb_terminal/stocks/options/op_helpers.py @@ -1,18 +1,18 @@ """Option helper functions""" __docformat__ = "numpy" -from datetime import datetime, timedelta import logging +from datetime import datetime, timedelta from math import e, log -from typing import Union, Tuple +from typing import Tuple, Union import numpy as np import pandas as pd from scipy.stats import norm -from openbb_terminal.rich_config import console from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import get_rf +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/options/options_controller.py b/openbb_terminal/stocks/options/options_controller.py index 04a0eeaf51d..b68e1c5ee6f 100644 --- a/openbb_terminal/stocks/options/options_controller.py +++ b/openbb_terminal/stocks/options/options_controller.py @@ -16,9 +16,9 @@ from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, EXPORT_ONLY_FIGURES_ALLOWED, EXPORT_ONLY_RAW_DATA_ALLOWED, + list_from_str, parse_and_split_input, valid_date, - list_from_str, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController @@ -37,19 +37,19 @@ from openbb_terminal.stocks.options import ( yfinance_view, ) from openbb_terminal.stocks.options.hedge import hedge_controller +from openbb_terminal.stocks.options.options_view import ( + display_chains, + display_expiry_dates, + plot_oi, + plot_voi, + plot_vol, +) from openbb_terminal.stocks.options.pricing import pricing_controller from openbb_terminal.stocks.options.screen import ( screener_controller, syncretism_model, syncretism_view, ) -from openbb_terminal.stocks.options.options_view import ( - plot_vol, - plot_oi, - plot_voi, - display_expiry_dates, - display_chains, -) # pylint: disable=R1710,C0302,R0916,R0902 diff --git a/openbb_terminal/stocks/options/options_sdk_helper.py b/openbb_terminal/stocks/options/options_sdk_helper.py index 2a87e96f698..5f95d0358ed 100644 --- a/openbb_terminal/stocks/options/options_sdk_helper.py +++ b/openbb_terminal/stocks/options/options_sdk_helper.py @@ -9,9 +9,9 @@ from openbb_terminal.decorators import log_start_end from openbb_terminal.stocks.options import ( chartexchange_model, nasdaq_model, + op_helpers, tradier_model, yfinance_model, - op_helpers, ) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/options/options_view.py b/openbb_terminal/stocks/options/options_view.py index 9d9db4405bc..f692bca2881 100644 --- a/openbb_terminal/stocks/options/options_view.py +++ b/openbb_terminal/stocks/options/options_view.py @@ -4,24 +4,25 @@ import os # IMPORTATION THIRDPARTY from typing import List, Optional, Tuple + import matplotlib.pyplot as plt import pandas as pd # IMPORTATION INTERNAL import openbb_terminal.config_plot as cfp from openbb_terminal.config_terminal import theme -from openbb_terminal.rich_config import console from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( + export_data, is_valid_axes_count, plot_autoscale, print_rich_table, - export_data, ) +from openbb_terminal.rich_config import console from openbb_terminal.stocks.options.op_helpers import ( calculate_max_pain, - get_strikes, get_greeks, + get_strikes, ) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/options/screen/syncretism_model.py b/openbb_terminal/stocks/options/screen/syncretism_model.py index 2a2dbce120b..d2b63586634 100644 --- a/openbb_terminal/stocks/options/screen/syncretism_model.py +++ b/openbb_terminal/stocks/options/screen/syncretism_model.py @@ -9,9 +9,9 @@ from typing import Dict, Tuple, Union import pandas as pd import yfinance as yf -from openbb_terminal.helper_funcs import request from openbb_terminal.core.config.paths import USER_PRESETS_DIRECTORY from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import request from openbb_terminal.rich_config import console from openbb_terminal.stocks.options import yfinance_model diff --git a/openbb_terminal/stocks/options/tradier_model.py b/openbb_terminal/stocks/options/tradier_model.py index 8c932be1c67..dd04d7c3d61 100644 --- a/openbb_terminal/stocks/options/tradier_model.py +++ b/openbb_terminal/stocks/options/tradier_model.py @@ -10,8 +10,8 @@ from tqdm import tqdm from openbb_terminal import config_terminal as cfg from openbb_terminal.decorators import check_api_key, log_start_end -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/quantitative_analysis/beta_model.py b/openbb_terminal/stocks/quantitative_analysis/beta_model.py index 8784c0208a8..2fef77c65f1 100644 --- a/openbb_terminal/stocks/quantitative_analysis/beta_model.py +++ b/openbb_terminal/stocks/quantitative_analysis/beta_model.py @@ -5,6 +5,7 @@ from typing import Tuple import pandas as pd from scipy import stats + from openbb_terminal.stocks import stocks_helper diff --git a/openbb_terminal/stocks/quantitative_analysis/beta_view.py b/openbb_terminal/stocks/quantitative_analysis/beta_view.py index df686a17e58..4f3eaff0d96 100644 --- a/openbb_terminal/stocks/quantitative_analysis/beta_view.py +++ b/openbb_terminal/stocks/quantitative_analysis/beta_view.py @@ -6,10 +6,11 @@ import os import matplotlib.pyplot as plt import pandas as pd + from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import export_data from openbb_terminal.rich_config import console from openbb_terminal.stocks.quantitative_analysis.beta_model import beta_model -from openbb_terminal.helper_funcs import export_data logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/quantitative_analysis/qa_controller.py b/openbb_terminal/stocks/quantitative_analysis/qa_controller.py index 432be0dadf7..b3be672a11a 100644 --- a/openbb_terminal/stocks/quantitative_analysis/qa_controller.py +++ b/openbb_terminal/stocks/quantitative_analysis/qa_controller.py @@ -8,25 +8,24 @@ from typing import List import pandas as pd -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff from openbb_terminal.common.quantitative_analysis import qa_view, rolling_view +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_ONLY_FIGURES_ALLOWED, EXPORT_ONLY_RAW_DATA_ALLOWED, + check_list_dates, check_positive, check_proportion_range, - check_list_dates, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import StockBaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console +from openbb_terminal.stocks import stocks_helper from openbb_terminal.stocks.quantitative_analysis.beta_view import beta_view from openbb_terminal.stocks.quantitative_analysis.factors_view import capm_view from openbb_terminal.stocks.quantitative_analysis.qa_model import full_stock_df -from openbb_terminal.stocks import stocks_helper # pylint: disable=C0302 diff --git a/openbb_terminal/stocks/quantitative_analysis/qa_model.py b/openbb_terminal/stocks/quantitative_analysis/qa_model.py index 8f084978e43..86dfdb4988d 100644 --- a/openbb_terminal/stocks/quantitative_analysis/qa_model.py +++ b/openbb_terminal/stocks/quantitative_analysis/qa_model.py @@ -1,5 +1,5 @@ -import pandas as pd import numpy as np +import pandas as pd pd.options.mode.chained_assignment = None diff --git a/openbb_terminal/stocks/research/res_controller.py b/openbb_terminal/stocks/research/res_controller.py index 18a8259ff23..9e580eb2efc 100644 --- a/openbb_terminal/stocks/research/res_controller.py +++ b/openbb_terminal/stocks/research/res_controller.py @@ -6,13 +6,12 @@ import webbrowser from datetime import datetime from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/screener/finviz_model.py b/openbb_terminal/stocks/screener/finviz_model.py index 60112cd554b..a10c5f44b20 100644 --- a/openbb_terminal/stocks/screener/finviz_model.py +++ b/openbb_terminal/stocks/screener/finviz_model.py @@ -11,11 +11,11 @@ from finvizfinance.screener import ( valuation, ) -from openbb_terminal.decorators import log_start_end from openbb_terminal.core.config.paths import ( - USER_PRESETS_DIRECTORY, MISCELLANEOUS_DIRECTORY, + USER_PRESETS_DIRECTORY, ) +from openbb_terminal.decorators import log_start_end from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/screener/finviz_view.py b/openbb_terminal/stocks/screener/finviz_view.py index 54e5e8b35e4..57554fbbb06 100644 --- a/openbb_terminal/stocks/screener/finviz_view.py +++ b/openbb_terminal/stocks/screener/finviz_view.py @@ -11,12 +11,12 @@ import pandas as pd from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, - print_rich_table, lambda_long_number_format, + print_rich_table, ) -from openbb_terminal.terminal_helper import suppress_stdout from openbb_terminal.rich_config import console from openbb_terminal.stocks.screener.finviz_model import get_screener_data +from openbb_terminal.terminal_helper import suppress_stdout logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/screener/screener_controller.py b/openbb_terminal/stocks/screener/screener_controller.py index 5b8964addd9..288e004dbe4 100644 --- a/openbb_terminal/stocks/screener/screener_controller.py +++ b/openbb_terminal/stocks/screener/screener_controller.py @@ -6,31 +6,30 @@ import datetime import logging from typing import List -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff from openbb_terminal.core.config.paths import ( - USER_PRESETS_DIRECTORY, MISCELLANEOUS_DIRECTORY, + USER_PRESETS_DIRECTORY, ) +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, EXPORT_ONLY_RAW_DATA_ALLOWED, check_positive, - valid_date, parse_and_split_input, + valid_date, ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console from openbb_terminal.stocks.comparison_analysis import ca_controller from openbb_terminal.stocks.screener import ( finviz_model, finviz_view, - yahoofinance_view, - screener_view, screener_helper, + screener_view, + yahoofinance_view, ) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/screener/screener_helper.py b/openbb_terminal/stocks/screener/screener_helper.py index 8878a802003..9f87a7150c8 100644 --- a/openbb_terminal/stocks/screener/screener_helper.py +++ b/openbb_terminal/stocks/screener/screener_helper.py @@ -1,4 +1,5 @@ -from typing import List, Dict +from typing import Dict, List + from openbb_terminal.stocks.screener import finviz_view diff --git a/openbb_terminal/stocks/screener/screener_view.py b/openbb_terminal/stocks/screener/screener_view.py index e01030b88ef..c61cdbabdba 100644 --- a/openbb_terminal/stocks/screener/screener_view.py +++ b/openbb_terminal/stocks/screener/screener_view.py @@ -3,11 +3,11 @@ __docformat__ = "numpy" import configparser -from openbb_terminal.rich_config import console from openbb_terminal.core.config.paths import ( - USER_PRESETS_DIRECTORY, MISCELLANEOUS_DIRECTORY, + USER_PRESETS_DIRECTORY, ) +from openbb_terminal.rich_config import console from openbb_terminal.stocks.screener import finviz_model PRESETS_PATH = USER_PRESETS_DIRECTORY / "stocks" / "screener" diff --git a/openbb_terminal/stocks/screener/yahoofinance_model.py b/openbb_terminal/stocks/screener/yahoofinance_model.py index 9b96f952413..103a4612854 100644 --- a/openbb_terminal/stocks/screener/yahoofinance_model.py +++ b/openbb_terminal/stocks/screener/yahoofinance_model.py @@ -3,8 +3,8 @@ __docformat__ = "numpy" import configparser import datetime import logging -from typing import List, Tuple import random +from typing import List, Tuple import numpy as np import pandas as pd @@ -13,13 +13,11 @@ from finvizfinance.screener import ticker from pandas.plotting import register_matplotlib_converters from sklearn.preprocessing import MinMaxScaler - -from openbb_terminal.decorators import log_start_end - from openbb_terminal.core.config.paths import ( - USER_PRESETS_DIRECTORY, MISCELLANEOUS_DIRECTORY, + USER_PRESETS_DIRECTORY, ) +from openbb_terminal.decorators import log_start_end from openbb_terminal.rich_config import console from openbb_terminal.stocks.screener import finviz_model diff --git a/openbb_terminal/stocks/screener/yahoofinance_view.py b/openbb_terminal/stocks/screener/yahoofinance_view.py index eeafda22719..e2663f72fdc 100644 --- a/openbb_terminal/stocks/screener/yahoofinance_view.py +++ b/openbb_terminal/stocks/screener/yahoofinance_view.py @@ -8,13 +8,13 @@ from typing import List, Optional import matplotlib.pyplot as plt from pandas.plotting import register_matplotlib_converters -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, - plot_autoscale, is_valid_axes_count, + plot_autoscale, ) from openbb_terminal.rich_config import console from openbb_terminal.stocks.screener import yahoofinance_model diff --git a/openbb_terminal/stocks/sector_industry_analysis/financedatabase_model.py b/openbb_terminal/stocks/sector_industry_analysis/financedatabase_model.py index b45532e9727..5d9ae124541 100644 --- a/openbb_terminal/stocks/sector_industry_analysis/financedatabase_model.py +++ b/openbb_terminal/stocks/sector_industry_analysis/financedatabase_model.py @@ -6,8 +6,8 @@ import logging import financedatabase as fd import yfinance as yf -from tqdm import tqdm from requests.exceptions import ReadTimeout +from tqdm import tqdm from openbb_terminal.decorators import log_start_end from openbb_terminal.rich_config import console diff --git a/openbb_terminal/stocks/sector_industry_analysis/financedatabase_view.py b/openbb_terminal/stocks/sector_industry_analysis/financedatabase_view.py index 1eaa133d180..25e497d082c 100644 --- a/openbb_terminal/stocks/sector_industry_analysis/financedatabase_view.py +++ b/openbb_terminal/stocks/sector_industry_analysis/financedatabase_view.py @@ -5,20 +5,20 @@ __docformat__ = "numpy" import logging import os from collections import OrderedDict -from typing import Dict, Optional, List +from typing import Dict, List, Optional import numpy as np import pandas as pd from matplotlib import pyplot as plt -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) from openbb_terminal.rich_config import console from openbb_terminal.stocks.sector_industry_analysis import financedatabase_model diff --git a/openbb_terminal/stocks/sector_industry_analysis/sia_controller.py b/openbb_terminal/stocks/sector_industry_analysis/sia_controller.py index 1c151dc5a6c..e95eff5984e 100644 --- a/openbb_terminal/stocks/sector_industry_analysis/sia_controller.py +++ b/openbb_terminal/stocks/sector_industry_analysis/sia_controller.py @@ -8,9 +8,8 @@ from typing import List import yfinance as yf -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, @@ -19,7 +18,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console from openbb_terminal.stocks.comparison_analysis import ca_controller from openbb_terminal.stocks.sector_industry_analysis import ( financedatabase_model, diff --git a/openbb_terminal/stocks/sector_industry_analysis/stockanalysis_model.py b/openbb_terminal/stocks/sector_industry_analysis/stockanalysis_model.py index 5e6699ac880..c0cf9bcd17f 100644 --- a/openbb_terminal/stocks/sector_industry_analysis/stockanalysis_model.py +++ b/openbb_terminal/stocks/sector_industry_analysis/stockanalysis_model.py @@ -3,12 +3,12 @@ __docformat__ = "numpy" # pylint:disable=too-many-arguments,unexpected-keyword-arg import logging -from typing import Dict, Any, List +from typing import Any, Dict, List import numpy as np import pandas as pd -from tqdm import tqdm import yfinance as yf +from tqdm import tqdm from openbb_terminal.decorators import log_start_end from openbb_terminal.rich_config import console diff --git a/openbb_terminal/stocks/sector_industry_analysis/stockanalysis_view.py b/openbb_terminal/stocks/sector_industry_analysis/stockanalysis_view.py index e2b61cf7356..bd4529e3c1d 100644 --- a/openbb_terminal/stocks/sector_industry_analysis/stockanalysis_view.py +++ b/openbb_terminal/stocks/sector_industry_analysis/stockanalysis_view.py @@ -5,29 +5,27 @@ __docformat__ = "numpy" import copy import logging import os -from typing import Dict, Optional, List, Tuple +from typing import Dict, List, Optional, Tuple import numpy as np import pandas as pd from matplotlib import pyplot as plt -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( export_data, + is_valid_axes_count, plot_autoscale, print_rich_table, - is_valid_axes_count, ) +from openbb_terminal.helpers_denomination import transform as transform_by_denomination from openbb_terminal.rich_config import console from openbb_terminal.stocks.sector_industry_analysis import stockanalysis_model from openbb_terminal.stocks.sector_industry_analysis.financedatabase_model import ( filter_stocks, ) -from openbb_terminal.helpers_denomination import ( - transform as transform_by_denomination, -) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/stocks_controller.py b/openbb_terminal/stocks/stocks_controller.py index ca4f7d8ccef..0cd7c8c10b5 100644 --- a/openbb_terminal/stocks/stocks_controller.py +++ b/openbb_terminal/stocks/stocks_controller.py @@ -15,12 +15,9 @@ from openbb_terminal.common import feedparser_view, newsapi_view from openbb_terminal.common.quantitative_analysis import qa_view from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end -from openbb_terminal.stocks import cboe_view -from openbb_terminal.stocks.fundamental_analysis import fmp_view - from openbb_terminal.helper_funcs import ( - EXPORT_ONLY_RAW_DATA_ALLOWED, EXPORT_BOTH_RAW_DATA_AND_FIGURES, + EXPORT_ONLY_RAW_DATA_ALLOWED, export_data, valid_date, ) @@ -31,8 +28,8 @@ from openbb_terminal.rich_config import ( console, translate, ) -from openbb_terminal.stocks import stocks_helper -from openbb_terminal.stocks import stocks_view +from openbb_terminal.stocks import cboe_view, stocks_helper, stocks_view +from openbb_terminal.stocks.fundamental_analysis import fmp_view # pylint: disable=R1710,import-outside-toplevel,R0913,R1702,no-member diff --git a/openbb_terminal/stocks/stocks_helper.py b/openbb_terminal/stocks/stocks_helper.py index b6ae80284a3..0f713db6fd7 100644 --- a/openbb_terminal/stocks/stocks_helper.py +++ b/openbb_terminal/stocks/stocks_helper.py @@ -35,13 +35,15 @@ from openbb_terminal.helper_funcs import ( from openbb_terminal.rich_config import console # pylint: disable=unused-import -from openbb_terminal.stocks.stock_statics import BALANCE_PLOT # noqa: F401 -from openbb_terminal.stocks.stock_statics import CANDLE_SORT # noqa: F401 -from openbb_terminal.stocks.stock_statics import CASH_PLOT # noqa: F401 -from openbb_terminal.stocks.stock_statics import INCOME_PLOT # noqa: F401 -from openbb_terminal.stocks.stock_statics import INTERVALS # noqa: F401 -from openbb_terminal.stocks.stock_statics import SOURCES # noqa: F401 -from openbb_terminal.stocks.stock_statics import market_coverage_suffix +from openbb_terminal.stocks.stock_statics import ( + BALANCE_PLOT, # noqa: F401 + CANDLE_SORT, # noqa: F401 + CASH_PLOT, # noqa: F401 + INCOME_PLOT, # noqa: F401 + INTERVALS, # noqa: F401 + SOURCES, # noqa: F401 + market_coverage_suffix, +) from openbb_terminal.stocks.stocks_model import ( load_stock_av, load_stock_eodhd, diff --git a/openbb_terminal/stocks/stocks_model.py b/openbb_terminal/stocks/stocks_model.py index 50d06733427..e276a2c2cb8 100644 --- a/openbb_terminal/stocks/stocks_model.py +++ b/openbb_terminal/stocks/stocks_model.py @@ -1,16 +1,16 @@ +import logging import os from datetime import datetime -import logging -import pyEX import pandas as pd +import pyEX import yfinance as yf from alpha_vantage.timeseries import TimeSeries -from openbb_terminal.decorators import check_api_key -from openbb_terminal.rich_config import console from openbb_terminal import config_terminal as cfg +from openbb_terminal.decorators import check_api_key from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console # pylint: disable=unsupported-assignment-operation,no-member diff --git a/openbb_terminal/stocks/stocks_view.py b/openbb_terminal/stocks/stocks_view.py index 2ef7548475e..9985da296b5 100644 --- a/openbb_terminal/stocks/stocks_view.py +++ b/openbb_terminal/stocks/stocks_view.py @@ -1,6 +1,7 @@ import pandas as pd -from openbb_terminal.stocks import stocks_model + from openbb_terminal.helper_funcs import print_rich_table +from openbb_terminal.stocks import stocks_model def display_quote(symbol: str) -> pd.DataFrame: diff --git a/openbb_terminal/stocks/technical_analysis/finbrain_model.py b/openbb_terminal/stocks/technical_analysis/finbrain_model.py index 8e56a533bf8..80c85871c4a 100644 --- a/openbb_terminal/stocks/technical_analysis/finbrain_model.py +++ b/openbb_terminal/stocks/technical_analysis/finbrain_model.py @@ -3,8 +3,8 @@ __docformat__ = "numpy" import logging -from openbb_terminal.helper_funcs import request from openbb_terminal.decorators import log_start_end +from openbb_terminal.helper_funcs import request from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/technical_analysis/finviz_view.py b/openbb_terminal/stocks/technical_analysis/finviz_view.py index 1368ee986fe..2e0ed30c210 100644 --- a/openbb_terminal/stocks/technical_analysis/finviz_view.py +++ b/openbb_terminal/stocks/technical_analysis/finviz_view.py @@ -9,10 +9,10 @@ from typing import List, Optional import matplotlib.pyplot as plt from PIL import Image -from openbb_terminal.config_terminal import theme from openbb_terminal.config_plot import PLOT_DPI +from openbb_terminal.config_terminal import theme from openbb_terminal.decorators import log_start_end -from openbb_terminal.helper_funcs import plot_autoscale, is_valid_axes_count +from openbb_terminal.helper_funcs import is_valid_axes_count, plot_autoscale from openbb_terminal.stocks.technical_analysis import finviz_model logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/technical_analysis/rsp_model.py b/openbb_terminal/stocks/technical_analysis/rsp_model.py index 46c85d50882..7a059ba84aa 100644 --- a/openbb_terminal/stocks/technical_analysis/rsp_model.py +++ b/openbb_terminal/stocks/technical_analysis/rsp_model.py @@ -8,7 +8,6 @@ import pandas as pd from openbb_terminal.decorators import log_start_end - logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/technical_analysis/rsp_view.py b/openbb_terminal/stocks/technical_analysis/rsp_view.py index fb121f58511..0ae65f0ff98 100644 --- a/openbb_terminal/stocks/technical_analysis/rsp_view.py +++ b/openbb_terminal/stocks/technical_analysis/rsp_view.py @@ -3,6 +3,7 @@ __docformat__ = "numpy" import logging import os + import pandas as pd from openbb_terminal.decorators import log_start_end @@ -10,8 +11,8 @@ from openbb_terminal.helper_funcs import ( export_data, print_rich_table, ) -from openbb_terminal.stocks.technical_analysis import rsp_model from openbb_terminal.rich_config import console +from openbb_terminal.stocks.technical_analysis import rsp_model logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/technical_analysis/ta_controller.py b/openbb_terminal/stocks/technical_analysis/ta_controller.py index 2c5806b6079..f4c3b0c2275 100644 --- a/openbb_terminal/stocks/technical_analysis/ta_controller.py +++ b/openbb_terminal/stocks/technical_analysis/ta_controller.py @@ -11,7 +11,6 @@ from typing import List import pandas as pd from openbb_terminal import feature_flags as obbff -from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.common.technical_analysis import ( custom_indicators_view, momentum_view, @@ -22,6 +21,7 @@ from openbb_terminal.common.technical_analysis import ( volatility_view, volume_view, ) +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import ( EXPORT_BOTH_RAW_DATA_AND_FIGURES, @@ -33,13 +33,13 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import StockBaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console from openbb_terminal.stocks.technical_analysis import ( finbrain_view, finviz_view, + rsp_view, tradingview_model, tradingview_view, - rsp_view, ) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/technical_analysis/tradingview_view.py b/openbb_terminal/stocks/technical_analysis/tradingview_view.py index 94d890ad493..e34eee8f90f 100644 --- a/openbb_terminal/stocks/technical_analysis/tradingview_view.py +++ b/openbb_terminal/stocks/technical_analysis/tradingview_view.py @@ -3,12 +3,13 @@ __docformat__ = "numpy" import logging import os + import pandas as pd from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import export_data, print_rich_table -from openbb_terminal.stocks.technical_analysis import tradingview_model from openbb_terminal.rich_config import console +from openbb_terminal.stocks.technical_analysis import tradingview_model logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/tradinghours/bursa_model.py b/openbb_terminal/stocks/tradinghours/bursa_model.py index eb28cfdebac..9e172d17a14 100644 --- a/openbb_terminal/stocks/tradinghours/bursa_model.py +++ b/openbb_terminal/stocks/tradinghours/bursa_model.py @@ -1,9 +1,8 @@ """Stocks Trading Hours Model.""" -from datetime import datetime - import logging import os +from datetime import datetime import pandas as pd import pytz diff --git a/openbb_terminal/stocks/tradinghours/bursa_view.py b/openbb_terminal/stocks/tradinghours/bursa_view.py index 3bee3add8b0..5a8df905b66 100644 --- a/openbb_terminal/stocks/tradinghours/bursa_view.py +++ b/openbb_terminal/stocks/tradinghours/bursa_view.py @@ -4,9 +4,9 @@ __docformat__ = "numpy" import logging from openbb_terminal.decorators import log_start_end -from openbb_terminal.stocks.tradinghours import bursa_model from openbb_terminal.helper_funcs import print_rich_table from openbb_terminal.rich_config import console +from openbb_terminal.stocks.tradinghours import bursa_model logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/tradinghours/pandas_market_cal_model.py b/openbb_terminal/stocks/tradinghours/pandas_market_cal_model.py index c27935d80e9..12ef119cabb 100644 --- a/openbb_terminal/stocks/tradinghours/pandas_market_cal_model.py +++ b/openbb_terminal/stocks/tradinghours/pandas_market_cal_model.py @@ -1,7 +1,8 @@ import logging -import pandas_market_calendars as mcal import pandas as pd +import pandas_market_calendars as mcal + from openbb_terminal.decorators import log_start_end logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/tradinghours/pandas_market_cal_view.py b/openbb_terminal/stocks/tradinghours/pandas_market_cal_view.py index 9ad362a4403..a973773e9a3 100644 --- a/openbb_terminal/stocks/tradinghours/pandas_market_cal_view.py +++ b/openbb_terminal/stocks/tradinghours/pandas_market_cal_view.py @@ -1,10 +1,11 @@ import logging + import pandas as pd from openbb_terminal.decorators import log_start_end -from openbb_terminal.stocks.tradinghours import pandas_market_cal_model from openbb_terminal.helper_funcs import print_rich_table from openbb_terminal.rich_config import console +from openbb_terminal.stocks.tradinghours import pandas_market_cal_model logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/tradinghours/tradinghours_controller.py b/openbb_terminal/stocks/tradinghours/tradinghours_controller.py index 973901d922b..1d6a1d2fc51 100644 --- a/openbb_terminal/stocks/tradinghours/tradinghours_controller.py +++ b/openbb_terminal/stocks/tradinghours/tradinghours_controller.py @@ -4,31 +4,30 @@ __docformat__ = "numpy" import argparse import logging import os - -from typing import List from datetime import date +from typing import List + import pandas as pd -from openbb_terminal.custom_prompt_toolkit import NestedCompleter - from openbb_terminal import feature_flags as obbff +from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end -from openbb_terminal.menu import session from openbb_terminal.helper_funcs import ( get_user_timezone_or_invalid, ) -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController +from openbb_terminal.rich_config import MenuText, console from openbb_terminal.stocks.tradinghours import bursa_view from openbb_terminal.stocks.tradinghours.bursa_model import get_open +from openbb_terminal.stocks.tradinghours.pandas_market_cal_view import ( + display_exchange_holidays, + get_all_holiday_exchange_short_names, +) from openbb_terminal.stocks.tradinghours.tradinghours_helper import ( get_exchanges_short_names, get_fd_equities_list, ) -from openbb_terminal.stocks.tradinghours.pandas_market_cal_view import ( - get_all_holiday_exchange_short_names, - display_exchange_holidays, -) logger = logging.getLogger(__name__) diff --git a/openbb_terminal/stocks/tradinghours/tradinghours_helper.py b/openbb_terminal/stocks/tradinghours/tradinghours_helper.py index 82ba65276a3..5d65081d2b8 100644 --- a/openbb_terminal/stocks/tradinghours/tradinghours_helper.py +++ b/openbb_terminal/stocks/tradinghours/tradinghours_helper.py @@ -1,5 +1,5 @@ -from typing import List import logging +from typing import List import financedatabase as fd diff --git a/openbb_terminal/terminal_controller.py b/openbb_terminal/terminal_controller.py index 3b7b0c33282..ffeb190835b 100644 --- a/openbb_terminal/terminal_controller.py +++ b/openbb_terminal/terminal_controller.py @@ -2,30 +2,29 @@ """Main Terminal Module.""" __docformat__ = "numpy" -from datetime import datetime import argparse +import contextlib import difflib import logging import os import re -from pathlib import Path import sys -import webbrowser -from typing import List, Dict, Optional -import contextlib import time +import webbrowser +from datetime import datetime +from pathlib import Path +from typing import Dict, List, Optional import certifi -from rich import panel - +import pandas as pd from prompt_toolkit import PromptSession from prompt_toolkit.completion import NestedCompleter -from prompt_toolkit.styles import Style from prompt_toolkit.formatted_text import HTML -import pandas as pd -from openbb_terminal import feature_flags as obbff -from openbb_terminal.terminal_helper import is_packaged_application +from prompt_toolkit.styles import Style +from rich import panel +from openbb_terminal import feature_flags as obbff +from openbb_terminal.common import feedparser_view from openbb_terminal.core.config.paths import ( HOME_DIRECTORY, MISCELLANEOUS_DIRECTORY, @@ -35,31 +34,30 @@ from openbb_terminal.core.config.paths import ( USER_ROUTINES_DIRECTORY, load_dotenv_with_priority, ) - +from openbb_terminal.core.log.generation.settings_logger import log_all_settings from openbb_terminal.helper_funcs import ( + EXPORT_ONLY_RAW_DATA_ALLOWED, check_positive, get_flair, - EXPORT_ONLY_RAW_DATA_ALLOWED, + parse_and_split_input, ) +from openbb_terminal.keys_model import first_time_user from openbb_terminal.loggers import setup_logging -from openbb_terminal.core.log.generation.settings_logger import log_all_settings -from openbb_terminal.menu import session, is_papermill +from openbb_terminal.menu import is_papermill, session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.reports.reports_model import ipykernel_launcher +from openbb_terminal.rich_config import MenuText, console from openbb_terminal.terminal_helper import ( bootup, check_for_updates, + is_packaged_application, is_reset, print_goodbye, reset, + suppress_stdout, update_terminal, welcome_message, - suppress_stdout, ) -from openbb_terminal.helper_funcs import parse_and_split_input -from openbb_terminal.keys_model import first_time_user -from openbb_terminal.common import feedparser_view -from openbb_terminal.reports.reports_model import ipykernel_launcher # pylint: disable=too-many-public-methods,import-outside-toplevel, too-many-function-args # pylint: disable=too-many-branches,no-member,C0302,too-many-return-statements, inconsistent-return-statements diff --git a/openbb_terminal/terminal_helper.py b/openbb_terminal/terminal_helper.py index d49ab1040c9..2d4ac3b8b9f 100644 --- a/openbb_terminal/terminal_helper.py +++ b/openbb_terminal/terminal_helper.py @@ -2,25 +2,26 @@ __docformat__ = "numpy" # IMPORTATION STANDARD -import webbrowser -from contextlib import contextmanager import hashlib import logging import os import subprocess # nosec import sys +import webbrowser +from contextlib import contextmanager from typing import List -from packaging import version # IMPORTATION THIRDPARTY import matplotlib.pyplot as plt +from packaging import version + +from openbb_terminal import feature_flags as obbff +from openbb_terminal import thought_of_the_day as thought # IMPORTATION INTERNAL from openbb_terminal.config_terminal import LOGGING_APP_NAME, LOGGING_COMMIT_HASH -from openbb_terminal import feature_flags as obbff -from openbb_terminal import thought_of_the_day as thought -from openbb_terminal.rich_config import console from openbb_terminal.helper_funcs import request +from openbb_terminal.rich_config import console # pylint: disable=too-many-statements,no-member,too-many-branches,C0302 diff --git a/pyproject.toml b/pyproject.toml index 799c0282c97..ea60a56f816 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -158,9 +158,9 @@ match = '((?!test_).)*\.py' line-length = 122 target-version = "py38" # This is an introductory addition of ruff. We should look to adding: -# D: pydocstyle, PD: pandas-vet, I: isort +# D: pydocstyle, PD: pandas-vet # All options here: https://github.com/charliermarsh/ruff#supported-rules -select = ["E", "W", "F", "Q", "W", "S", "UP"] +select = ["E", "W", "F", "Q", "W", "S", "UP", "I"] ignore = ["S105", "S106", "S107"] [tool.ruff.per-file-ignores] diff --git a/terminal.py b/terminal.py index f7f88beed18..648d0420c9b 100644 --- a/terminal.py +++ b/terminal.py @@ -1,5 +1,6 @@ import multiprocessing import sys + from openbb_terminal import terminal_controller from openbb_terminal.core.integration_tests import integration_controller diff --git a/tests/conftest.py b/tests/conftest.py index 2ef453270dc..bc6c7e609a5 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -17,7 +17,8 @@ from _pytest.fixtures import SubRequest from _pytest.mark.structures import Mark # IMPORTATION INTERNAL -from openbb_terminal import decorators, feature_flags as obbff, helper_funcs +from openbb_terminal import decorators, helper_funcs +from openbb_terminal import feature_flags as obbff from openbb_terminal.base_helpers import strtobool # pylint: disable=redefined-outer-name diff --git a/tests/formatting/test_best_practices.py b/tests/formatting/test_best_practices.py index a55ac890023..a30566cd89f 100644 --- a/tests/formatting/test_best_practices.py +++ b/tests/formatting/test_best_practices.py @@ -1,5 +1,6 @@ -from typing import Optional, List, Tuple from inspect import signature +from typing import List, Optional, Tuple + import pytest # Certain openbb distributions like pip do not include the docs folder, diff --git a/tests/openbb_terminal/alternative/covid/test_covid_controller.py b/tests/openbb_terminal/alternative/covid/test_covid_controller.py index 7138f8193e3..55ea0fb4c45 100644 --- a/tests/openbb_terminal/alternative/covid/test_covid_controller.py +++ b/tests/openbb_terminal/alternative/covid/test_covid_controller.py @@ -7,6 +7,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.alternative.covid import covid_controller + # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/alternative/oss/test_oss_controller.py b/tests/openbb_terminal/alternative/oss/test_oss_controller.py index ba68aff3e51..ee810508cdd 100644 --- a/tests/openbb_terminal/alternative/oss/test_oss_controller.py +++ b/tests/openbb_terminal/alternative/oss/test_oss_controller.py @@ -7,6 +7,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.alternative.oss import oss_controller + # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/alternative/test_alt_controller.py b/tests/openbb_terminal/alternative/test_alt_controller.py index 599f10cf6c7..d4f3ae785ec 100644 --- a/tests/openbb_terminal/alternative/test_alt_controller.py +++ b/tests/openbb_terminal/alternative/test_alt_controller.py @@ -7,6 +7,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.alternative import alt_controller + # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/common/behavioural_analysis/test_finbrain_view.py b/tests/openbb_terminal/common/behavioural_analysis/test_finbrain_view.py index 78e9f0218c2..5100f28f167 100644 --- a/tests/openbb_terminal/common/behavioural_analysis/test_finbrain_view.py +++ b/tests/openbb_terminal/common/behavioural_analysis/test_finbrain_view.py @@ -4,9 +4,10 @@ import pandas as pd import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.common.behavioural_analysis import finbrain_view -from openbb_terminal import helper_funcs @pytest.mark.default_cassette("test_display_sentiment_analysis") diff --git a/tests/openbb_terminal/common/quantitative_analysis/test_qa_view.py b/tests/openbb_terminal/common/quantitative_analysis/test_qa_view.py index d3cbfab778b..533d89dc08e 100644 --- a/tests/openbb_terminal/common/quantitative_analysis/test_qa_view.py +++ b/tests/openbb_terminal/common/quantitative_analysis/test_qa_view.py @@ -1,7 +1,8 @@ from datetime import datetime, timedelta from unittest.mock import MagicMock -import pytest + import pandas as pd +import pytest from openbb_terminal.common.quantitative_analysis import qa_view diff --git a/tests/openbb_terminal/core/log/collection/test_logging_clock.py b/tests/openbb_terminal/core/log/collection/test_logging_clock.py index a859fc1ecf0..bd79d3a5523 100644 --- a/tests/openbb_terminal/core/log/collection/test_logging_clock.py +++ b/tests/openbb_terminal/core/log/collection/test_logging_clock.py @@ -1,7 +1,8 @@ from datetime import datetime -import pytest -from openbb_terminal.core.log.collection import logging_clock +import pytest + +from openbb_terminal.core.log.collection import logging_clock clock = logging_clock.LoggingClock() now = datetime.now() diff --git a/tests/openbb_terminal/core/log/collection/test_s3_sender.py b/tests/openbb_terminal/core/log/collection/test_s3_sender.py index 0ea607c04e6..368fe4a79b5 100644 --- a/tests/openbb_terminal/core/log/collection/test_s3_sender.py +++ b/tests/openbb_terminal/core/log/collection/test_s3_sender.py @@ -4,10 +4,11 @@ from pathlib import Path # IMPORTATION THIRDPARTY import pytest +from openbb_terminal.core.log.collection import s3_sender +from openbb_terminal.core.log.constants import DEFAULT_API_URL + # IMPORTATION INTERNAL from openbb_terminal.core.log.generation.settings import AWSSettings -from openbb_terminal.core.log.constants import DEFAULT_API_URL -from openbb_terminal.core.log.collection import s3_sender # pylint: disable=W0611 diff --git a/tests/openbb_terminal/core/log/conftest.py b/tests/openbb_terminal/core/log/conftest.py index f639a3e61ef..705512921fa 100644 --- a/tests/openbb_terminal/core/log/conftest.py +++ b/tests/openbb_terminal/core/log/conftest.py @@ -1,9 +1,10 @@ import pytest + from openbb_terminal.core.log.generation.settings import ( - Settings, AppSettings, AWSSettings, LogSettings, + Settings, ) diff --git a/tests/openbb_terminal/core/log/generation/test_directories.py b/tests/openbb_terminal/core/log/generation/test_directories.py index 5a56e8d988f..21f287e8c63 100644 --- a/tests/openbb_terminal/core/log/generation/test_directories.py +++ b/tests/openbb_terminal/core/log/generation/test_directories.py @@ -1,5 +1,5 @@ -from pathlib import Path import logging +from pathlib import Path from openbb_terminal.core.log.generation.directories import get_log_dir, get_log_sub_dir from openbb_terminal.loggers import setup_logging diff --git a/tests/openbb_terminal/core/log/generation/test_expired_files.py b/tests/openbb_terminal/core/log/generation/test_expired_files.py index c8015e7d744..bf2312eb568 100644 --- a/tests/openbb_terminal/core/log/generation/test_expired_files.py +++ b/tests/openbb_terminal/core/log/generation/test_expired_files.py @@ -1,7 +1,8 @@ import os + from openbb_terminal.core.log.generation.expired_files import ( - get_timestamp_from_x_days, get_expired_file_list, + get_timestamp_from_x_days, remove_file_list, ) diff --git a/tests/openbb_terminal/core/log/generation/test_path_tracking_file_handler.py b/tests/openbb_terminal/core/log/generation/test_path_tracking_file_handler.py index 72cf65dfb91..fc3da4653a7 100644 --- a/tests/openbb_terminal/core/log/generation/test_path_tracking_file_handler.py +++ b/tests/openbb_terminal/core/log/generation/test_path_tracking_file_handler.py @@ -1,12 +1,13 @@ import random -from pathlib import Path from datetime import datetime +from pathlib import Path + import pytest + from openbb_terminal.core.log.generation.path_tracking_file_handler import ( PathTrackingFileHandler, ) - randint = random.randint(0, 999999999) diff --git a/tests/openbb_terminal/cryptocurrency/defi/test_defi_controller.py b/tests/openbb_terminal/cryptocurrency/defi/test_defi_controller.py index dd2f9311f3a..86ec160163f 100644 --- a/tests/openbb_terminal/cryptocurrency/defi/test_defi_controller.py +++ b/tests/openbb_terminal/cryptocurrency/defi/test_defi_controller.py @@ -7,6 +7,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.cryptocurrency.defi import defi_controller + # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/cryptocurrency/discovery/test_discovery_controller.py b/tests/openbb_terminal/cryptocurrency/discovery/test_discovery_controller.py index bb14ae4143c..d3f98c4908f 100644 --- a/tests/openbb_terminal/cryptocurrency/discovery/test_discovery_controller.py +++ b/tests/openbb_terminal/cryptocurrency/discovery/test_discovery_controller.py @@ -7,6 +7,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.cryptocurrency.discovery import discovery_controller + # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/cryptocurrency/due_diligence/test_dd_controller.py b/tests/openbb_terminal/cryptocurrency/due_diligence/test_dd_controller.py index 034eb2586c1..6b9b66d2a65 100644 --- a/tests/openbb_terminal/cryptocurrency/due_diligence/test_dd_controller.py +++ b/tests/openbb_terminal/cryptocurrency/due_diligence/test_dd_controller.py @@ -1,6 +1,6 @@ # IMPORTATION STANDARD -from typing import List import os +from typing import List # IMPORTATION THIRDPARTY import pandas as pd diff --git a/tests/openbb_terminal/cryptocurrency/due_diligence/test_pycoingecko_view.py b/tests/openbb_terminal/cryptocurrency/due_diligence/test_pycoingecko_view.py index dfd248fdf8d..f9eca9d8d69 100644 --- a/tests/openbb_terminal/cryptocurrency/due_diligence/test_pycoingecko_view.py +++ b/tests/openbb_terminal/cryptocurrency/due_diligence/test_pycoingecko_view.py @@ -1,16 +1,14 @@ -from unittest import mock, TestCase import json import os -import pytest +from unittest import TestCase, mock +import pytest import vcr -from openbb_terminal.cryptocurrency.due_diligence import ( - pycoingecko_view as dd_pycoingecko_view, -) from openbb_terminal.cryptocurrency.cryptocurrency_helpers import ( load, ) +from openbb_terminal.cryptocurrency.due_diligence import pycoingecko_view from tests.helpers.helpers import check_print # pylint: disable=unused-import @@ -21,7 +19,7 @@ pytest.skip(msg="Pycoingecko tests have not been migrated.", allow_module_level= @pytest.mark.vcr @pytest.mark.record_stdout def test_display_potential_returns(): - dd_pycoingecko_view.display_coin_potential_returns( + pycoingecko_view.display_coin_potential_returns( to_symbol="algorand", from_symbol="bitcoin" ) @@ -53,7 +51,7 @@ class TestCoinGeckoAPI(TestCase): record_mode="none", ) def test_coin_info(self): - dd_pycoingecko_view.display_info(self.coin, export="") + pycoingecko_view.display_info(self.coin, export="") @check_print(assert_in="Homepage") @vcr.use_cassette( @@ -61,7 +59,7 @@ class TestCoinGeckoAPI(TestCase): record_mode="none", ) def test_coin_web(self): - dd_pycoingecko_view.display_web(self.coin, export="") + pycoingecko_view.display_web(self.coin, export="") @check_print(assert_in="Metric") @vcr.use_cassette( @@ -69,7 +67,7 @@ class TestCoinGeckoAPI(TestCase): record_mode="none", ) def test_coin_social(self): - dd_pycoingecko_view.display_social(self.coin, export="") + pycoingecko_view.display_social(self.coin, export="") @check_print(assert_in="Metric") @vcr.use_cassette( @@ -77,7 +75,7 @@ class TestCoinGeckoAPI(TestCase): record_mode="none", ) def test_coin_dev(self): - dd_pycoingecko_view.display_dev(self.coin, export="") + pycoingecko_view.display_dev(self.coin, export="") @check_print(assert_in="Metric") @vcr.use_cassette( @@ -85,7 +83,7 @@ class TestCoinGeckoAPI(TestCase): record_mode="none", ) def test_coin_ath(self): - dd_pycoingecko_view.display_ath(self.coin, export="", currency="usd") + pycoingecko_view.display_ath(self.coin, export="", currency="usd") @check_print(assert_in="Metric") @vcr.use_cassette( @@ -93,7 +91,7 @@ class TestCoinGeckoAPI(TestCase): record_mode="none", ) def test_coin_atl(self): - dd_pycoingecko_view.display_atl(self.coin, export="", currency="usd") + pycoingecko_view.display_atl(self.coin, export="", currency="usd") @check_print(assert_in="Metric") @vcr.use_cassette( @@ -101,7 +99,7 @@ class TestCoinGeckoAPI(TestCase): record_mode="none", ) def test_coin_score(self): - dd_pycoingecko_view.display_score(self.coin, export="") + pycoingecko_view.display_score(self.coin, export="") @check_print(assert_in="Metric") @vcr.use_cassette( @@ -109,7 +107,7 @@ class TestCoinGeckoAPI(TestCase): record_mode="none", ) def test_coin_bc(self): - dd_pycoingecko_view.display_bc(self.coin, export="") + pycoingecko_view.display_bc(self.coin, export="") @check_print(assert_in="Metric") @vcr.use_cassette( @@ -117,4 +115,4 @@ class TestCoinGeckoAPI(TestCase): record_mode="none", ) def test_coin_market(self): - dd_pycoingecko_view.display_market(self.coin, export="") + pycoingecko_view.display_market(self.coin, export="") diff --git a/tests/openbb_terminal/cryptocurrency/nft/test_nft_controller.py b/tests/openbb_terminal/cryptocurrency/nft/test_nft_controller.py index 5cbe1ce9f1f..617db6d7453 100644 --- a/tests/openbb_terminal/cryptocurrency/nft/test_nft_controller.py +++ b/tests/openbb_terminal/cryptocurrency/nft/test_nft_controller.py @@ -7,6 +7,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.cryptocurrency.nft import nft_controller + # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/cryptocurrency/onchain/test_onchain_controller.py b/tests/openbb_terminal/cryptocurrency/onchain/test_onchain_controller.py index 5fc0d462ed5..1f283005f7b 100644 --- a/tests/openbb_terminal/cryptocurrency/onchain/test_onchain_controller.py +++ b/tests/openbb_terminal/cryptocurrency/onchain/test_onchain_controller.py @@ -7,6 +7,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.cryptocurrency.onchain import onchain_controller + # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/cryptocurrency/overview/test_coinbase_view.py b/tests/openbb_terminal/cryptocurrency/overview/test_coinbase_view.py index 6e73f8d275f..e8f344770f2 100644 --- a/tests/openbb_terminal/cryptocurrency/overview/test_coinbase_view.py +++ b/tests/openbb_terminal/cryptocurrency/overview/test_coinbase_view.py @@ -1,11 +1,8 @@ import pytest -from openbb_terminal.cryptocurrency.due_diligence import ( - coinbase_view as dd_coinbase_view, -) -from openbb_terminal.portfolio.brokers.coinbase import ( - coinbase_view as bro_coinbase_view, -) + +from openbb_terminal.cryptocurrency.due_diligence import coinbase_view as dcv from openbb_terminal.cryptocurrency.overview import coinbase_view as ov_coinbase_view +from openbb_terminal.portfolio.brokers.coinbase import coinbase_view as bcv from tests.helpers.helpers import check_print @@ -23,7 +20,7 @@ def test_display_candles(mocker): [1631232000, 0.07088, 0.07476, 0.07382, 0.07159, 13264.33844153], [1631145600, 0.07369, 0.07669, 0.07599, 0.07378, 12462.35265359], ] - dd_coinbase_view.display_candles("ETH-BTC", "1day", "") + dcv.display_candles("ETH-BTC", "1day", "") @check_print(assert_in="Value") @@ -43,7 +40,7 @@ def test_display_stats(mocker): "last": "3333.19000000", "volume_30day": "1019451.11188405", } - dd_coinbase_view.display_stats("ETH-USDT", "") + dcv.display_stats("ETH-USDT", "") @check_print(assert_in="price") @@ -71,7 +68,7 @@ def test_display_trades(mocker): "side": "sell", }, ] - dd_coinbase_view.display_trades("ETH-USDT", limit=100, side=None, export="") + dcv.display_trades("ETH-USDT", limit=100, side=None, export="") @check_print(assert_in="product_id") @@ -130,7 +127,7 @@ def test_display_orders(mocker): "settled": False, }, ] - bro_coinbase_view.display_orders(2, "created_at", descend=True, export="") + bcv.display_orders(2, "created_at", descend=True, export="") @check_print(assert_in="crypto_address") @@ -188,9 +185,7 @@ def test_display_deposits(mocker): }, ], ) - bro_coinbase_view.display_deposits( - 2, "created_at", "deposit", descend=True, export="" - ) + bcv.display_deposits(2, "created_at", "deposit", descend=True, export="") @check_print(assert_in="balance") @@ -228,7 +223,7 @@ def test_display_history(mocker): }, }, ] - bro_coinbase_view.display_history("ETH", "", None, 2) + bcv.display_history("ETH", "", None, 2) @check_print(assert_in="base_currency") diff --git a/tests/openbb_terminal/cryptocurrency/overview/test_pycoingecko_view.py b/tests/openbb_terminal/cryptocurrency/overview/test_pycoingecko_view.py index ce7eda34e96..e5b3f4d5379 100644 --- a/tests/openbb_terminal/cryptocurrency/overview/test_pycoingecko_view.py +++ b/tests/openbb_terminal/cryptocurrency/overview/test_pycoingecko_view.py @@ -1,7 +1,6 @@ import pytest -from openbb_terminal.cryptocurrency.overview import ( - pycoingecko_view as ov_pycoingecko_view, -) + +from openbb_terminal.cryptocurrency.overview import pycoingecko_view # pylint: disable=unused-import @@ -11,7 +10,7 @@ from openbb_terminal.cryptocurrency.overview import ( @pytest.mark.record_stdout @pytest.mark.vcr() def test_coin_holdings_overview(): - ov_pycoingecko_view.display_holdings_overview( + pycoingecko_view.display_holdings_overview( symbol="bitcoin", show_bar=False, export="", limit=20 ) @@ -19,7 +18,7 @@ def test_coin_holdings_overview(): @pytest.mark.record_stdout @pytest.mark.vcr() def test_coin_categories(): - ov_pycoingecko_view.display_categories( + pycoingecko_view.display_categories( limit=15, export="", pie=False, sortby="market_cap" ) @@ -27,7 +26,7 @@ def test_coin_categories(): @pytest.mark.record_stdout @pytest.mark.vcr() def test_coin_stablecoins(): - ov_pycoingecko_view.display_stablecoins( + pycoingecko_view.display_stablecoins( limit=15, export="", sortby="Market_Cap_[$]", pie=False, ascend=False ) @@ -35,7 +34,7 @@ def test_coin_stablecoins(): @pytest.mark.record_stdout @pytest.mark.vcr() def test_coin_exchanges(): - ov_pycoingecko_view.display_exchanges( + pycoingecko_view.display_exchanges( limit=15, sortby="Rank", ascend=True, links=False, export="" ) @@ -43,13 +42,13 @@ def test_coin_exchanges(): @pytest.mark.record_stdout @pytest.mark.vcr() def test_coin_indexes(): - ov_pycoingecko_view.display_indexes(limit=15, ascend=True, export="") + pycoingecko_view.display_indexes(limit=15, ascend=True, export="") @pytest.mark.record_stdout @pytest.mark.vcr() def test_coin_derivatives(): - ov_pycoingecko_view.display_derivatives( + pycoingecko_view.display_derivatives( limit=15, sortby="Rank", ascend=True, export="" ) @@ -57,7 +56,7 @@ def test_coin_derivatives(): @pytest.mark.record_stdout @pytest.mark.vcr() def test_coin_exchange_rates(): - ov_pycoingecko_view.display_exchange_rates( + pycoingecko_view.display_exchange_rates( limit=15, sortby="Index", ascend=True, export="" ) @@ -65,10 +64,10 @@ def test_coin_exchange_rates(): @pytest.mark.record_stdout @pytest.mark.vcr() def test_coin_global_market_info(): - ov_pycoingecko_view.display_global_market_info(export="", pie=False) + pycoingecko_view.display_global_market_info(export="", pie=False) @pytest.mark.record_stdout @pytest.mark.vcr() def test_coin_global_defi_info(): - ov_pycoingecko_view.display_global_defi_info(export="") + pycoingecko_view.display_global_defi_info(export="") diff --git a/tests/openbb_terminal/cryptocurrency/test_cryptocurrency_helpers.py b/tests/openbb_terminal/cryptocurrency/test_cryptocurrency_helpers.py index 0b465cbce0c..989216a052c 100644 --- a/tests/openbb_terminal/cryptocurrency/test_cryptocurrency_helpers.py +++ b/tests/openbb_terminal/cryptocurrency/test_cryptocurrency_helpers.py @@ -5,11 +5,11 @@ import pytest from pycoingecko import CoinGeckoAPI from openbb_terminal.cryptocurrency.cryptocurrency_helpers import ( - read_data_file, + _create_closest_match_df, _load_coin_map, load, load_coins_list, - _create_closest_match_df, + read_data_file, ) # pylint: disable=unused-import diff --git a/tests/openbb_terminal/cryptocurrency/tools/test_tools_controller.py b/tests/openbb_terminal/cryptocurrency/tools/test_tools_controller.py index 5ea27e313f7..913d8528c69 100644 --- a/tests/openbb_terminal/cryptocurrency/tools/test_tools_controller.py +++ b/tests/openbb_terminal/cryptocurrency/tools/test_tools_controller.py @@ -7,6 +7,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.cryptocurrency.tools import tools_controller + # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/econometrics/test_econometrics_controller.py b/tests/openbb_terminal/econometrics/test_econometrics_controller.py index efcd39cc655..cba45f859ec 100644 --- a/tests/openbb_terminal/econometrics/test_econometrics_controller.py +++ b/tests/openbb_terminal/econometrics/test_econometrics_controller.py @@ -1,5 +1,6 @@ -import pytest import pandas as pd +import pytest + from openbb_terminal.econometrics.econometrics_controller import EconometricsController # pylint: disable=W0621 diff --git a/tests/openbb_terminal/econometrics/test_econometrics_model.py b/tests/openbb_terminal/econometrics/test_econometrics_model.py index ab513fb38b6..170dcadab79 100644 --- a/tests/openbb_terminal/econometrics/test_econometrics_model.py +++ b/tests/openbb_terminal/econometrics/test_econometrics_model.py @@ -4,9 +4,10 @@ import pandas as pd # IMPORTATION THIRDPARTY import pytest +from openbb_terminal.common import common_model + # IMPORTATION INTERNAL from openbb_terminal.econometrics import econometrics_model -from openbb_terminal.common import common_model @pytest.mark.vcr() diff --git a/tests/openbb_terminal/econometrics/test_econometrics_view.py b/tests/openbb_terminal/econometrics/test_econometrics_view.py index fc52440d58c..5ae8d2dad86 100644 --- a/tests/openbb_terminal/econometrics/test_econometrics_view.py +++ b/tests/openbb_terminal/econometrics/test_econometrics_view.py @@ -1,9 +1,10 @@ # IMPORTATION THIRDPARTY import pytest +from openbb_terminal.common import common_model + # IMPORTATION INTERNAL from openbb_terminal.econometrics import econometrics_view -from openbb_terminal.common import common_model @pytest.mark.vcr() diff --git a/tests/openbb_terminal/economy/test_economy_controller.py b/tests/openbb_terminal/economy/test_economy_controller.py index 5fb7e54ae6d..7ddb16bcb0c 100644 --- a/tests/openbb_terminal/economy/test_economy_controller.py +++ b/tests/openbb_terminal/economy/test_economy_controller.py @@ -1,16 +1,16 @@ # IMPORTATION STANDARD -import os import datetime +import os + +import pandas as pd # IMPORTATION THIRDPARTY import pytest -import pandas as pd from pandas import Timestamp # IMPORTATION INTERNAL from openbb_terminal.economy import economy_controller - # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/economy/test_economy_helpers.py b/tests/openbb_terminal/economy/test_economy_helpers.py index e4b20812629..dd0d889b3cd 100644 --- a/tests/openbb_terminal/economy/test_economy_helpers.py +++ b/tests/openbb_terminal/economy/test_economy_helpers.py @@ -1,5 +1,6 @@ import pandas as pd import pytest + from openbb_terminal.economy import economy_helpers diff --git a/tests/openbb_terminal/economy/test_finviz_view.py b/tests/openbb_terminal/economy/test_finviz_view.py index 5ff89135f6d..6a9a692272a 100644 --- a/tests/openbb_terminal/economy/test_finviz_view.py +++ b/tests/openbb_terminal/economy/test_finviz_view.py @@ -3,9 +3,10 @@ # IMPORTATION THIRDPARTY import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.economy import finviz_view -from openbb_terminal import helper_funcs @pytest.fixture(scope="module") diff --git a/tests/openbb_terminal/economy/test_fred_model.py b/tests/openbb_terminal/economy/test_fred_model.py index 7219fde3dd7..5fcc3e0768f 100644 --- a/tests/openbb_terminal/economy/test_fred_model.py +++ b/tests/openbb_terminal/economy/test_fred_model.py @@ -1,8 +1,8 @@ # IMPORTATION STANDARD # IMPORTATION THIRDPARTY -import pytest import pandas as pd +import pytest # IMPORTATION INTERNAL from openbb_terminal.economy import fred_model diff --git a/tests/openbb_terminal/economy/test_investingcom_model.py b/tests/openbb_terminal/economy/test_investingcom_model.py index 47b98424f4f..20acca171a0 100644 --- a/tests/openbb_terminal/economy/test_investingcom_model.py +++ b/tests/openbb_terminal/economy/test_investingcom_model.py @@ -2,6 +2,7 @@ # IMPORTATION THIRDPARTY from typing import List, Union + import pandas as pd import pytest diff --git a/tests/openbb_terminal/economy/test_investingcom_view.py b/tests/openbb_terminal/economy/test_investingcom_view.py index 38ac910dc92..54fb01ac249 100644 --- a/tests/openbb_terminal/economy/test_investingcom_view.py +++ b/tests/openbb_terminal/economy/test_investingcom_view.py @@ -5,6 +5,7 @@ # import pandas as pd from typing import List, Union + import pytest # IMPORTATION INTERNAL diff --git a/tests/openbb_terminal/economy/test_wsj_view.py b/tests/openbb_terminal/economy/test_wsj_view.py index 464f91ba5d0..9aaca56434c 100644 --- a/tests/openbb_terminal/economy/test_wsj_view.py +++ b/tests/openbb_terminal/economy/test_wsj_view.py @@ -3,9 +3,10 @@ # IMPORTATION THIRDPARTY import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.economy import wsj_view -from openbb_terminal import helper_funcs @pytest.mark.vcr diff --git a/tests/openbb_terminal/etf/discovery/test_wsj_view.py b/tests/openbb_terminal/etf/discovery/test_wsj_view.py index b44a2aea3c2..01b0a278909 100644 --- a/tests/openbb_terminal/etf/discovery/test_wsj_view.py +++ b/tests/openbb_terminal/etf/discovery/test_wsj_view.py @@ -3,9 +3,10 @@ # IMPORTATION THIRDPARTY import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.etf.discovery import wsj_view -from openbb_terminal import helper_funcs @pytest.fixture(scope="module") diff --git a/tests/openbb_terminal/etf/screener/test_screener_view.py b/tests/openbb_terminal/etf/screener/test_screener_view.py index 188d8fbe528..f1ac63fc6c8 100644 --- a/tests/openbb_terminal/etf/screener/test_screener_view.py +++ b/tests/openbb_terminal/etf/screener/test_screener_view.py @@ -3,9 +3,10 @@ # IMPORTATION THIRDPARTY import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.etf.screener import screener_view -from openbb_terminal import helper_funcs @pytest.fixture(scope="module") diff --git a/tests/openbb_terminal/etf/test_financedatabase_view.py b/tests/openbb_terminal/etf/test_financedatabase_view.py index 2460b74c77b..9dcb39e7769 100644 --- a/tests/openbb_terminal/etf/test_financedatabase_view.py +++ b/tests/openbb_terminal/etf/test_financedatabase_view.py @@ -3,9 +3,10 @@ # IMPORTATION THIRDPARTY import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.etf import financedatabase_view -from openbb_terminal import helper_funcs @pytest.fixture(scope="module") diff --git a/tests/openbb_terminal/etf/test_stockanalysis_view.py b/tests/openbb_terminal/etf/test_stockanalysis_view.py index a1f39193ea3..0f6ad0657d8 100644 --- a/tests/openbb_terminal/etf/test_stockanalysis_view.py +++ b/tests/openbb_terminal/etf/test_stockanalysis_view.py @@ -3,9 +3,10 @@ # IMPORTATION THIRDPARTY import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.etf import stockanalysis_view -from openbb_terminal import helper_funcs @pytest.fixture(scope="module") diff --git a/tests/openbb_terminal/forecast/conftest.py b/tests/openbb_terminal/forecast/conftest.py index ebc22a5c451..764764c4ae4 100644 --- a/tests/openbb_terminal/forecast/conftest.py +++ b/tests/openbb_terminal/forecast/conftest.py @@ -1,7 +1,8 @@ import os + +import pandas as pd import pytest from _pytest.nodes import Node -import pandas as pd def create_path(*path: str) -> str: diff --git a/tests/openbb_terminal/forecast/test_NBEATS_model.py b/tests/openbb_terminal/forecast/test_NBEATS_model.py index 72f6d417822..ae3884a0f30 100644 --- a/tests/openbb_terminal/forecast/test_NBEATS_model.py +++ b/tests/openbb_terminal/forecast/test_NBEATS_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_TCN_model.py b/tests/openbb_terminal/forecast/test_TCN_model.py index 244029ed9ac..12770986fb5 100644 --- a/tests/openbb_terminal/forecast/test_TCN_model.py +++ b/tests/openbb_terminal/forecast/test_TCN_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_anom_model.py b/tests/openbb_terminal/forecast/test_anom_model.py index 736d0f7b511..a877abeda07 100644 --- a/tests/openbb_terminal/forecast/test_anom_model.py +++ b/tests/openbb_terminal/forecast/test_anom_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_autoarima_model.py b/tests/openbb_terminal/forecast/test_autoarima_model.py index ab5b0ae898f..2acc2222d6d 100644 --- a/tests/openbb_terminal/forecast/test_autoarima_model.py +++ b/tests/openbb_terminal/forecast/test_autoarima_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_autoces_model.py b/tests/openbb_terminal/forecast/test_autoces_model.py index 609a352daa0..a27b7c21aa4 100644 --- a/tests/openbb_terminal/forecast/test_autoces_model.py +++ b/tests/openbb_terminal/forecast/test_autoces_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_autoets_model.py b/tests/openbb_terminal/forecast/test_autoets_model.py index d50a180d5c3..e66e9908d13 100644 --- a/tests/openbb_terminal/forecast/test_autoets_model.py +++ b/tests/openbb_terminal/forecast/test_autoets_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_autoselect_model.py b/tests/openbb_terminal/forecast/test_autoselect_model.py index 6fcb4479558..7bf998c76bb 100644 --- a/tests/openbb_terminal/forecast/test_autoselect_model.py +++ b/tests/openbb_terminal/forecast/test_autoselect_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_brnn_model.py b/tests/openbb_terminal/forecast/test_brnn_model.py index 7e0f57666c6..f32b419704d 100644 --- a/tests/openbb_terminal/forecast/test_brnn_model.py +++ b/tests/openbb_terminal/forecast/test_brnn_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_expo_model.py b/tests/openbb_terminal/forecast/test_expo_model.py index f6123595b65..cfe95f368ac 100644 --- a/tests/openbb_terminal/forecast/test_expo_model.py +++ b/tests/openbb_terminal/forecast/test_expo_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_forecast_controller.py b/tests/openbb_terminal/forecast/test_forecast_controller.py index 59a0bed76d5..69167e15818 100644 --- a/tests/openbb_terminal/forecast/test_forecast_controller.py +++ b/tests/openbb_terminal/forecast/test_forecast_controller.py @@ -1,7 +1,9 @@ -from typing import List import argparse +from typing import List + import pandas as pd import pytest + from openbb_terminal.custom_prompt_toolkit import NestedCompleter try: diff --git a/tests/openbb_terminal/forecast/test_forecast_model.py b/tests/openbb_terminal/forecast/test_forecast_model.py index d0e9015587b..961b71119b3 100644 --- a/tests/openbb_terminal/forecast/test_forecast_model.py +++ b/tests/openbb_terminal/forecast/test_forecast_model.py @@ -1,8 +1,10 @@ from typing import Tuple + import pandas as pd import pytest -from openbb_terminal.forecast import forecast_model as fm + from openbb_terminal.common import common_model +from openbb_terminal.forecast import forecast_model as fm from tests.openbb_terminal.forecast import conftest diff --git a/tests/openbb_terminal/forecast/test_linear_model.py b/tests/openbb_terminal/forecast/test_linear_model.py index 07b5ff1b6da..968416982e2 100644 --- a/tests/openbb_terminal/forecast/test_linear_model.py +++ b/tests/openbb_terminal/forecast/test_linear_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_mstl_model.py b/tests/openbb_terminal/forecast/test_mstl_model.py index c0ad009f121..da55ec42c41 100644 --- a/tests/openbb_terminal/forecast/test_mstl_model.py +++ b/tests/openbb_terminal/forecast/test_mstl_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_nhits_model.py b/tests/openbb_terminal/forecast/test_nhits_model.py index 8281c96c9c4..7f103296ac2 100644 --- a/tests/openbb_terminal/forecast/test_nhits_model.py +++ b/tests/openbb_terminal/forecast/test_nhits_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_regr_model.py b/tests/openbb_terminal/forecast/test_regr_model.py index 7fd1bf3aecd..4bb79f888af 100644 --- a/tests/openbb_terminal/forecast/test_regr_model.py +++ b/tests/openbb_terminal/forecast/test_regr_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_rnn_model.py b/tests/openbb_terminal/forecast/test_rnn_model.py index bc9be0da103..7ceacd44f8c 100644 --- a/tests/openbb_terminal/forecast/test_rnn_model.py +++ b/tests/openbb_terminal/forecast/test_rnn_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_rwd_model.py b/tests/openbb_terminal/forecast/test_rwd_model.py index 54f2d547810..f64a67c65e0 100644 --- a/tests/openbb_terminal/forecast/test_rwd_model.py +++ b/tests/openbb_terminal/forecast/test_rwd_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_seasonalnaive_model.py b/tests/openbb_terminal/forecast/test_seasonalnaive_model.py index f1d89b856a7..e384e5347e0 100644 --- a/tests/openbb_terminal/forecast/test_seasonalnaive_model.py +++ b/tests/openbb_terminal/forecast/test_seasonalnaive_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_tft_model.py b/tests/openbb_terminal/forecast/test_tft_model.py index 882c4d83b8e..8600109b69f 100644 --- a/tests/openbb_terminal/forecast/test_tft_model.py +++ b/tests/openbb_terminal/forecast/test_tft_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_theta_model.py b/tests/openbb_terminal/forecast/test_theta_model.py index 711bcf449be..458ce833414 100644 --- a/tests/openbb_terminal/forecast/test_theta_model.py +++ b/tests/openbb_terminal/forecast/test_theta_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forecast/test_trans_model.py b/tests/openbb_terminal/forecast/test_trans_model.py index 8705831c600..822fb71e085 100644 --- a/tests/openbb_terminal/forecast/test_trans_model.py +++ b/tests/openbb_terminal/forecast/test_trans_model.py @@ -1,4 +1,5 @@ import pytest + from tests.openbb_terminal.forecast import conftest try: diff --git a/tests/openbb_terminal/forex/quantitative_analysis/test_qa_controller.py b/tests/openbb_terminal/forex/quantitative_analysis/test_qa_controller.py index ca9ca195c1a..0e3f47bed15 100644 --- a/tests/openbb_terminal/forex/quantitative_analysis/test_qa_controller.py +++ b/tests/openbb_terminal/forex/quantitative_analysis/test_qa_controller.py @@ -9,7 +9,6 @@ import pytest from openbb_terminal.forex.quantitative_analysis import qa_controller from tests.test_helpers import no_dfs - DF_PAIR = pd.DataFrame.from_dict( data={ pd.Timestamp("2020-11-30 00:00:00"): { diff --git a/tests/openbb_terminal/forex/test_fxempire_model.py b/tests/openbb_terminal/forex/test_fxempire_model.py index 1f2ef4a7de7..6f1cdf8f315 100644 --- a/tests/openbb_terminal/forex/test_fxempire_model.py +++ b/tests/openbb_terminal/forex/test_fxempire_model.py @@ -1,4 +1,5 @@ import pytest + from openbb_terminal.forex.fxempire_model import get_forward_rates diff --git a/tests/openbb_terminal/forex/test_fxempire_view.py b/tests/openbb_terminal/forex/test_fxempire_view.py index 1502af4b853..f316129b158 100644 --- a/tests/openbb_terminal/forex/test_fxempire_view.py +++ b/tests/openbb_terminal/forex/test_fxempire_view.py @@ -1,4 +1,5 @@ import pytest + from openbb_terminal.forex.fxempire_view import display_forward_rates diff --git a/tests/openbb_terminal/portfolio/brokers/coinbase/test_coinbase_controller.py b/tests/openbb_terminal/portfolio/brokers/coinbase/test_coinbase_controller.py index 46978825613..d043acb899d 100644 --- a/tests/openbb_terminal/portfolio/brokers/coinbase/test_coinbase_controller.py +++ b/tests/openbb_terminal/portfolio/brokers/coinbase/test_coinbase_controller.py @@ -1,4 +1,5 @@ import pytest + from openbb_terminal.portfolio.brokers.coinbase import coinbase_controller diff --git a/tests/openbb_terminal/portfolio/brokers/coinbase/test_coinbase_model.py b/tests/openbb_terminal/portfolio/brokers/coinbase/test_coinbase_model.py index ed8b51c94c0..d2143f412d7 100644 --- a/tests/openbb_terminal/portfolio/brokers/coinbase/test_coinbase_model.py +++ b/tests/openbb_terminal/portfolio/brokers/coinbase/test_coinbase_model.py @@ -1,4 +1,5 @@ import pytest + import openbb_terminal.portfolio.brokers.coinbase.coinbase_model as cbm diff --git a/tests/openbb_terminal/portfolio/brokers/degiro/test_degiro_controller.py b/tests/openbb_terminal/portfolio/brokers/degiro/test_degiro_controller.py index 5d4382bb486..67685b3f8b4 100644 --- a/tests/openbb_terminal/portfolio/brokers/degiro/test_degiro_controller.py +++ b/tests/openbb_terminal/portfolio/brokers/degiro/test_degiro_controller.py @@ -7,6 +7,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.portfolio.brokers.degiro import degiro_controller + # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/portfolio/brokers/degiro/test_degiro_view.py b/tests/openbb_terminal/portfolio/brokers/degiro/test_degiro_view.py index 419d5b76b66..cf4d7697c26 100644 --- a/tests/openbb_terminal/portfolio/brokers/degiro/test_degiro_view.py +++ b/tests/openbb_terminal/portfolio/brokers/degiro/test_degiro_view.py @@ -6,7 +6,6 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.portfolio.brokers.degiro.degiro_view import DegiroView - # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/portfolio/portfolio_analysis/test_pa_controller.py b/tests/openbb_terminal/portfolio/portfolio_analysis/test_pa_controller.py index c81244eb5b8..8d073dd5b36 100644 --- a/tests/openbb_terminal/portfolio/portfolio_analysis/test_pa_controller.py +++ b/tests/openbb_terminal/portfolio/portfolio_analysis/test_pa_controller.py @@ -7,6 +7,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.portfolio.portfolio_analysis import pa_controller + # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/portfolio/test_portfolio_controller.py b/tests/openbb_terminal/portfolio/test_portfolio_controller.py index 221ed23d985..3c0f852a707 100644 --- a/tests/openbb_terminal/portfolio/test_portfolio_controller.py +++ b/tests/openbb_terminal/portfolio/test_portfolio_controller.py @@ -7,6 +7,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.portfolio import portfolio_controller + # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/portfolio/test_portfolio_model.py b/tests/openbb_terminal/portfolio/test_portfolio_model.py index e41a457a4ca..e691342d903 100644 --- a/tests/openbb_terminal/portfolio/test_portfolio_model.py +++ b/tests/openbb_terminal/portfolio/test_portfolio_model.py @@ -2,6 +2,7 @@ # IMPORTATION THIRDPARTY from pathlib import Path + import pandas as pd import pytest diff --git a/tests/openbb_terminal/stocks/backtesting/test_bt_model.py b/tests/openbb_terminal/stocks/backtesting/test_bt_model.py index f2c35a2506b..6f5cbd5cf80 100644 --- a/tests/openbb_terminal/stocks/backtesting/test_bt_model.py +++ b/tests/openbb_terminal/stocks/backtesting/test_bt_model.py @@ -1,11 +1,12 @@ # IMPORTATION STANDARD from datetime import datetime +# IMPORTATION INTERNAL +import bt + # IMPORTATION THIRDPARTY import pytest -# IMPORTATION INTERNAL -import bt from openbb_terminal.stocks import stocks_helper from openbb_terminal.stocks.backtesting import bt_model diff --git a/tests/openbb_terminal/stocks/behavioural_analysis/test_ba_controller.py b/tests/openbb_terminal/stocks/behavioural_analysis/test_ba_controller.py index 3f775413cb5..89492d09cf5 100644 --- a/tests/openbb_terminal/stocks/behavioural_analysis/test_ba_controller.py +++ b/tests/openbb_terminal/stocks/behavioural_analysis/test_ba_controller.py @@ -6,9 +6,10 @@ from datetime import datetime import pandas as pd import pytest +from openbb_terminal import parent_classes + # IMPORTATION INTERNAL from openbb_terminal.stocks.behavioural_analysis import ba_controller -from openbb_terminal import parent_classes # pylint: disable=E1101 # pylint: disable=W0603 diff --git a/tests/openbb_terminal/stocks/behavioural_analysis/test_cramer_view.py b/tests/openbb_terminal/stocks/behavioural_analysis/test_cramer_view.py index 67b8ba806cc..51cc19c4656 100644 --- a/tests/openbb_terminal/stocks/behavioural_analysis/test_cramer_view.py +++ b/tests/openbb_terminal/stocks/behavioural_analysis/test_cramer_view.py @@ -1,7 +1,8 @@ # IMPORTATION THIRDPARTY from io import StringIO -import pytest + import pandas as pd +import pytest # IMPORTATION INTERNAL from openbb_terminal.stocks.behavioural_analysis import cramer_view diff --git a/tests/openbb_terminal/stocks/comparison_analysis/test_finviz_compare_view.py b/tests/openbb_terminal/stocks/comparison_analysis/test_finviz_compare_view.py index 85b997e7511..fc27e2f5de9 100644 --- a/tests/openbb_terminal/stocks/comparison_analysis/test_finviz_compare_view.py +++ b/tests/openbb_terminal/stocks/comparison_analysis/test_finviz_compare_view.py @@ -4,9 +4,10 @@ import pandas as pd import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.stocks.comparison_analysis import finviz_compare_view -from openbb_terminal import helper_funcs @pytest.mark.skip( diff --git a/tests/openbb_terminal/stocks/dark_pool_shorts/test_sec_view.py b/tests/openbb_terminal/stocks/dark_pool_shorts/test_sec_view.py index 5dbaf7eb163..42b8d9dff16 100644 --- a/tests/openbb_terminal/stocks/dark_pool_shorts/test_sec_view.py +++ b/tests/openbb_terminal/stocks/dark_pool_shorts/test_sec_view.py @@ -9,7 +9,6 @@ import pytest from openbb_terminal.stocks import stocks_helper from openbb_terminal.stocks.dark_pool_shorts import sec_view - df_fails_to_deliver = pd.DataFrame( data={ "SETTLEMENT DATE": [ diff --git a/tests/openbb_terminal/stocks/dark_pool_shorts/test_stocksera_view.py b/tests/openbb_terminal/stocks/dark_pool_shorts/test_stocksera_view.py index ff4adcae979..7c12794d26c 100644 --- a/tests/openbb_terminal/stocks/dark_pool_shorts/test_stocksera_view.py +++ b/tests/openbb_terminal/stocks/dark_pool_shorts/test_stocksera_view.py @@ -1,8 +1,8 @@ # IMPORTATION STANDARD # IMPORTATION THIRDPARTY -import pytest import pandas as pd +import pytest # IMPORTATION INTERNAL from openbb_terminal.stocks.dark_pool_shorts import stocksera_view diff --git a/tests/openbb_terminal/stocks/discovery/test_disc_controller.py b/tests/openbb_terminal/stocks/discovery/test_disc_controller.py index d5128640032..c57c4e2e001 100644 --- a/tests/openbb_terminal/stocks/discovery/test_disc_controller.py +++ b/tests/openbb_terminal/stocks/discovery/test_disc_controller.py @@ -7,6 +7,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.stocks.discovery import disc_controller + # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/stocks/discovery/test_financedatabase_view.py b/tests/openbb_terminal/stocks/discovery/test_financedatabase_view.py index 7e1fba1a9de..228872a5149 100644 --- a/tests/openbb_terminal/stocks/discovery/test_financedatabase_view.py +++ b/tests/openbb_terminal/stocks/discovery/test_financedatabase_view.py @@ -3,9 +3,10 @@ # IMPORTATION THIRDPARTY import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.stocks.discovery import financedatabase_view -from openbb_terminal import helper_funcs @pytest.mark.default_cassette("test_show_equities") diff --git a/tests/openbb_terminal/stocks/discovery/test_finnhub_view.py b/tests/openbb_terminal/stocks/discovery/test_finnhub_view.py index 910919f9458..6e2ac0e99db 100644 --- a/tests/openbb_terminal/stocks/discovery/test_finnhub_view.py +++ b/tests/openbb_terminal/stocks/discovery/test_finnhub_view.py @@ -5,7 +5,7 @@ import pandas as pd import pytest # IMPORTATION INTERNAL -from openbb_terminal.stocks.discovery import finnhub_view, finnhub_model +from openbb_terminal.stocks.discovery import finnhub_model, finnhub_view @pytest.fixture(scope="module") diff --git a/tests/openbb_terminal/stocks/discovery/test_nasdaq_view.py b/tests/openbb_terminal/stocks/discovery/test_nasdaq_view.py index e0f99de679f..af84fa7dd68 100644 --- a/tests/openbb_terminal/stocks/discovery/test_nasdaq_view.py +++ b/tests/openbb_terminal/stocks/discovery/test_nasdaq_view.py @@ -3,9 +3,10 @@ # IMPORTATION THIRDPARTY import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.stocks.discovery import nasdaq_view -from openbb_terminal import helper_funcs @pytest.fixture(scope="module") diff --git a/tests/openbb_terminal/stocks/due_diligence/test_ark_model.py b/tests/openbb_terminal/stocks/due_diligence/test_ark_model.py index c6bd46b085b..b516d4000f7 100644 --- a/tests/openbb_terminal/stocks/due_diligence/test_ark_model.py +++ b/tests/openbb_terminal/stocks/due_diligence/test_ark_model.py @@ -1,9 +1,9 @@ # IMPORTATION STANDARD # IMPORTATION THIRDPARTY -import requests import pandas as pd import pytest +import requests # IMPORTATION INTERNAL from openbb_terminal.stocks.due_diligence import ark_model diff --git a/tests/openbb_terminal/stocks/due_diligence/test_dd_controller.py b/tests/openbb_terminal/stocks/due_diligence/test_dd_controller.py index 94e107d2feb..2ba76a15484 100644 --- a/tests/openbb_terminal/stocks/due_diligence/test_dd_controller.py +++ b/tests/openbb_terminal/stocks/due_diligence/test_dd_controller.py @@ -8,6 +8,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.stocks.due_diligence import dd_controller + # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/stocks/fundamental_analysis/test_av_view.py b/tests/openbb_terminal/stocks/fundamental_analysis/test_av_view.py index 2c99b89ea9f..b36fd5df42a 100644 --- a/tests/openbb_terminal/stocks/fundamental_analysis/test_av_view.py +++ b/tests/openbb_terminal/stocks/fundamental_analysis/test_av_view.py @@ -4,9 +4,10 @@ import pandas as pd import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.stocks.fundamental_analysis import av_view -from openbb_terminal import helper_funcs @pytest.fixture(scope="module") diff --git a/tests/openbb_terminal/stocks/fundamental_analysis/test_business_insider_view.py b/tests/openbb_terminal/stocks/fundamental_analysis/test_business_insider_view.py index 7a1946a13fd..5b64c8d430c 100644 --- a/tests/openbb_terminal/stocks/fundamental_analysis/test_business_insider_view.py +++ b/tests/openbb_terminal/stocks/fundamental_analysis/test_business_insider_view.py @@ -3,9 +3,10 @@ # IMPORTATION THIRDPARTY import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.stocks.fundamental_analysis import business_insider_view -from openbb_terminal import helper_funcs @pytest.fixture(scope="module") diff --git a/tests/openbb_terminal/stocks/fundamental_analysis/test_dcf_model.py b/tests/openbb_terminal/stocks/fundamental_analysis/test_dcf_model.py index e006d1d311c..aea84a9787e 100644 --- a/tests/openbb_terminal/stocks/fundamental_analysis/test_dcf_model.py +++ b/tests/openbb_terminal/stocks/fundamental_analysis/test_dcf_model.py @@ -1,8 +1,8 @@ # IMPORTATION STANDARD # IMPORTATION THIRDPARTY -import openpyxl import numpy as np +import openpyxl import pandas as pd import pytest diff --git a/tests/openbb_terminal/stocks/fundamental_analysis/test_dcf_view.py b/tests/openbb_terminal/stocks/fundamental_analysis/test_dcf_view.py index f957f0d4980..cb49c227464 100644 --- a/tests/openbb_terminal/stocks/fundamental_analysis/test_dcf_view.py +++ b/tests/openbb_terminal/stocks/fundamental_analysis/test_dcf_view.py @@ -4,7 +4,7 @@ import pytest # IMPORTATION INTERNAL -from openbb_terminal.stocks.fundamental_analysis import dcf_view, dcf_static +from openbb_terminal.stocks.fundamental_analysis import dcf_static, dcf_view @pytest.fixture(scope="module") diff --git a/tests/openbb_terminal/stocks/fundamental_analysis/test_eclect_us_view.py b/tests/openbb_terminal/stocks/fundamental_analysis/test_eclect_us_view.py index 75a0095a6a2..5fa94cb9819 100644 --- a/tests/openbb_terminal/stocks/fundamental_analysis/test_eclect_us_view.py +++ b/tests/openbb_terminal/stocks/fundamental_analysis/test_eclect_us_view.py @@ -1,8 +1,8 @@ # IMPORTATION STANDARD # IMPORTATION THIRDPARTY -import pytest import pandas as pd +import pytest # IMPORTATION INTERNAL from openbb_terminal.stocks.fundamental_analysis import eclect_us_view diff --git a/tests/openbb_terminal/stocks/fundamental_analysis/test_fa_controller.py b/tests/openbb_terminal/stocks/fundamental_analysis/test_fa_controller.py index 0f77336af37..d41a5b952b4 100644 --- a/tests/openbb_terminal/stocks/fundamental_analysis/test_fa_controller.py +++ b/tests/openbb_terminal/stocks/fundamental_analysis/test_fa_controller.py @@ -7,6 +7,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.stocks.fundamental_analysis import fa_controller + # pylint: disable=E1101 # pylint: disable=W0603 # pylint: disable=E1111 diff --git a/tests/openbb_terminal/stocks/fundamental_analysis/test_finviz_model.py b/tests/openbb_terminal/stocks/fundamental_analysis/test_finviz_model.py index 677c7ff2206..7fdb342d86f 100644 --- a/tests/openbb_terminal/stocks/fundamental_analysis/test_finviz_model.py +++ b/tests/openbb_terminal/stocks/fundamental_analysis/test_finviz_model.py @@ -2,8 +2,8 @@ # IMPORTATION THIRDPARTY import finviz.main_func -import pytest import pandas as pd +import pytest # IMPORTATION INTERNAL from openbb_terminal.stocks.fundamental_analysis import finviz_model diff --git a/tests/openbb_terminal/stocks/fundamental_analysis/test_finviz_view.py b/tests/openbb_terminal/stocks/fundamental_analysis/test_finviz_view.py index 5e0201ecf8a..52d6813fdb5 100644 --- a/tests/openbb_terminal/stocks/fundamental_analysis/test_finviz_view.py +++ b/tests/openbb_terminal/stocks/fundamental_analysis/test_finviz_view.py @@ -4,9 +4,10 @@ import finviz.main_func import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.stocks.fundamental_analysis import finviz_view -from openbb_terminal import helper_funcs @pytest.mark.vcr diff --git a/tests/openbb_terminal/stocks/fundamental_analysis/test_fmp_model.py b/tests/openbb_terminal/stocks/fundamental_analysis/test_fmp_model.py index 3d7381ab27c..94b18b4f43d 100644 --- a/tests/openbb_terminal/stocks/fundamental_analysis/test_fmp_model.py +++ b/tests/openbb_terminal/stocks/fundamental_analysis/test_fmp_model.py @@ -1,9 +1,9 @@ # IMPORTATION STANDARD # IMPORTATION THIRDPARTY -import pytest import numpy as np import pandas as pd +import pytest # IMPORTATION INTERNAL from openbb_terminal.stocks.fundamental_analysis import fmp_model diff --git a/tests/openbb_terminal/stocks/fundamental_analysis/test_fmp_view.py b/tests/openbb_terminal/stocks/fundamental_analysis/test_fmp_view.py index 94d87369dd5..df227577148 100644 --- a/tests/openbb_terminal/stocks/fundamental_analysis/test_fmp_view.py +++ b/tests/openbb_terminal/stocks/fundamental_analysis/test_fmp_view.py @@ -3,9 +3,10 @@ # IMPORTATION THIRDPARTY import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.stocks.fundamental_analysis import fmp_view -from openbb_terminal import helper_funcs @pytest.fixture(scope="module") diff --git a/tests/openbb_terminal/stocks/fundamental_analysis/test_polygon_view.py b/tests/openbb_terminal/stocks/fundamental_analysis/test_polygon_view.py index 58f783c08a8..8ae46822bed 100644 --- a/tests/openbb_terminal/stocks/fundamental_analysis/test_polygon_view.py +++ b/tests/openbb_terminal/stocks/fundamental_analysis/test_polygon_view.py @@ -1,4 +1,5 @@ import pytest + from openbb_terminal.stocks.fundamental_analysis import polygon_view diff --git a/tests/openbb_terminal/stocks/government/test_gov_controller.py b/tests/openbb_terminal/stocks/government/test_gov_controller.py index 4be45af0f76..19e514fd395 100644 --- a/tests/openbb_terminal/stocks/government/test_gov_controller.py +++ b/tests/openbb_terminal/stocks/government/test_gov_controller.py @@ -4,9 +4,10 @@ import os # IMPORTATION THIRDPARTY import pytest +from openbb_terminal import parent_classes + # IMPORTATION INTERNAL from openbb_terminal.stocks.government import gov_controller -from openbb_terminal import parent_classes # pylint: disable=E1101 # pylint: disable=W0603 diff --git a/tests/openbb_terminal/stocks/insider/test_openinsider_view.py b/tests/openbb_terminal/stocks/insider/test_openinsider_view.py index ac6360c2f54..4fcbd168065 100644 --- a/tests/openbb_terminal/stocks/insider/test_openinsider_view.py +++ b/tests/openbb_terminal/stocks/insider/test_openinsider_view.py @@ -1,12 +1,13 @@ # IMPORTATION STANDARD # IMPORTATION THIRDPARTY -import pytest import pandas as pd +import pytest # IMPORTATION INTERNAL from openbb_terminal.stocks.insider import openinsider_view + # pylint: disable=E1101 diff --git a/tests/openbb_terminal/stocks/options/test_chartexchange_view.py b/tests/openbb_terminal/stocks/options/test_chartexchange_view.py index af042de1dcf..6fe09c440d6 100644 --- a/tests/openbb_terminal/stocks/options/test_chartexchange_view.py +++ b/tests/openbb_terminal/stocks/options/test_chartexchange_view.py @@ -3,9 +3,10 @@ # IMPORTATION THIRDPARTY import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.stocks.options import chartexchange_view -from openbb_terminal import helper_funcs @pytest.fixture(scope="module") diff --git a/tests/openbb_terminal/stocks/options/test_fdscanner_view.py b/tests/openbb_terminal/stocks/options/test_fdscanner_view.py index 3d383740b21..bedd1fb07d0 100644 --- a/tests/openbb_terminal/stocks/options/test_fdscanner_view.py +++ b/tests/openbb_terminal/stocks/options/test_fdscanner_view.py @@ -3,10 +3,10 @@ # IMPORTATION THIRDPARTY import pytest -# IMPORTATION INTERNAL -from openbb_terminal.stocks.options import fdscanner_view from openbb_terminal import helper_funcs +# IMPORTATION INTERNAL +from openbb_terminal.stocks.options import fdscanner_view # pylint: disable=E1101 diff --git a/tests/openbb_terminal/stocks/options/test_options_controller.py b/tests/openbb_terminal/stocks/options/test_options_controller.py index a3b7735540e..a67f152d8ab 100644 --- a/tests/openbb_terminal/stocks/options/test_options_controller.py +++ b/tests/openbb_terminal/stocks/options/test_options_controller.py @@ -1,6 +1,6 @@ # IMPORTATION STANDARD -import os import argparse +import os # IMPORTATION THIRDPARTY import pandas as pd diff --git a/tests/openbb_terminal/stocks/options/test_options_view.py b/tests/openbb_terminal/stocks/options/test_options_view.py index e849252cd27..f727a754a47 100644 --- a/tests/openbb_terminal/stocks/options/test_options_view.py +++ b/tests/openbb_terminal/stocks/options/test_options_view.py @@ -1,18 +1,18 @@ # IMPORTATION STANDARD # IMPORTATION THIRDPARTY -import pytest import pandas as pd +import pytest # IMPORTATION INTERNAL from openbb_terminal.stocks.options.options_view import ( + display_chains, + display_expiry_dates, get_calls_and_puts, - print_raw, - plot_vol, plot_oi, plot_voi, - display_expiry_dates, - display_chains, + plot_vol, + print_raw, ) EXPIRY_DATES = [ diff --git a/tests/openbb_terminal/stocks/options/test_syncretism_view.py b/tests/openbb_terminal/stocks/options/test_syncretism_view.py index 1cc0980adeb..c01bcc2faa9 100644 --- a/tests/openbb_terminal/stocks/options/test_syncretism_view.py +++ b/tests/openbb_terminal/stocks/options/test_syncretism_view.py @@ -1,8 +1,8 @@ # IMPORTATION STANDARD # IMPORTATION THIRDPARTY -import pytest import pandas as pd +import pytest # IMPORTATION INTERNAL from openbb_terminal.stocks.options.screen import syncretism_view diff --git a/tests/openbb_terminal/stocks/options/test_tradier_view.py b/tests/openbb_terminal/stocks/options/test_tradier_view.py index 44c0d15c9e3..6dea21f8ac4 100644 --- a/tests/openbb_terminal/stocks/options/test_tradier_view.py +++ b/tests/openbb_terminal/stocks/options/test_tradier_view.py @@ -1,5 +1,6 @@ # IMPORTATION THIRDPARTY import pytest + from openbb_terminal import rich_config # IMPORTATION INTERNAL diff --git a/tests/openbb_terminal/stocks/quantitative_analysis/test_qa_controller.py b/tests/openbb_terminal/stocks/quantitative_analysis/test_qa_controller.py index ca0652708df..24b2987d669 100644 --- a/tests/openbb_terminal/stocks/quantitative_analysis/test_qa_controller.py +++ b/tests/openbb_terminal/stocks/quantitative_analysis/test_qa_controller.py @@ -6,9 +6,10 @@ from datetime import datetime import pandas as pd import pytest +from openbb_terminal import parent_classes + # IMPORTATION INTERNAL from openbb_terminal.stocks.quantitative_analysis import qa_controller -from openbb_terminal import parent_classes # pylint: disable=E1101 # pylint: disable=W0603 diff --git a/tests/openbb_terminal/stocks/screener/test_finviz_view.py b/tests/openbb_terminal/stocks/screener/test_finviz_view.py index 29be725f9f0..1590cd7b2c6 100644 --- a/tests/openbb_terminal/stocks/screener/test_finviz_view.py +++ b/tests/openbb_terminal/stocks/screener/test_finviz_view.py @@ -4,9 +4,10 @@ import pandas as pd import pytest +from openbb_terminal import helper_funcs + # IMPORTATION INTERNAL from openbb_terminal.stocks.screener import finviz_view -from openbb_terminal import helper_funcs @pytest.mark.vcr diff --git a/tests/openbb_terminal/stocks/sector_industry_analysis/test_stockanalysis_model.py b/tests/openbb_terminal/stocks/sector_industry_analysis/test_stockanalysis_model.py index aef28909eb8..ca38c1ebe5d 100644 --- a/tests/openbb_terminal/stocks/sector_industry_analysis/test_stockanalysis_model.py +++ b/tests/openbb_terminal/stocks/sector_industry_analysis/test_stockanalysis_model.py @@ -1,6 +1,6 @@ # IMPORTATION STANDARD -import pandas as pd import numpy as np +import pandas as pd # IMPORTATION THIRDPARTY import pytest diff --git a/tests/openbb_terminal/stocks/technical_analysis/test_rsp_view.py b/tests/openbb_terminal/stocks/technical_analysis/test_rsp_view.py index f99b3215e8e..5444589e47c 100644 --- a/tests/openbb_terminal/stocks/technical_analysis/test_rsp_view.py +++ b/tests/openbb_terminal/stocks/technical_analysis/test_rsp_view.py @@ -6,6 +6,7 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.stocks.technical_analysis import rsp_view + # pylint: disable=E1101 diff --git a/tests/openbb_terminal/stocks/technical_analysis/test_ta_controller.py b/tests/openbb_terminal/stocks/technical_analysis/test_ta_controller.py index 87505b40a71..297c9508ba0 100644 --- a/tests/openbb_terminal/stocks/technical_analysis/test_ta_controller.py +++ b/tests/openbb_terminal/stocks/technical_analysis/test_ta_controller.py @@ -6,9 +6,10 @@ from datetime import datetime import pandas as pd import pytest +from openbb_terminal.stocks import stocks_helper + # IMPORTATION INTERNAL from openbb_terminal.stocks.technical_analysis import ta_controller -from openbb_terminal.stocks import stocks_helper # pylint: disable=E1101 # pylint: disable=W0603 diff --git a/tests/openbb_terminal/stocks/test_cboe_model.py b/tests/openbb_terminal/stocks/test_cboe_model.py index 7bbbaa0b454..019a1c181ee 100644 --- a/tests/openbb_terminal/stocks/test_cboe_model.py +++ b/tests/openbb_terminal/stocks/test_cboe_model.py @@ -1,4 +1,5 @@ import pytest + from openbb_terminal.stocks import cboe_model diff --git a/tests/openbb_terminal/stocks/test_cboe_view.py b/tests/openbb_terminal/stocks/test_cboe_view.py index 1cb8b94dd1b..a594f6fc0c4 100644 --- a/tests/openbb_terminal/stocks/test_cboe_view.py +++ b/tests/openbb_terminal/stocks/test_cboe_view.py @@ -1,4 +1,5 @@ import pytest + from openbb_terminal.stocks import cboe_view diff --git a/tests/openbb_terminal/stocks/test_stocks_helper.py b/tests/openbb_terminal/stocks/test_stocks_helper.py index d7a6dde2d4c..afb2484db10 100644 --- a/tests/openbb_terminal/stocks/test_stocks_helper.py +++ b/tests/openbb_terminal/stocks/test_stocks_helper.py @@ -1,15 +1,15 @@ # IMPORTATION STANDARD -from datetime import datetime import os +from datetime import datetime # IMPORTATION THIRDPARTY import pytest -# IMPORTATION INTERNAL -from openbb_terminal.stocks import stocks_helper -from openbb_terminal.stocks import stocks_view from openbb_terminal import helper_funcs +# IMPORTATION INTERNAL +from openbb_terminal.stocks import stocks_helper, stocks_view + @pytest.fixture(scope="module") def vcr_config(): diff --git a/tests/openbb_terminal/test_helper_funcs.py b/tests/openbb_terminal/test_helper_funcs.py index b6c74248e25..b36a064eda1 100644 --- a/tests/openbb_terminal/test_helper_funcs.py +++ b/tests/openbb_terminal/test_helper_funcs.py @@ -6,7 +6,7 @@ import pandas as pd import pytest # IMPORTATION INTERNAL -from openbb_terminal.helper_funcs import export_data, check_start_less_than_end +from openbb_terminal.helper_funcs import check_start_less_than_end, export_data # pylint: disable=E1101 # pylint: disable=W0603 diff --git a/tests/openbb_terminal/test_helpers_denomination.py b/tests/openbb_terminal/test_helpers_denomination.py index 5af4983e9cb..62669951e81 100644 --- a/tests/openbb_terminal/test_helpers_denomination.py +++ b/tests/openbb_terminal/test_helpers_denomination.py @@ -1,18 +1,18 @@ # IMPORTATION STANDARD from typing import Callable + +import pandas as pd import pytest from pandas._typing import Axis from pandas.testing import assert_frame_equal -import pandas as pd # IMPORTATION INTERNAL - from openbb_terminal.helpers_denomination import ( DENOMINATION, - transform as transform_by_denomination, get_denomination, get_denominations, ) +from openbb_terminal.helpers_denomination import transform as transform_by_denomination df = pd.DataFrame( data={"Revenue": [1000000, 2000000, 3000000], "EPS": [3, 4, 5]}, diff --git a/tests/openbb_terminal/test_keys_model.py b/tests/openbb_terminal/test_keys_model.py index 4c78f32323d..4a971d83b43 100644 --- a/tests/openbb_terminal/test_keys_model.py +++ b/tests/openbb_terminal/test_keys_model.py @@ -1,12 +1,14 @@ import os +from pathlib import Path from typing import List from unittest.mock import patch -from pathlib import Path + import pandas as pd import pytest from openbb_terminal import keys_model + # pylint: disable=R0902,R0903,W1404,C0302 diff --git a/tests/openbb_terminal/test_loggers.py b/tests/openbb_terminal/test_loggers.py index 609fe6f948b..f2739db8870 100644 --- a/tests/openbb_terminal/test_loggers.py +++ b/tests/openbb_terminal/test_loggers.py @@ -1,11 +1,13 @@ from pathlib import Path + import pytest + from openbb_terminal import loggers from openbb_terminal.core.log.generation.settings import ( - Settings, AppSettings, AWSSettings, LogSettings, + Settings, ) settings = Settings( diff --git a/tests/openbb_terminal/test_terminal_controller.py b/tests/openbb_terminal/test_terminal_controller.py index a4bdb16d2d5..e030045231b 100644 --- a/tests/openbb_terminal/test_terminal_controller.py +++ b/tests/openbb_terminal/test_terminal_controller.py @@ -1,5 +1,7 @@ from contextlib import contextmanager + import pytest + from openbb_terminal import terminal_controller diff --git a/tests/openbb_terminal/test_terminal_helper.py b/tests/openbb_terminal/test_terminal_helper.py index f11b3002163..31ce5df312d 100644 --- a/tests/openbb_terminal/test_terminal_helper.py +++ b/tests/openbb_terminal/test_terminal_helper.py @@ -2,6 +2,7 @@ import sys import unittest from contextlib import contextmanager from unittest.mock import patch + import pytest from openbb_terminal import terminal_helper diff --git a/tests/openbb_terminal/test_thought_of_the_day.py b/tests/openbb_terminal/test_thought_of_the_day.py index f9f09f6ac87..66be7fc570e 100644 --- a/tests/openbb_terminal/test_thought_of_the_day.py +++ b/tests/openbb_terminal/test_thought_of_the_day.py @@ -2,12 +2,13 @@ import unittest from unittest import mock +from openbb_terminal import thought_of_the_day + # pylint: disable=unused-import from tests.helpers.tools import ( # noqa: F401 parameterize_from_file, pytest_generate_tests, ) -from openbb_terminal import thought_of_the_day assertions = unittest.TestCase("__init__") diff --git a/tests/website/test_generate_docs.py b/tests/website/test_generate_docs.py index 95413e115aa..394a9d03af7 100644 --- a/tests/website/test_generate_docs.py +++ b/tests/website/test_generate_docs.py @@ -1,11 +1,10 @@ from typing import Optional + import pytest try: - from website import ( - generate_sdk_markdown as gen_sdk, - generate_terminal_markdown as gen_term, - ) + from website import generate_sdk_markdown as gen_sdk + from website import generate_terminal_markdown as gen_term except ImportError: pytest.skip(allow_module_level=True) diff --git a/website/generate_sdk_markdown.py b/website/generate_sdk_markdown.py index 9990561670d..0d3de145274 100644 --- a/website/generate_sdk_markdown.py +++ b/website/generate_sdk_markdown.py @@ -1,4 +1,4 @@ -import csv +import csv # noqa: I001 import importlib import inspect import json @@ -13,7 +13,11 @@ from docstring_parser import parse from openbb_terminal.core.library.trail_map import ( FORECASTING_TOOLKIT_ENABLED as FORECASTING, +) +from openbb_terminal.core.library.trail_map import ( MISCELLANEOUS_DIRECTORY, +) +from openbb_terminal.core.library.trail_map import ( OPTIMIZATION_TOOLKIT_ENABLED as OPTIMIZATION, ) from openbb_terminal.rich_config import console diff --git a/website/generate_terminal_markdown.py b/website/generate_terminal_markdown.py index 780861c441b..aa5bd455838 100644 --- a/website/generate_terminal_markdown.py +++ b/website/generate_terminal_markdown.py @@ -12,8 +12,8 @@ from openbb_terminal.rich_config import console from website.controller_doc_classes import ( ControllerDoc, LoadControllersDoc, - sub_names_full as subnames, ) +from website.controller_doc_classes import sub_names_full as subnames website_path = Path(__file__).parent.absolute() USER_PATH = (f"{USER_DATA_DIRECTORY}", "`USER_DATA_DIRECTORY`") From 144af332ce6c6743bb8cab2fea458207fac01568 Mon Sep 17 00:00:00 2001 From: Diogo Sousa Date: Sun, 5 Feb 2023 19:14:44 +0000 Subject: [PATCH 06/14] convert to hist to str) --- openbb_terminal/menu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openbb_terminal/menu.py b/openbb_terminal/menu.py index 413540c177e..1d97b9184e4 100644 --- a/openbb_terminal/menu.py +++ b/openbb_terminal/menu.py @@ -51,7 +51,7 @@ def inputhook(inputhook_context): try: if not is_jupyter() and not is_papermill(): session: Optional[PromptSession] = PromptSession( - history=FileHistory(HIST_FILE_PATH) + history=FileHistory(str(HIST_FILE_PATH)) ) set_eventloop_with_inputhook(inputhook) else: From 33f00cac6b23632f5e3f9c199e2c215069615974 Mon Sep 17 00:00:00 2001 From: Diogo Sousa Date: Sun, 5 Feb 2023 19:28:42 +0000 Subject: [PATCH 07/14] fix import errors --- openbb_terminal/helper_funcs.py | 5 +---- openbb_terminal/keys_model.py | 3 --- openbb_terminal/terminal_controller.py | 14 +++++--------- 3 files changed, 6 insertions(+), 16 deletions(-) diff --git a/openbb_terminal/helper_funcs.py b/openbb_terminal/helper_funcs.py index ff3edf9ca32..09e8fef2957 100644 --- a/openbb_terminal/helper_funcs.py +++ b/openbb_terminal/helper_funcs.py @@ -20,8 +20,6 @@ from functools import lru_cache from pathlib import Path from typing import Dict, List, Optional, Tuple, Union -import pytz -import pandas as pd from rich.table import Table import iso8601 import matplotlib @@ -36,13 +34,12 @@ from holidays import US as us_holidays from pandas._config.config import get_option from pandas.plotting import register_matplotlib_converters from PIL import Image, ImageDraw -from rich.table import Table from screeninfo import get_monitors from openbb_terminal import config_plot as cfgPlot from openbb_terminal import config_terminal as cfg from openbb_terminal import feature_flags as obbff -from openbb_terminal.core.config import paths +from openbb_terminal.rich_config import console from openbb_terminal.core.config.paths import ( HOME_DIRECTORY, USER_EXPORTS_DIRECTORY, diff --git a/openbb_terminal/keys_model.py b/openbb_terminal/keys_model.py index 544101ecae1..5b67cbbb62b 100644 --- a/openbb_terminal/keys_model.py +++ b/openbb_terminal/keys_model.py @@ -33,14 +33,11 @@ from openbb_terminal.cryptocurrency.coinbase_helpers import ( CoinbaseProAuth, make_coinbase_request, ) -from openbb_terminal import config_terminal as cfg -from openbb_terminal.core.config.paths import USER_ENV_FILE from openbb_terminal.rich_config import console from openbb_terminal.session.hub_model import patch_user_configs from openbb_terminal.session.user import User from openbb_terminal.helper_funcs import request from openbb_terminal.portfolio.brokers.degiro.degiro_model import DegiroModel -from openbb_terminal.rich_config import console from openbb_terminal.terminal_helper import suppress_stdout logger = logging.getLogger(__name__) diff --git a/openbb_terminal/terminal_controller.py b/openbb_terminal/terminal_controller.py index 0768fe469d8..15f36c2f8c9 100644 --- a/openbb_terminal/terminal_controller.py +++ b/openbb_terminal/terminal_controller.py @@ -21,13 +21,12 @@ import pandas as pd from prompt_toolkit import PromptSession from prompt_toolkit.completion import NestedCompleter from prompt_toolkit.formatted_text import HTML -import pandas as pd -from openbb_terminal import feature_flags as obbff -from openbb_terminal.session.user import User -from openbb_terminal.terminal_helper import is_installer, is_packaged_application -from openbb_terminal.session import session_controller +from prompt_toolkit.styles import Style +from rich import panel from openbb_terminal import feature_flags as obbff +from openbb_terminal.session.user import User +from openbb_terminal.session import session_controller from openbb_terminal.common import feedparser_view from openbb_terminal.core.config.paths import ( HOME_DIRECTORY, @@ -38,7 +37,6 @@ from openbb_terminal.core.config.paths import ( USER_ROUTINES_DIRECTORY, load_dotenv_with_priority, ) -from openbb_terminal.core.log.generation.settings_logger import log_all_settings from openbb_terminal.helper_funcs import ( EXPORT_ONLY_RAW_DATA_ALLOWED, check_positive, @@ -59,11 +57,9 @@ from openbb_terminal.terminal_helper import ( suppress_stdout, update_terminal, welcome_message, + is_installer, ) -from openbb_terminal.helper_funcs import parse_and_split_input from openbb_terminal.keys_model import first_time_user -from openbb_terminal.common import feedparser_view -from openbb_terminal.reports.reports_model import ipykernel_launcher from openbb_terminal.core.log.generation.custom_logger import log_terminal # pylint: disable=too-many-public-methods,import-outside-toplevel, too-many-function-args From c7342cd43d2594406af409eb5d7a6e74b2daf7c7 Mon Sep 17 00:00:00 2001 From: Diogo Sousa Date: Sun, 5 Feb 2023 19:29:48 +0000 Subject: [PATCH 08/14] ruff --- openbb_terminal/account/account_controller.py | 16 ++++++++-------- openbb_terminal/account/account_model.py | 11 ++++++----- openbb_terminal/core/log/generation/common.py | 2 -- .../core/log/generation/custom_logger.py | 8 +++----- .../core/log/generation/settings_logger.py | 3 +-- .../core/log/generation/user_logger.py | 5 ++--- openbb_terminal/featflags_controller.py | 2 +- openbb_terminal/helper_funcs.py | 4 ++-- openbb_terminal/keys_controller.py | 4 ++-- openbb_terminal/keys_model.py | 4 ++-- openbb_terminal/menu.py | 2 +- openbb_terminal/parent_classes.py | 4 ++-- openbb_terminal/session/hub_model.py | 1 + openbb_terminal/session/local_model.py | 12 ++++++------ openbb_terminal/session/sdk_session.py | 2 +- openbb_terminal/session/session_controller.py | 8 +++++--- openbb_terminal/session/session_model.py | 8 +++++--- openbb_terminal/settings_controller.py | 7 ++++--- openbb_terminal/terminal_controller.py | 14 +++++++------- 19 files changed, 59 insertions(+), 58 deletions(-) diff --git a/openbb_terminal/account/account_controller.py b/openbb_terminal/account/account_controller.py index 224eee9c469..836a5e636ae 100644 --- a/openbb_terminal/account/account_controller.py +++ b/openbb_terminal/account/account_controller.py @@ -1,22 +1,22 @@ import argparse import json import logging -from typing import List, Dict from pathlib import Path +from typing import Dict, List from prompt_toolkit.completion import NestedCompleter -from openbb_terminal.featflags_controller import FeatureFlagsController -from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText -from openbb_terminal.decorators import log_start_end -from openbb_terminal.core.config.paths import USER_ROUTINES_DIRECTORY + from openbb_terminal import feature_flags as obbff +from openbb_terminal.account.account_model import get_diff +from openbb_terminal.core.config.paths import USER_ROUTINES_DIRECTORY +from openbb_terminal.decorators import log_start_end +from openbb_terminal.featflags_controller import FeatureFlagsController from openbb_terminal.menu import session +from openbb_terminal.parent_classes import BaseController +from openbb_terminal.rich_config import MenuText, console from openbb_terminal.session import hub_model as Hub from openbb_terminal.session import local_model as Local from openbb_terminal.session.user import User -from openbb_terminal.account.account_model import get_diff - logger = logging.getLogger(__name__) diff --git a/openbb_terminal/account/account_model.py b/openbb_terminal/account/account_model.py index 33c612ab30b..645313b788a 100644 --- a/openbb_terminal/account/account_model.py +++ b/openbb_terminal/account/account_model.py @@ -1,11 +1,12 @@ from pathlib import Path -from typing import Dict, Any +from typing import Any, Dict + +from openbb_terminal import config_plot as cfg_plot +from openbb_terminal import config_terminal as cfg +from openbb_terminal import feature_flags as obbff +from openbb_terminal.base_helpers import strtobool from openbb_terminal.core.config import paths from openbb_terminal.rich_config import console -from openbb_terminal import feature_flags as obbff -from openbb_terminal import config_terminal as cfg -from openbb_terminal import config_plot as cfg_plot -from openbb_terminal.base_helpers import strtobool def get_diff(configs: dict) -> dict: diff --git a/openbb_terminal/core/log/generation/common.py b/openbb_terminal/core/log/generation/common.py index f2a10557370..aff2c1f6fe6 100644 --- a/openbb_terminal/core/log/generation/common.py +++ b/openbb_terminal/core/log/generation/common.py @@ -2,8 +2,6 @@ import logging # IMPORTATION THIRDPARTY - - # IMPORTATION INTERNAL from openbb_terminal.core.log.generation.path_tracking_file_handler import ( PathTrackingFileHandler, diff --git a/openbb_terminal/core/log/generation/custom_logger.py b/openbb_terminal/core/log/generation/custom_logger.py index 42c7682a2a0..e27a3dd7741 100644 --- a/openbb_terminal/core/log/generation/custom_logger.py +++ b/openbb_terminal/core/log/generation/custom_logger.py @@ -1,14 +1,12 @@ # IMPORTATION STANDARD import logging +from openbb_terminal.core.log.generation import settings_logger, user_logger +from openbb_terminal.core.log.generation.common import do_rollover + # IMPORTATION THIRDPARTY - - # IMPORTATION INTERNAL from openbb_terminal.loggers import setup_logging -from openbb_terminal.core.log.generation import settings_logger -from openbb_terminal.core.log.generation import user_logger -from openbb_terminal.core.log.generation.common import do_rollover logger = logging.getLogger(__name__) diff --git a/openbb_terminal/core/log/generation/settings_logger.py b/openbb_terminal/core/log/generation/settings_logger.py index fdfa79460ba..7b6f97fbeb4 100644 --- a/openbb_terminal/core/log/generation/settings_logger.py +++ b/openbb_terminal/core/log/generation/settings_logger.py @@ -8,9 +8,8 @@ from types import FunctionType, ModuleType # IMPORTATION INTERNAL import openbb_terminal.feature_flags as obbff from openbb_terminal import config_terminal as cfg -from openbb_terminal.terminal_helper import is_packaged_application from openbb_terminal.core.log.generation.common import do_rollover - +from openbb_terminal.terminal_helper import is_packaged_application SENSITIVE_WORDS = [ "API", diff --git a/openbb_terminal/core/log/generation/user_logger.py b/openbb_terminal/core/log/generation/user_logger.py index acda5a0e8b1..635af0b83f9 100644 --- a/openbb_terminal/core/log/generation/user_logger.py +++ b/openbb_terminal/core/log/generation/user_logger.py @@ -2,12 +2,11 @@ import json import logging +from openbb_terminal.core.log.generation.common import do_rollover + # IMPORTATION THIRDPARTY - - # IMPORTATION INTERNAL from openbb_terminal.session.user import User -from openbb_terminal.core.log.generation.common import do_rollover logger = logging.getLogger(__name__) diff --git a/openbb_terminal/featflags_controller.py b/openbb_terminal/featflags_controller.py index 3f0f4b7711b..c80b86a7ac8 100644 --- a/openbb_terminal/featflags_controller.py +++ b/openbb_terminal/featflags_controller.py @@ -15,7 +15,7 @@ from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console from openbb_terminal.session.hub_model import patch_user_configs from openbb_terminal.session.user import User diff --git a/openbb_terminal/helper_funcs.py b/openbb_terminal/helper_funcs.py index 09e8fef2957..052838f2a6b 100644 --- a/openbb_terminal/helper_funcs.py +++ b/openbb_terminal/helper_funcs.py @@ -20,7 +20,6 @@ from functools import lru_cache from pathlib import Path from typing import Dict, List, Optional, Tuple, Union -from rich.table import Table import iso8601 import matplotlib import matplotlib.pyplot as plt @@ -34,16 +33,17 @@ from holidays import US as us_holidays from pandas._config.config import get_option from pandas.plotting import register_matplotlib_converters from PIL import Image, ImageDraw +from rich.table import Table from screeninfo import get_monitors from openbb_terminal import config_plot as cfgPlot from openbb_terminal import config_terminal as cfg from openbb_terminal import feature_flags as obbff -from openbb_terminal.rich_config import console from openbb_terminal.core.config.paths import ( HOME_DIRECTORY, USER_EXPORTS_DIRECTORY, ) +from openbb_terminal.rich_config import console logger = logging.getLogger(__name__) diff --git a/openbb_terminal/keys_controller.py b/openbb_terminal/keys_controller.py index 968e6c32ccf..e8ce84b6010 100644 --- a/openbb_terminal/keys_controller.py +++ b/openbb_terminal/keys_controller.py @@ -9,8 +9,8 @@ from typing import Dict, List from tqdm import tqdm -from openbb_terminal import feature_flags as obbff, keys_view -from openbb_terminal import keys_model +from openbb_terminal import feature_flags as obbff +from openbb_terminal import keys_model, keys_view from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end from openbb_terminal.helper_funcs import EXPORT_ONLY_RAW_DATA_ALLOWED diff --git a/openbb_terminal/keys_model.py b/openbb_terminal/keys_model.py index 5b67cbbb62b..b4630a60497 100644 --- a/openbb_terminal/keys_model.py +++ b/openbb_terminal/keys_model.py @@ -33,11 +33,11 @@ from openbb_terminal.cryptocurrency.coinbase_helpers import ( CoinbaseProAuth, make_coinbase_request, ) +from openbb_terminal.helper_funcs import request +from openbb_terminal.portfolio.brokers.degiro.degiro_model import DegiroModel from openbb_terminal.rich_config import console from openbb_terminal.session.hub_model import patch_user_configs from openbb_terminal.session.user import User -from openbb_terminal.helper_funcs import request -from openbb_terminal.portfolio.brokers.degiro.degiro_model import DegiroModel from openbb_terminal.terminal_helper import suppress_stdout logger = logging.getLogger(__name__) diff --git a/openbb_terminal/menu.py b/openbb_terminal/menu.py index 1d97b9184e4..549a1ef687b 100644 --- a/openbb_terminal/menu.py +++ b/openbb_terminal/menu.py @@ -1,6 +1,6 @@ +import logging import sys from typing import Optional -import logging from matplotlib import pyplot from prompt_toolkit import PromptSession diff --git a/openbb_terminal/parent_classes.py b/openbb_terminal/parent_classes.py index 7594970dd15..1ac78bb0e9e 100644 --- a/openbb_terminal/parent_classes.py +++ b/openbb_terminal/parent_classes.py @@ -18,8 +18,6 @@ import pandas as pd from prompt_toolkit.formatted_text import HTML from prompt_toolkit.styles import Style from rich.markdown import Markdown -from openbb_terminal.session.session_model import logout -from openbb_terminal.session.user import User from openbb_terminal import feature_flags as obbff from openbb_terminal.config_terminal import theme @@ -47,6 +45,8 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.rich_config import console, get_ordered_list_sources +from openbb_terminal.session.session_model import logout +from openbb_terminal.session.user import User from openbb_terminal.stocks import stocks_helper from openbb_terminal.terminal_helper import open_openbb_documentation diff --git a/openbb_terminal/session/hub_model.py b/openbb_terminal/session/hub_model.py index 8c991173aa4..0f4d7473f14 100644 --- a/openbb_terminal/session/hub_model.py +++ b/openbb_terminal/session/hub_model.py @@ -1,4 +1,5 @@ from typing import Dict, Optional + import requests from openbb_terminal.rich_config import console diff --git a/openbb_terminal/session/local_model.py b/openbb_terminal/session/local_model.py index a269479dd2f..21b6676040b 100644 --- a/openbb_terminal/session/local_model.py +++ b/openbb_terminal/session/local_model.py @@ -1,7 +1,12 @@ +import json import os from pathlib import Path -import json from typing import Optional + +from openbb_terminal import config_plot as cfg_plot +from openbb_terminal import config_terminal as cfg +from openbb_terminal import feature_flags as obbff +from openbb_terminal.base_helpers import strtobool from openbb_terminal.core.config import paths from openbb_terminal.core.config.paths import ( HIST_FILE_PATH, @@ -10,11 +15,6 @@ from openbb_terminal.core.config.paths import ( ) from openbb_terminal.rich_config import console -from openbb_terminal import feature_flags as obbff -from openbb_terminal import config_terminal as cfg -from openbb_terminal import config_plot as cfg_plot -from openbb_terminal.base_helpers import strtobool - SESSION_FILE_PATH = SETTINGS_DIRECTORY / "session.json" diff --git a/openbb_terminal/session/sdk_session.py b/openbb_terminal/session/sdk_session.py index e138cd44afd..c82a1bd3af2 100644 --- a/openbb_terminal/session/sdk_session.py +++ b/openbb_terminal/session/sdk_session.py @@ -1,6 +1,6 @@ +from openbb_terminal.rich_config import console from openbb_terminal.session import local_model as Local from openbb_terminal.session import session_model -from openbb_terminal.rich_config import console from openbb_terminal.session.user import User diff --git a/openbb_terminal/session/session_controller.py b/openbb_terminal/session/session_controller.py index 66a670374a7..2334c3fb39c 100644 --- a/openbb_terminal/session/session_controller.py +++ b/openbb_terminal/session/session_controller.py @@ -1,14 +1,16 @@ from typing import Tuple + from prompt_toolkit import PromptSession -from openbb_terminal import terminal_controller + import openbb_terminal.session.local_model as Local +from openbb_terminal import terminal_controller +from openbb_terminal.core.config.paths import PACKAGE_DIRECTORY +from openbb_terminal.rich_config import console from openbb_terminal.session.session_model import ( LoginStatus, create_session, login, ) -from openbb_terminal.core.config.paths import PACKAGE_DIRECTORY -from openbb_terminal.rich_config import console def display_welcome_message(): diff --git a/openbb_terminal/session/session_model.py b/openbb_terminal/session/session_model.py index a4e356cabe5..cae5dbbe634 100644 --- a/openbb_terminal/session/session_model.py +++ b/openbb_terminal/session/session_model.py @@ -1,16 +1,18 @@ import importlib +import json import logging import os import sys -import json from enum import Enum from typing import Optional + import matplotlib.pyplot as plt -import openbb_terminal.session.local_model as Local + import openbb_terminal.session.hub_model as Hub -from openbb_terminal.session.user import User +import openbb_terminal.session.local_model as Local from openbb_terminal.helper_funcs import system_clear from openbb_terminal.rich_config import console +from openbb_terminal.session.user import User # pylint: disable=consider-using-f-string diff --git a/openbb_terminal/settings_controller.py b/openbb_terminal/settings_controller.py index 286604e213e..2fbdcacb210 100644 --- a/openbb_terminal/settings_controller.py +++ b/openbb_terminal/settings_controller.py @@ -8,6 +8,7 @@ import os import os.path from pathlib import Path from typing import List, Optional, Union + import pytz # IMPORTATION THIRDPARTY @@ -15,12 +16,12 @@ from dotenv import set_key # IMPORTATION INTERNAL from openbb_terminal import config_plot as cfg_plot +from openbb_terminal import featflags_controller as obbff_ctrl from openbb_terminal import feature_flags as obbff from openbb_terminal.core.config import paths -from openbb_terminal import featflags_controller as obbff_ctrl from openbb_terminal.core.config.paths import ( - USER_ENV_FILE, USER_DATA_SOURCES_DEFAULT_FILE, + USER_ENV_FILE, ) from openbb_terminal.custom_prompt_toolkit import NestedCompleter from openbb_terminal.decorators import log_start_end @@ -31,7 +32,7 @@ from openbb_terminal.helper_funcs import ( ) from openbb_terminal.menu import session from openbb_terminal.parent_classes import BaseController -from openbb_terminal.rich_config import console, MenuText +from openbb_terminal.rich_config import MenuText, console from openbb_terminal.session.hub_model import patch_user_configs from openbb_terminal.session.user import User diff --git a/openbb_terminal/terminal_controller.py b/openbb_terminal/terminal_controller.py index 15f36c2f8c9..90da1ebdefb 100644 --- a/openbb_terminal/terminal_controller.py +++ b/openbb_terminal/terminal_controller.py @@ -5,11 +5,11 @@ __docformat__ = "numpy" import argparse import contextlib import difflib +import importlib import logging import os import re import sys -import importlib import time import webbrowser from datetime import datetime @@ -25,8 +25,6 @@ from prompt_toolkit.styles import Style from rich import panel from openbb_terminal import feature_flags as obbff -from openbb_terminal.session.user import User -from openbb_terminal.session import session_controller from openbb_terminal.common import feedparser_view from openbb_terminal.core.config.paths import ( HOME_DIRECTORY, @@ -37,19 +35,24 @@ from openbb_terminal.core.config.paths import ( USER_ROUTINES_DIRECTORY, load_dotenv_with_priority, ) +from openbb_terminal.core.log.generation.custom_logger import log_terminal from openbb_terminal.helper_funcs import ( EXPORT_ONLY_RAW_DATA_ALLOWED, check_positive, get_flair, parse_and_split_input, ) -from openbb_terminal.menu import session, is_papermill +from openbb_terminal.keys_model import first_time_user +from openbb_terminal.menu import is_papermill, session from openbb_terminal.parent_classes import BaseController from openbb_terminal.reports.reports_model import ipykernel_launcher from openbb_terminal.rich_config import MenuText, console +from openbb_terminal.session import session_controller +from openbb_terminal.session.user import User from openbb_terminal.terminal_helper import ( bootup, check_for_updates, + is_installer, is_packaged_application, is_reset, print_goodbye, @@ -57,10 +60,7 @@ from openbb_terminal.terminal_helper import ( suppress_stdout, update_terminal, welcome_message, - is_installer, ) -from openbb_terminal.keys_model import first_time_user -from openbb_terminal.core.log.generation.custom_logger import log_terminal # pylint: disable=too-many-public-methods,import-outside-toplevel, too-many-function-args # pylint: disable=too-many-branches,no-member,C0302,too-many-return-statements, inconsistent-return-statements From 2d4e7c1aac9227f6546796ee6831343fc4ce4bfc Mon Sep 17 00:00:00 2001 From: Diogo Sousa Date: Sun, 5 Feb 2023 19:31:00 +0000 Subject: [PATCH 09/14] ruff tests --- tests/openbb_terminal/account/test_account_controller.py | 2 +- tests/openbb_terminal/session/test_hub_model.py | 5 +++-- tests/openbb_terminal/session/test_local_model.py | 7 ++++--- tests/openbb_terminal/session/test_sdk_session.py | 1 + tests/openbb_terminal/session/test_session_model.py | 3 ++- tests/openbb_terminal/session/test_user.py | 1 - 6 files changed, 11 insertions(+), 8 deletions(-) diff --git a/tests/openbb_terminal/account/test_account_controller.py b/tests/openbb_terminal/account/test_account_controller.py index 9832a4ba8ba..33da31f200d 100644 --- a/tests/openbb_terminal/account/test_account_controller.py +++ b/tests/openbb_terminal/account/test_account_controller.py @@ -1,6 +1,6 @@ # IMPORTATION STANDARD -import os import json +import os # IMPORTATION THIRDPARTY import pytest diff --git a/tests/openbb_terminal/session/test_hub_model.py b/tests/openbb_terminal/session/test_hub_model.py index ca5b7e46edf..909b7e115fa 100644 --- a/tests/openbb_terminal/session/test_hub_model.py +++ b/tests/openbb_terminal/session/test_hub_model.py @@ -1,6 +1,7 @@ -from unittest.mock import patch, MagicMock -import requests +from unittest.mock import MagicMock, patch + import pytest +import requests from openbb_terminal.session import hub_model diff --git a/tests/openbb_terminal/session/test_local_model.py b/tests/openbb_terminal/session/test_local_model.py index 408bc5f2137..95701bbc810 100644 --- a/tests/openbb_terminal/session/test_local_model.py +++ b/tests/openbb_terminal/session/test_local_model.py @@ -1,10 +1,11 @@ # IMPORTATION STANDARD # IMPORTATION THIRDPARTY -from pathlib import Path -import pytest import json -from unittest.mock import patch, mock_open +from pathlib import Path +from unittest.mock import mock_open, patch + +import pytest # IMPORTATION INTERNAL from openbb_terminal.session import local_model diff --git a/tests/openbb_terminal/session/test_sdk_session.py b/tests/openbb_terminal/session/test_sdk_session.py index 52f96ae63a0..9e320a743d2 100644 --- a/tests/openbb_terminal/session/test_sdk_session.py +++ b/tests/openbb_terminal/session/test_sdk_session.py @@ -2,6 +2,7 @@ # IMPORTATION THIRDPARTY from unittest.mock import patch + import pytest # IMPORTATION INTERNAL diff --git a/tests/openbb_terminal/session/test_session_model.py b/tests/openbb_terminal/session/test_session_model.py index 1fb4a4b402f..e1df7830f9c 100644 --- a/tests/openbb_terminal/session/test_session_model.py +++ b/tests/openbb_terminal/session/test_session_model.py @@ -1,9 +1,10 @@ # IMPORTATION STANDARD # IMPORTATION THIRDPARTY -import os import json +import os from unittest.mock import patch + import pytest from requests import Response diff --git a/tests/openbb_terminal/session/test_user.py b/tests/openbb_terminal/session/test_user.py index cbe055069a2..71e512a2354 100644 --- a/tests/openbb_terminal/session/test_user.py +++ b/tests/openbb_terminal/session/test_user.py @@ -7,7 +7,6 @@ import pytest # IMPORTATION INTERNAL from openbb_terminal.session import user - # pylint: disable=protected-access, redefined-outer-name TEST_SESSION = { From 01706566b08ad1d3915585d1733b658af11c85f4 Mon Sep 17 00:00:00 2001 From: Diogo Sousa Date: Mon, 6 Feb 2023 09:58:29 +0000 Subject: [PATCH 10/14] fix qa --- .../common/quantitative_analysis/test_qa_view.py | 5 ++++- tests/openbb_terminal/test_settings_controller.py | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/openbb_terminal/common/quantitative_analysis/test_qa_view.py b/tests/openbb_terminal/common/quantitative_analysis/test_qa_view.py index 533d89dc08e..c4072a85827 100644 --- a/tests/openbb_terminal/common/quantitative_analysis/test_qa_view.py +++ b/tests/openbb_terminal/common/quantitative_analysis/test_qa_view.py @@ -73,7 +73,10 @@ def test_display_cusum_fail(): @pytest.mark.parametrize("yearly", [False, True]) -def test_display_seasonal(yearly): +def test_display_seasonal(mocker, yearly): + mocker.patch( + "openbb_terminal.helper_funcs.ask_file_overwrite", return_value=(False, True) + ) qa_view.display_seasonal("Data", df, "col2", yearly, "xlsx", None) diff --git a/tests/openbb_terminal/test_settings_controller.py b/tests/openbb_terminal/test_settings_controller.py index 4ade69c2be2..e7c552d36e0 100644 --- a/tests/openbb_terminal/test_settings_controller.py +++ b/tests/openbb_terminal/test_settings_controller.py @@ -12,8 +12,9 @@ def controller(mocker): True, ) mocker.patch("openbb_terminal.settings_controller.session", True) - mocker.patch("openbb_terminal.settings_controller.set_key") - mocker.patch("openbb_terminal.settings_controller.obbff") + mocker.patch("openbb_terminal.settings_controller.set_cfg_plot") + mocker.patch("openbb_terminal.settings_controller.set_path_config") + mocker.patch("openbb_terminal.settings_controller.obbff_ctrl") return SettingsController() From a14cd9c3a0ed0a8f6fb35a0f5ce3261dff4a2c7b Mon Sep 17 00:00:00 2001 From: Diogo Sousa Date: Mon, 6 Feb 2023 10:14:35 +0000 Subject: [PATCH 11/14] add help to settings cmds --- openbb_terminal/settings_controller.py | 58 +++++++++++++------ .../test_settings_controller.py | 10 +++- 2 files changed, 48 insertions(+), 20 deletions(-) diff --git a/openbb_terminal/settings_controller.py b/openbb_terminal/settings_controller.py index 2fbdcacb210..8129efce514 100644 --- a/openbb_terminal/settings_controller.py +++ b/openbb_terminal/settings_controller.py @@ -226,26 +226,42 @@ class SettingsController(BaseController): ) @log_start_end(log=logger) - def call_colors(self, _): + def call_colors(self, other_args: List[str]): """Process colors command""" - console.print( - "\n1. Play with the terminal coloring embedded in our website https://openbb.co/customize\n" + parser = argparse.ArgumentParser( + add_help=False, + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + prog="autoscaling", + description="Set the use of autoscaling in the plots", ) - console.print("2. Once happy, click 'Download Theme'\n") - console.print( - "3. The file 'openbb_config.richstyle.json' should be downloaded\n" - ) - console.print( - "4. Insert that config file inside /OpenBBUserData/styles/user/\n" - ) - console.print("5. Close the terminal and run it again.\n") + ns_parser = self.parse_simple_args(parser, other_args) + if ns_parser: + console.print( + "\n1. Play with the terminal coloring embedded in our website https://openbb.co/customize\n" + ) + console.print("2. Once happy, click 'Download Theme'\n") + console.print( + "3. The file 'openbb_config.richstyle.json' should be downloaded\n" + ) + console.print( + "4. Insert that config file inside /OpenBBUserData/styles/user/\n" + ) + console.print("5. Close the terminal and run it again.\n") @log_start_end(log=logger) - def call_dt(self, _): + def call_dt(self, other_args: List[str]): """Process dt command""" - obbff_ctrl.FeatureFlagsController.set_feature_flag( - "OPENBB_USE_DATETIME", not obbff.USE_DATETIME + parser = argparse.ArgumentParser( + add_help=False, + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + prog="dt", + description="Set the use of datetime in the plots", ) + ns_parser = self.parse_simple_args(parser, other_args) + if ns_parser: + obbff_ctrl.FeatureFlagsController.set_feature_flag( + "OPENBB_USE_DATETIME", not obbff.USE_DATETIME + ) @log_start_end(log=logger) def call_source(self, other_args: List[str]): @@ -283,11 +299,19 @@ class SettingsController(BaseController): console.print(e) @log_start_end(log=logger) - def call_autoscaling(self, _): + def call_autoscaling(self, other_args: List[str]): """Process autoscaling command""" - obbff_ctrl.FeatureFlagsController.set_feature_flag( - "OPENBB_USE_PLOT_AUTOSCALING", not obbff.USE_PLOT_AUTOSCALING + parser = argparse.ArgumentParser( + add_help=False, + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + prog="autoscaling", + description="Set the use of autoscaling in the plots", ) + ns_parser = self.parse_simple_args(parser, other_args) + if ns_parser: + obbff_ctrl.FeatureFlagsController.set_feature_flag( + "OPENBB_USE_PLOT_AUTOSCALING", not obbff.USE_PLOT_AUTOSCALING + ) @log_start_end(log=logger) def call_dpi(self, other_args: List[str]): diff --git a/tests/openbb_terminal/test_settings_controller.py b/tests/openbb_terminal/test_settings_controller.py index e7c552d36e0..01b6c13b8b0 100644 --- a/tests/openbb_terminal/test_settings_controller.py +++ b/tests/openbb_terminal/test_settings_controller.py @@ -12,9 +12,13 @@ def controller(mocker): True, ) mocker.patch("openbb_terminal.settings_controller.session", True) - mocker.patch("openbb_terminal.settings_controller.set_cfg_plot") - mocker.patch("openbb_terminal.settings_controller.set_path_config") - mocker.patch("openbb_terminal.settings_controller.obbff_ctrl") + mocker.patch("openbb_terminal.settings_controller.SettingsController.set_cfg_plot") + mocker.patch( + "openbb_terminal.settings_controller.SettingsController.set_path_config" + ) + mocker.patch( + "openbb_terminal.settings_controller.obbff_ctrl.FeatureFlagsController.set_feature_flag" + ) return SettingsController() From b1c79b42912630910cdd00ab522db7566e6469d2 Mon Sep 17 00:00:00 2001 From: Diogo Sousa Date: Mon, 6 Feb 2023 10:22:21 +0000 Subject: [PATCH 12/14] ruff --- terminal.py | 1 + 1 file changed, 1 insertion(+) diff --git a/terminal.py b/terminal.py index 9fbd3770ac0..a3a5684ec80 100644 --- a/terminal.py +++ b/terminal.py @@ -1,5 +1,6 @@ import multiprocessing import sys + from openbb_terminal.core.integration_tests import integration_controller from openbb_terminal.session import session_controller from openbb_terminal.terminal_helper import is_installer From 665250d1beacce32284715129852086108bdf230 Mon Sep 17 00:00:00 2001 From: Diogo Sousa Date: Mon, 6 Feb 2023 11:04:45 +0000 Subject: [PATCH 13/14] fix pull keys bug --- openbb_terminal/account/account_controller.py | 2 +- openbb_terminal/account/account_model.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/openbb_terminal/account/account_controller.py b/openbb_terminal/account/account_controller.py index 836a5e636ae..08d2d5d4bef 100644 --- a/openbb_terminal/account/account_controller.py +++ b/openbb_terminal/account/account_controller.py @@ -130,7 +130,7 @@ class AccountController(BaseController): else: console.print("\n[info]Aborted.[/info]") else: - console.print("\n[info]No changes to apply.[/info]") + console.print("[info]No changes to apply.[/info]") def call_clear(self, other_args: List[str]): """Clear data""" diff --git a/openbb_terminal/account/account_model.py b/openbb_terminal/account/account_model.py index 645313b788a..06406efc7ef 100644 --- a/openbb_terminal/account/account_model.py +++ b/openbb_terminal/account/account_model.py @@ -101,9 +101,10 @@ def get_diff_keys(keys: dict) -> dict: diff = {} if keys: for k, v in sorted(keys.items()): - old, new = get_var_diff(cfg, k, v) - if new is not None: - diff[k] = (old, new) + if hasattr(cfg, k): + old, new = get_var_diff(cfg, k, v) + if new is not None: + diff[k] = (old, new) return diff From 928e652d352017098636b69c61b61e13f9ac2cb0 Mon Sep 17 00:00:00 2001 From: Diogo Sousa Date: Mon, 6 Feb 2023 11:05:06 +0000 Subject: [PATCH 14/14] point to dev --- openbb_terminal/session/hub_model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openbb_terminal/session/hub_model.py b/openbb_terminal/session/hub_model.py index 0f4d7473f14..f64c9b74e88 100644 --- a/openbb_terminal/session/hub_model.py +++ b/openbb_terminal/session/hub_model.py @@ -4,7 +4,7 @@ import requests from openbb_terminal.rich_config import console -BASE_URL = "http://127.0.0.1:8000/" +BASE_URL = "https://payments.openbb.dev/" TIMEOUT = 15