diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml
index 87a72261225..3a42ae48bfd 100644
--- a/.github/workflows/gh-pages.yml
+++ b/.github/workflows/gh-pages.yml
@@ -17,7 +17,11 @@ jobs:
# remove --minify tag if you do not need it
# docs: https://gohugo.io/hugo-pipes/minification/
working-directory: ./website
- run: hugo
+ env:
+ BEACON_TOKEN: ${{ secrets.HUGO_ANALYTICS }}
+ run: |
+ sed -i -e "s/{{BEACON}}/$BEACON_TOKEN/g" themes/hugo-geekdoc/layouts/partials/foot.html
+ hugo
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
diff --git a/.pylintrc b/.pylintrc
index 14d53bda50b..064c0eca4db 100644
--- a/.pylintrc
+++ b/.pylintrc
@@ -3,7 +3,7 @@
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code
-extension-pkg-whitelist=
+extension-pkg-allow-list=math,binascii
# Add files or directories to the blacklist. They should be base names, not
# paths.
diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html
new file mode 100644
index 00000000000..ffb0f622b6f
--- /dev/null
+++ b/docs/_templates/layout.html
@@ -0,0 +1,11 @@
+{% extends '!layout.html' %}
+
+{% block footer %}
+
+
+
+{% endblock %}
diff --git a/docs/code/gamestonk_terminal.forex.rst b/docs/code/gamestonk_terminal.forex.rst
index 5a5b071fa2e..43728f62912 100644
--- a/docs/code/gamestonk_terminal.forex.rst
+++ b/docs/code/gamestonk_terminal.forex.rst
@@ -13,6 +13,22 @@ Subpackages
Submodules
----------
+gamestonk\_terminal.forex.av\_model module
+------------------------------------------
+
+.. automodule:: gamestonk_terminal.forex.av_model
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+gamestonk\_terminal.forex.av\_view module
+-----------------------------------------
+
+.. automodule:: gamestonk_terminal.forex.av_view
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
gamestonk\_terminal.forex.forex\_controller module
--------------------------------------------------
diff --git a/docs/conf.py b/docs/conf.py
index 1258bb91391..9959d473ca9 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,8 +1,10 @@
-# Configuration file for the Sphinx documentation builder.
-#
-# This file only contains a selection of the most common options. For a full
-# list see the documentation:
-# https://www.sphinx-doc.org/en/master/usage/configuration.html
+"""
+Configuration file for the Sphinx documentation builder.
+
+This file only contains a selection of the most common options. For a full
+list see the documentation:
+https://www.sphinx-doc.org/en/master/usage/configuration.html
+"""
# -- Path setup --------------------------------------------------------------
@@ -16,11 +18,18 @@ import sys
sys.path.insert(0, os.path.abspath("."))
sys.path.insert(0, os.path.join(os.path.abspath("."), ".."))
+beacon = os.environ.get("BEACON")
+
+if beacon is not None:
+ with open(os.path.join(".", "_templates", "layout.html")) as f:
+ content = f.read()
+ with open(os.path.join(".", "_templates", "layout.html"), "w") as f:
+ f.write(content.replace("{{BEACON}}", beacon))
# -- Project information -----------------------------------------------------
project = "Gamestonk Terminal"
-copyright = "2021, Gamestonk Terminal Contributors"
+copyright = "2021, Gamestonk Terminal Contributors" # pylint: disable=W0622
author = "Gamestonk Terminal Contributors"
diff --git a/pyproject.toml b/pyproject.toml
index ed70b39f629..5c9c444a977 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -74,7 +74,7 @@ fred = "^3.1"
openpyxl = "3.0.7"
vcrpy = "^4.1.1"
coverage = "^5.5"
-tensorflow = {version = "2.6.0", optional = true}
+tensorflow = {version = "^2.6.0", optional = true}
jsonschema = "3.2.0"
financedatabase = "1.0.0"
reportlab = "^3.6.2"
diff --git a/requirements-full.txt b/requirements-full.txt
index 5e630e368e3..2758ee44193 100644
--- a/requirements-full.txt
+++ b/requirements-full.txt
@@ -45,7 +45,7 @@ datetime==4.3; python_version >= "3.5"
debugpy==1.5.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7"
decorator==5.1.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7"
defusedxml==0.7.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7"
-degiro-connector==2.0.3; python_full_version >= "3.6.2"
+degiro-connector==2.0.4; python_full_version >= "3.6.2"
deprecation==2.1.0
detecta==0.0.5; python_version >= "3.6"
docutils==0.16; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6")
@@ -69,7 +69,7 @@ gast==0.4.0; python_version >= "2.7" and python_full_version < "3.0.0" or python
gitdb==4.0.9; python_version >= "3.7"
gitpython==3.1.24; python_version >= "3.7"
google-auth-oauthlib==0.4.6; python_version >= "3.6"
-google-auth==2.3.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
+google-auth==1.35.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
google-pasta==0.2.0
grpcio==1.41.1; python_full_version >= "3.6.2" and python_version >= "3.6"
h5py==3.1.0; python_version >= "3.6"
@@ -94,14 +94,14 @@ jsonschema==3.2.0
jupyter-client==6.1.12; python_version >= "3.5"
jupyter-console==6.4.0; python_version >= "3.6"
jupyter-core==4.9.1; python_full_version >= "3.6.1" and python_version >= "3.7"
-jupyter-server==1.11.1; python_version >= "3.6"
+jupyter-server==1.11.2; python_version >= "3.6"
jupyter==1.0.0
jupyterlab-pygments==0.1.2; python_version >= "3.7"
jupyterlab-server==2.8.2; python_version >= "3.6"
jupyterlab-widgets==1.0.2; python_version >= "3.6"
-jupyterlab==3.2.1; python_version >= "3.6"
+jupyterlab==3.2.2; python_version >= "3.6"
keras-preprocessing==1.1.2
-keras==2.7.0
+keras==2.6.0
kiwisolver==1.3.2; python_version >= "3.7"
korean-lunar-calendar==0.2.1; python_version >= "3.6"
lazy-object-proxy==1.6.0; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.6" and python_version < "4.0" and python_full_version >= "3.6.0"
@@ -137,7 +137,7 @@ openpyxl==3.0.7; python_version >= "3.6"
opt-einsum==3.3.0; python_version >= "3.5"
orjson==3.6.4; python_version >= "3.7" and python_full_version >= "3.6.2"
osqp==0.6.2.post0; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.6"
-packaging==21.2; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7"
+packaging==21.0; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7"
pandas-datareader==0.10.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
pandas-ta==0.2.45b
pandas==1.1.5; python_full_version >= "3.6.1"
@@ -146,7 +146,7 @@ papermill==2.3.3; python_version >= "3.6"
parso==0.8.2; python_version >= "3.7"
pathspec==0.9.0; python_full_version >= "3.6.2" and python_version >= "3.6"
patsy==0.5.2; python_version >= "3.6"
-pbr==5.6.0; python_version >= "3.6"
+pbr==5.7.0; python_version >= "3.6"
pexpect==4.8.0; sys_platform != "win32" and python_version >= "3.7"
pickleshare==0.7.5; python_version >= "3.7"
pillow==8.4.0; python_version >= "3.6"
@@ -158,11 +158,11 @@ praw==7.4.0; python_version >= "3.6" and python_version < "4.0"
prawcore==2.3.0; python_version >= "3.6" and python_version < "4.0"
prettytable==2.4.0; python_version >= "3.6"
prometheus-client==0.12.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
-prompt-toolkit==3.0.21; python_full_version >= "3.6.2"
+prompt-toolkit==3.0.22; python_full_version >= "3.6.2"
protobuf==3.19.1; python_version >= "3.6" and python_full_version >= "3.6.2"
psaw==0.0.12; python_version >= "3"
ptyprocess==0.7.0; os_name != "nt" and python_version >= "3.7" and sys_platform != "win32"
-py==1.10.0; python_version >= "3.6" and python_full_version < "3.0.0" and implementation_name == "pypy" or python_full_version >= "3.4.0" and python_version >= "3.6" and implementation_name == "pypy"
+py==1.11.0; python_version >= "3.6" and python_full_version < "3.0.0" and implementation_name == "pypy" or python_full_version >= "3.5.0" and python_version >= "3.6" and implementation_name == "pypy"
pyally==1.1.2
pyasn1-modules==0.2.8; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
pyasn1==0.4.8; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "4" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6") or python_full_version >= "3.6.0" and python_version >= "3.6" and python_version < "4" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6")
@@ -177,7 +177,7 @@ pymeeus==0.5.11; python_version >= "3.6"
pyobjc-core==7.3; python_version >= "3.6" and sys_platform == "darwin"
pyobjc-framework-cocoa==7.3; python_version >= "3.6" and sys_platform == "darwin"
pyotp==2.6.0; python_version >= "3"
-pyparsing==2.4.7; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7"
+pyparsing==3.0.4; python_version >= "3.7"
pyportfolioopt==1.5.1; python_full_version >= "3.6.1" and python_full_version < "4.0.0"
pyprind==2.11.3; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
pyrsistent==0.14.11
@@ -190,7 +190,7 @@ pytrends==4.7.3
pytz-deprecation-shim==0.1.0.post0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
pytz==2021.3; python_full_version >= "3.6.8" and python_version >= "3.6" and python_full_version < "4.0.0"
pyupgrade==2.18.2; python_full_version >= "3.6.1"
-pywin32==301; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.6"
+pywin32==302; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.6"
pywinpty==1.1.5; os_name == "nt" and python_version >= "3.6"
pyyaml==6.0; python_version >= "3.6"
pyzmq==22.3.0; python_full_version >= "3.6.1" and python_version >= "3.6"
@@ -202,7 +202,6 @@ rapidfuzz==1.8.2; python_version >= "2.7"
regex==2020.11.13
reportlab==3.6.2; python_version >= "3.6" and python_version < "4"
requests-oauthlib==1.3.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
-requests-unixsocket==0.2.0; python_version >= "3.6"
requests==2.26.0; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.6.0")
retrying==1.3.3
robin-stocks==2.1.0; python_version >= "3"
@@ -238,9 +237,9 @@ temporal-cache==0.1.4
tenacity==8.0.1; python_version >= "3.6"
tensorboard-data-server==0.6.1; python_version >= "3.6"
tensorboard-plugin-wit==1.8.0; python_version >= "3.6"
-tensorboard==2.7.0; python_version >= "3.6"
-tensorflow-estimator==2.7.0
-tensorflow==2.6.0
+tensorboard==2.6.0; python_version >= "3.6"
+tensorflow-estimator==2.6.0
+tensorflow==2.6.2
termcolor==1.1.0
terminado==0.12.1; python_version >= "3.6"
testpath==0.5.0; python_version >= "3.7"
diff --git a/requirements.txt b/requirements.txt
index a4704891068..d4a24c82e30 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -36,7 +36,7 @@ datetime==4.3; python_version >= "3.5"
debugpy==1.5.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7"
decorator==5.1.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7"
defusedxml==0.7.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7"
-degiro-connector==2.0.3; python_full_version >= "3.6.2"
+degiro-connector==2.0.4; python_full_version >= "3.6.2"
deprecation==2.1.0
detecta==0.0.5; python_version >= "3.6"
docutils==0.16; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.6"
@@ -76,12 +76,12 @@ jsonschema==3.2.0
jupyter-client==6.1.12; python_version >= "3.5"
jupyter-console==6.4.0; python_version >= "3.6"
jupyter-core==4.9.1; python_full_version >= "3.6.1" and python_version >= "3.7"
-jupyter-server==1.11.1; python_version >= "3.6"
+jupyter-server==1.11.2; python_version >= "3.6"
jupyter==1.0.0
jupyterlab-pygments==0.1.2; python_version >= "3.7"
jupyterlab-server==2.8.2; python_version >= "3.6"
jupyterlab-widgets==1.0.2; python_version >= "3.6"
-jupyterlab==3.2.1; python_version >= "3.6"
+jupyterlab==3.2.2; python_version >= "3.6"
kiwisolver==1.3.2; python_version >= "3.7"
korean-lunar-calendar==0.2.1; python_version >= "3.6"
lxml==4.6.4; python_full_version >= "3.6.8" and python_version >= "3.5" and python_full_version < "4.0.0" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6")
@@ -109,7 +109,7 @@ onetimepass==1.0.1; python_full_version >= "3.6.2"
openpyxl==3.0.7; python_version >= "3.6"
orjson==3.6.4; python_version >= "3.7" and python_full_version >= "3.6.2"
osqp==0.6.2.post0; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.6"
-packaging==21.2; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7"
+packaging==21.0; python_full_version >= "3.6.8" and python_full_version < "4.0.0" and python_version >= "3.7"
pandas-datareader==0.10.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
pandas-ta==0.2.45b
pandas==1.1.5; python_full_version >= "3.6.1"
@@ -127,11 +127,11 @@ praw==7.4.0; python_version >= "3.6" and python_version < "4.0"
prawcore==2.3.0; python_version >= "3.6" and python_version < "4.0"
prettytable==2.4.0; python_version >= "3.6"
prometheus-client==0.12.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
-prompt-toolkit==3.0.21; python_full_version >= "3.6.2"
+prompt-toolkit==3.0.22; python_full_version >= "3.6.2"
protobuf==3.19.1; python_version >= "3.5" and python_full_version >= "3.6.2"
psaw==0.0.12; python_version >= "3"
ptyprocess==0.7.0; os_name != "nt" and python_version >= "3.7" and sys_platform != "win32"
-py==1.10.0; python_version >= "3.6" and python_full_version < "3.0.0" and implementation_name == "pypy" or implementation_name == "pypy" and python_version >= "3.6" and python_full_version >= "3.4.0"
+py==1.11.0; python_version >= "3.6" and python_full_version < "3.0.0" and implementation_name == "pypy" or implementation_name == "pypy" and python_version >= "3.6" and python_full_version >= "3.5.0"
pyally==1.1.2
pycoingecko==1.4.1
pycparser==2.20; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
@@ -141,7 +141,7 @@ pymeeus==0.5.11; python_version >= "3.6"
pyobjc-core==7.3; python_version >= "3.6" and sys_platform == "darwin"
pyobjc-framework-cocoa==7.3; python_version >= "3.6" and sys_platform == "darwin"
pyotp==2.6.0; python_version >= "3"
-pyparsing==2.4.7; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7"
+pyparsing==3.0.4; python_version >= "3.7"
pyportfolioopt==1.5.1; python_full_version >= "3.6.1" and python_full_version < "4.0.0"
pyprind==2.11.3; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
pyrsistent==0.14.11
@@ -153,7 +153,7 @@ pytrends==4.7.3
pytz-deprecation-shim==0.1.0.post0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
pytz==2021.3; python_full_version >= "3.6.8" and python_version >= "3.6" and python_full_version < "4.0.0"
pyupgrade==2.18.2; python_full_version >= "3.6.1"
-pywin32==301; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.6"
+pywin32==302; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.6"
pywinpty==1.1.5; os_name == "nt" and python_version >= "3.6"
pyyaml==6.0; python_version >= "3.6"
pyzmq==22.3.0; python_full_version >= "3.6.1" and python_version >= "3.6"
@@ -165,7 +165,6 @@ rapidfuzz==1.8.2; python_version >= "2.7"
regex==2020.11.13
reportlab==3.6.2; python_version >= "3.6" and python_version < "4"
requests-oauthlib==1.3.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0"
-requests-unixsocket==0.2.0; python_version >= "3.6"
requests==2.26.0; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.6.0")
retrying==1.3.3
robin-stocks==2.1.0; python_version >= "3"
diff --git a/website/themes/hugo-geekdoc/layouts/partials/foot.html b/website/themes/hugo-geekdoc/layouts/partials/foot.html
index 2a8def840cd..832468483d4 100644
--- a/website/themes/hugo-geekdoc/layouts/partials/foot.html
+++ b/website/themes/hugo-geekdoc/layouts/partials/foot.html
@@ -10,3 +10,5 @@
{{ end }}
+
+