Current Site Packages Directory:
/var/www/oddize/venv/lib/python3.11/site-packages
Package | Version | Homepage | Summary |
---|---|---|---|
attrs | 25.1.0 | None | Classes Without Boilerplate |
babel | 2.17.0 | https://babel.pocoo.org/ | Internationalization utilities |
bcrypt | 4.2.1 | None | Modern password hashing for your software and your servers |
blinker | 1.9.0 | None | Fast, simple object-to-object and broadcast signaling |
certifi | 2022.9.24 | https://github.com/certifi/python-certifi | Python package for providing Mozilla's CA Bundle. |
charset-normalizer | 2.1.1 | https://github.com/ousret/charset_normalizer | The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet. |
click | 8.1.8 | None | Composable command line interface toolkit |
cssselect | 1.2.0 | https://github.com/scrapy/cssselect | cssselect parses CSS3 Selectors and translates them to XPath 1.0 |
Flask | 2.2.3 | https://palletsprojects.com/p/flask | A simple framework for building complex web applications. |
Flask-BabelEx | 0.9.4 | http://github.com/mrjoes/flask-babelex | Adds i18n/l10n support to Flask applications |
flask-blueprint | 1.3.0 | https://github.com/aiscenblue/flask-blueprint | Flask blueprint generator |
Flask-DebugToolbar | 0.15.1 | https://github.com/pallets-eco/flask-debugtoolbar | A toolbar overlay for debugging Flask applications. |
Flask-Login | 0.6.3 | https://github.com/maxcountryman/flask-login | User authentication and session management for Flask. |
Flask-Mail | 0.10.0 | None | Flask extension for sending email |
Flask-Principal | 0.4.0 | http://packages.python.org/Flask-Principal/ | Identity management for flask |
Flask-Security | 3.0.0 | https://github.com/mattupstate/flask-security | Simple security for Flask apps. |
Flask-WTF | 1.2.2 | None | Form rendering, validation, and CSRF protection for Flask with WTForms. |
greenlet | 2.0.1 | https://greenlet.readthedocs.io/ | Lightweight in-process concurrent programming |
gunicorn | 23.0.0 | None | WSGI HTTP Server for UNIX |
h11 | 0.14.0 | https://github.com/python-hyper/h11 | A pure-Python, bring-your-own-I/O implementation of HTTP/1.1 |
idna | 3.4 | None | Internationalized Domain Names in Applications (IDNA) |
itsdangerous | 2.2.0 | None | Safely pass data to untrusted environments and back. |
Jinja2 | 3.1.5 | None | A very fast and expressive template engine. |
joblib | 1.4.2 | None | Lightweight pipelining with Python functions |
lxml | 4.9.1 | https://lxml.de/ | Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API. |
MarkupSafe | 3.0.2 | None | Safely add untrusted strings to HTML/XML markup. |
numpy | 1.23.5 | https://www.numpy.org | NumPy is the fundamental package for array computing with Python. |
nvidia-nccl-cu12 | 2.25.1 | https://developer.nvidia.com/cuda-zone | NVIDIA Collective Communication Library (NCCL) Runtime |
outcome | 1.3.0.post0 | https://github.com/python-trio/outcome | Capture the outcome of Python function calls. |
packaging | 24.2 | None | Core utilities for Python packages |
pandas | 1.5.2 | https://pandas.pydata.org | Powerful data structures for data analysis, time series, and statistics |
passlib | 1.7.4 | https://passlib.readthedocs.io | comprehensive password hashing framework supporting over 30 schemes |
patsy | 1.0.1 | https://github.com/pydata/patsy | A Python package for describing statistical models and for building design matrices. |
pip | 24.0 | None | The PyPA recommended tool for installing Python packages. |
psutil | 7.0.0 | https://github.com/giampaolo/psutil | Cross-platform lib for process and system monitoring in Python. NOTE: the syntax of this script MUST be kept compatible with Python 2.7. |
psycopg2-binary | 2.9.10 | https://psycopg.org/ | psycopg2 - Python-PostgreSQL Database Adapter |
pyquery | 1.4.3 | https://github.com/gawel/pyquery | A jquery-like library for python |
PySocks | 1.7.1 | https://github.com/Anorov/PySocks | A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information. |
python-dateutil | 2.8.2 | https://github.com/dateutil/dateutil | Extensions to the standard Python datetime module |
python-dotenv | 1.0.1 | https://github.com/theskumar/python-dotenv | Read key-value pairs from a .env file and set them as environment variables |
pytz | 2022.6 | http://pythonhosted.org/pytz | World timezone definitions, modern and historical |
requests | 2.28.1 | https://requests.readthedocs.io | Python HTTP for Humans. |
scikit-learn | 1.5.2 | https://scikit-learn.org | A set of python modules for machine learning and data mining |
scipy | 1.14.1 | https://scipy.org/ | Fundamental algorithms for scientific computing in Python |
selenium | 4.23.1 | https://www.selenium.dev | Official Python bindings for Selenium WebDriver |
selenium-stealth | 1.0.6 | https://github.com/diprajpatra/selenium-stealth | Trying to make python selenium more stealthy. |
setuptools | 65.5.0 | https://github.com/pypa/setuptools | Easily download, build, install, upgrade, and uninstall Python packages |
six | 1.16.0 | https://github.com/benjaminp/six | Python 2 and 3 compatibility utilities |
sniffio | 1.3.1 | None | Sniff out which async library your code is running under |
sortedcontainers | 2.4.0 | http://www.grantjenks.com/docs/sortedcontainers/ | Sorted Containers -- Sorted List, Sorted Dict, Sorted Set |
speaklater | 1.3 | http://github.com/mitsuhiko/speaklater | implements a lazy string for python useful for use with gettext |
sportsipy | 0.6.0 | https://github.com/roclark/sportsipy | A free sports API written for python |
sportsreference | 0.5.2 | https://github.com/roclark/sportsreference | A free sports API written for python |
SQLAlchemy | 1.4.44 | https://www.sqlalchemy.org | Database Abstraction Library |
statsmodels | 0.14.4 | https://www.statsmodels.org/ | Statistical computations and models for Python |
threadpoolctl | 3.5.0 | https://github.com/joblib/threadpoolctl | threadpoolctl |
trio | 0.29.0 | None | A friendly Python library for async concurrency and I/O |
trio-websocket | 0.12.1 | https://github.com/python-trio/trio-websocket | WebSocket library for Trio |
typing_extensions | 4.12.2 | None | Backported and Experimental Type Hints for Python 3.8+ |
undetected-chromedriver | 3.5.5 | https://github.com/ultrafunkamsterdam/undetected-chromedriver | ('Selenium.webdriver.Chrome replacement with compatiblity for Brave, and other Chromium based browsers.', 'Not triggered by CloudFlare/Imperva/hCaptcha and such.', 'NOTE: results may vary due to many factors. No guarantees are given, except for ongoing efforts in understanding detection algorithms.') |
urllib3 | 1.26.13 | https://urllib3.readthedocs.io/ | HTTP library with thread-safe connection pooling, file post, and more. |
websocket-client | 1.8.0 | https://github.com/websocket-client/websocket-client.git | WebSocket client for Python with low level API options |
websockets | 15.0 | None | An implementation of the WebSocket Protocol (RFC 6455 & 7692) |
Werkzeug | 2.2.3 | https://palletsprojects.com/p/werkzeug/ | The comprehensive WSGI web application library. |
wsproto | 1.2.0 | https://github.com/python-hyper/wsproto/ | WebSockets state-machine based protocol implementation |
WTForms | 3.2.1 | None | Form validation and rendering for Python web development. |
xgboost | 2.1.4 | None | XGBoost Python Package |
Resource | Value |
---|---|
User CPU time | 1.023 msec |
System CPU time | 0.000 msec |
Total CPU time | 1.023 msec |
Elapsed time | 1.030 msec |
Context switches | 0 voluntary, 0 involuntary |
Key | Value |
---|---|
HTTP_ACCEPT | */* |
HTTP_ACCEPT_ENCODING | gzip, br |
HTTP_CONNECTION | close |
HTTP_HOST | oddize.com |
HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected]) |
QUERY_STRING | |
REMOTE_ADDR | |
REQUEST_METHOD | GET |
SCRIPT_NAME | |
SERVER_NAME | oddize.com |
SERVER_PORT | 443 |
SERVER_PROTOCOL | HTTP/1.0 |
SERVER_SOFTWARE | gunicorn/23.0.0 |
View Function | args | kwargs |
---|---|---|
app.oddizer_sport_home | [] | sport=nfl |
Variable | Value |
---|
No SESSION data
Variable | Value |
---|
Variable | Value |
---|
Key | Value |
---|---|
APPLICATION_ROOT | '/' |
DEBUG | True |
DEBUG_TB_ENABLED | True |
DEBUG_TB_HOSTS | () |
DEBUG_TB_INTERCEPT_REDIRECTS | True |
DEBUG_TB_PANELS | ('flask_debugtoolbar.panels.versions.VersionDebugPanel', 'flask_debugtoolbar.panels.timer.TimerDebugPanel', 'flask_debugtoolbar.panels.headers.HeaderDebugPanel', 'flask_debugtoolbar.panels.request_vars.RequestVarsDebugPanel', 'flask_debugtoolbar.panels.config_vars.ConfigVarsDebugPanel', 'flask_debugtoolbar.panels.template.TemplateDebugPanel', 'flask_debugtoolbar.panels.sqlalchemy.SQLAlchemyDebugPanel', 'flask_debugtoolbar.panels.logger.LoggingPanel', 'flask_debugtoolbar.panels.route_list.RouteListDebugPanel', 'flask_debugtoolbar.panels.profiler.ProfilerDebugPanel', 'flask_debugtoolbar.panels.g.GDebugPanel') |
DEBUG_TB_PROFILER_DUMP_FILENAME | 'dump.txt' |
DEBUG_TB_PROFILER_ENABLED | True |
ENV | 'production' |
EXPLAIN_TEMPLATE_LOADING | False |
JSON_AS_ASCII | None |
JSON_SORT_KEYS | False |
JSONIFY_MIMETYPE | None |
JSONIFY_PRETTYPRINT_REGULAR | None |
MAX_CONTENT_LENGTH | None |
MAX_COOKIE_SIZE | 4093 |
PERMANENT_SESSION_LIFETIME | datetime.timedelta(days=31) |
PREFERRED_URL_SCHEME | 'http' |
PROPAGATE_EXCEPTIONS | None |
SECRET_KEY | 'super-secret-corgi123' |
SECURITY_BLUEPRINT_NAME | 'security' |
SECURITY_CHANGE_PASSWORD_TEMPLATE | 'security/change_password.html' |
SECURITY_CHANGE_SALT | 'change-salt' |
SECURITY_CHANGE_URL | '/change' |
SECURITY_CHANGEABLE | False |
SECURITY_CLI_ROLES_NAME | 'roles' |
SECURITY_CLI_USERS_NAME | 'users' |
SECURITY_CONFIRM_EMAIL_WITHIN | '5 days' |
SECURITY_CONFIRM_ERROR_VIEW | None |
SECURITY_CONFIRM_SALT | 'confirm-salt' |
SECURITY_CONFIRM_URL | '/confirm' |
SECURITY_CONFIRMABLE | False |
SECURITY_DATETIME_FACTORY | <built-in method utcnow of type object at 0xa1cf20> |
SECURITY_DEFAULT_HTTP_AUTH_REALM | 'Login Required' |
SECURITY_DEFAULT_REMEMBER_ME | False |
SECURITY_DEPRECATED_HASHING_SCHEMES | ['hex_md5'] |
SECURITY_DEPRECATED_PASSWORD_SCHEMES | ['auto'] |
SECURITY_EMAIL_HTML | True |
SECURITY_EMAIL_PLAINTEXT | True |
SECURITY_EMAIL_SENDER | 'no-reply@localhost' |
SECURITY_EMAIL_SUBJECT_CONFIRM | 'Please confirm your email' |
SECURITY_EMAIL_SUBJECT_PASSWORD_CHANGE_NOTICE | 'Your password has been changed' |
SECURITY_EMAIL_SUBJECT_PASSWORD_NOTICE | 'Your password has been reset' |
SECURITY_EMAIL_SUBJECT_PASSWORD_RESET | 'Password reset instructions' |
SECURITY_EMAIL_SUBJECT_PASSWORDLESS | 'Login instructions' |
SECURITY_EMAIL_SUBJECT_REGISTER | 'Welcome' |
SECURITY_FLASH_MESSAGES | True |
SECURITY_FORGOT_PASSWORD_TEMPLATE | 'security/forgot_password.html' |
SECURITY_HASHING_SCHEMES | ['sha256_crypt', 'hex_md5'] |
SECURITY_I18N_DOMAIN | 'flask_security' |
SECURITY_LOGIN_SALT | 'login-salt' |
SECURITY_LOGIN_URL | '/login' |
SECURITY_LOGIN_USER_TEMPLATE | 'security/login_user.html' |
SECURITY_LOGIN_WITHIN | '1 days' |
SECURITY_LOGIN_WITHOUT_CONFIRMATION | False |
SECURITY_LOGOUT_URL | '/logout' |
SECURITY_MSG_ALREADY_CONFIRMED | ('Your email has already been confirmed.', 'info') |
SECURITY_MSG_CONFIRM_REGISTRATION | ('Thank you. Confirmation instructions have been sent to %(email)s.', 'success') |
SECURITY_MSG_CONFIRMATION_EXPIRED | ('You did not confirm your email within %(within)s. New instructions to confirm your email have been sent to %(email)s.', 'error') |
SECURITY_MSG_CONFIRMATION_REQUEST | ('Confirmation instructions have been sent to %(email)s.', 'info') |
SECURITY_MSG_CONFIRMATION_REQUIRED | ('Email requires confirmation.', 'error') |
SECURITY_MSG_DISABLED_ACCOUNT | ('Account is disabled.', 'error') |
SECURITY_MSG_EMAIL_ALREADY_ASSOCIATED | ('%(email)s is already associated with an account.', 'error') |
SECURITY_MSG_EMAIL_CONFIRMED | ('Thank you. Your email has been confirmed.', 'success') |
SECURITY_MSG_EMAIL_NOT_PROVIDED | ('Email not provided', 'error') |
SECURITY_MSG_FORGOT_PASSWORD | ('Forgot password?', 'info') |
SECURITY_MSG_INVALID_CONFIRMATION_TOKEN | ('Invalid confirmation token.', 'error') |
SECURITY_MSG_INVALID_EMAIL_ADDRESS | ('Invalid email address', 'error') |
SECURITY_MSG_INVALID_LOGIN_TOKEN | ('Invalid login token.', 'error') |
SECURITY_MSG_INVALID_PASSWORD | ('Invalid password', 'error') |
SECURITY_MSG_INVALID_REDIRECT | ('Redirections outside the domain are forbidden', 'error') |
SECURITY_MSG_INVALID_RESET_PASSWORD_TOKEN | ('Invalid reset password token.', 'error') |
SECURITY_MSG_LOGIN | ('Please log in to access this page.', 'info') |
SECURITY_MSG_LOGIN_EMAIL_SENT | ('Instructions to login have been sent to %(email)s.', 'success') |
SECURITY_MSG_LOGIN_EXPIRED | ('You did not login within %(within)s. New instructions to login have been sent to %(email)s.', 'error') |
SECURITY_MSG_PASSWORD_CHANGE | ('You successfully changed your password.', 'success') |
SECURITY_MSG_PASSWORD_INVALID_LENGTH | ('Password must be at least 6 characters', 'error') |
SECURITY_MSG_PASSWORD_IS_THE_SAME | ('Your new password must be different than your previous password.', 'error') |
SECURITY_MSG_PASSWORD_MISMATCH | ('Password does not match', 'error') |
SECURITY_MSG_PASSWORD_NOT_PROVIDED | ('Password not provided', 'error') |
SECURITY_MSG_PASSWORD_NOT_SET | ('No password is set for this user', 'error') |
SECURITY_MSG_PASSWORD_RESET | ('You successfully reset your password and you have been logged in automatically.', 'success') |
SECURITY_MSG_PASSWORD_RESET_EXPIRED | ('You did not reset your password within %(within)s. New instructions have been sent to %(email)s.', 'error') |
SECURITY_MSG_PASSWORD_RESET_REQUEST | ('Instructions to reset your password have been sent to %(email)s.', 'info') |
SECURITY_MSG_PASSWORDLESS_LOGIN_SUCCESSFUL | ('You have successfully logged in.', 'success') |
SECURITY_MSG_REFRESH | ('Please reauthenticate to access this page.', 'info') |
SECURITY_MSG_RETYPE_PASSWORD_MISMATCH | ('Passwords do not match', 'error') |
SECURITY_MSG_UNAUTHORIZED | ('You do not have permission to view this resource.', 'error') |
SECURITY_MSG_USER_DOES_NOT_EXIST | ('Specified user does not exist', 'error') |
SECURITY_PASSWORD_HASH | 'bcrypt' |
SECURITY_PASSWORD_SALT | 'm0rton5' |
SECURITY_PASSWORD_SCHEMES | ['bcrypt', 'des_crypt', 'pbkdf2_sha256', 'pbkdf2_sha512', 'sha256_crypt', 'sha512_crypt', 'plaintext'] |
SECURITY_PASSWORD_SINGLE_HASH | False |
SECURITY_PASSWORDLESS | False |
SECURITY_POST_CHANGE_VIEW | None |
SECURITY_POST_CONFIRM_VIEW | None |
SECURITY_POST_LOGIN_VIEW | '/' |
SECURITY_POST_LOGOUT_VIEW | '/' |
SECURITY_POST_REGISTER_VIEW | None |
SECURITY_POST_RESET_VIEW | None |
SECURITY_RECOVERABLE | False |
SECURITY_REGISTER_URL | '/register' |
SECURITY_REGISTER_USER_TEMPLATE | 'security/register_user.html' |
SECURITY_REGISTERABLE | True |
SECURITY_REMEMBER_SALT | 'remember-salt' |
SECURITY_RESET_PASSWORD_TEMPLATE | 'security/reset_password.html' |
SECURITY_RESET_PASSWORD_WITHIN | '5 days' |
SECURITY_RESET_SALT | 'reset-salt' |
SECURITY_RESET_URL | '/reset' |
SECURITY_SEND_CONFIRMATION_TEMPLATE | 'security/send_confirmation.html' |
SECURITY_SEND_LOGIN_TEMPLATE | 'security/send_login.html' |
SECURITY_SEND_PASSWORD_CHANGE_EMAIL | True |
SECURITY_SEND_PASSWORD_RESET_EMAIL | True |
SECURITY_SEND_PASSWORD_RESET_NOTICE_EMAIL | True |
SECURITY_SEND_REGISTER_EMAIL | True |
SECURITY_SUBDOMAIN | None |
SECURITY_TOKEN_AUTHENTICATION_HEADER | 'Authentication-Token' |
SECURITY_TOKEN_AUTHENTICATION_KEY | 'auth_token' |
SECURITY_TOKEN_MAX_AGE | None |
SECURITY_TRACKABLE | False |
SECURITY_UNAUTHORIZED_VIEW | <function <lambda> at 0x7b3f112bab60> |
SECURITY_URL_PREFIX | None |
SECURITY_USER_IDENTITY_ATTRIBUTES | ['email'] |
SEND_FILE_MAX_AGE_DEFAULT | None |
SERVER_NAME | None |
SESSION_COOKIE_DOMAIN | False |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'session' |
SESSION_COOKIE_PATH | None |
SESSION_COOKIE_SAMESITE | None |
SESSION_COOKIE_SECURE | False |
SESSION_REFRESH_EACH_REQUEST | True |
SQLALCHEMY_RECORD_QUERIES | True |
TEMPLATES_AUTO_RELOAD | None |
TESTING | False |
TRAP_BAD_REQUEST_ERRORS | None |
TRAP_HTTP_EXCEPTIONS | False |
USE_X_SENDFILE | False |
Variable | Value |
---|---|
current_user | <flask_security.core.AnonymousUser object at 0x7b3e69703fd0> |
g | <flask.g of 'app'> |
request | <Request 'https://oddize.com/oddizer/nfl' [GET]> |
security | <flask_security.core._SecurityState object at 0x7b3e6fbbcc10> |
session | <SecureCookieSession {}> |
sport | 'nfl' |
url_for_security | <function url_for_security at 0x7b3f112a5580> |
The toolbar was unable to fetch the SQLAlchemy queries for this request. To enable the SQLAlchemy query display, please:
The Flask-SQLAlchemy extension needs to be configured for this application. Please see the Flask-SQLAlchemy documentation for details.
No messages logged.
URL route | Endpoint name | HTTP methods | Is alias | Redirect to |
---|---|---|---|---|
/ | homepage | GET, HEAD, OPTIONS | False | None |
/anotheroddsboard | anotheroddsboard_homepage | GET, HEAD, OPTIONS | False | None |
/anotheroddsboard/<sport> | anotheroddsboard_homepage | GET, HEAD, OPTIONS | False | None |
/api/anotheroddsboard/event/<event_id>/odds | get_event_odds_history | GET, HEAD, OPTIONS | False | None |
/api/anotheroddsboard/event/<sport>/<event_id>/odds | get_event_odds | GET, HEAD, OPTIONS | False | None |
/api/anotheroddsboard/events/<sport> | get_sport_events | GET, HEAD, OPTIONS | False | None |
/api/anotheroddsboard/sports | get_available_sports | GET, HEAD, OPTIONS | False | None |
/api/event/<sport>/<path:event_id> | get_event_info | GET, HEAD, OPTIONS | False | None |
/api/oddizer/events/<sport> | get_oddizer_sport_events | GET, HEAD, OPTIONS | False | None |
/api/scraper/persist | persist_scraper_data | OPTIONS, POST | False | None |
/api/stats/<sport> | get_sport_stats | GET, HEAD, OPTIONS | False | None |
/api/stats/current-season/<sport> | get_current_season | GET, HEAD, OPTIONS | False | None |
/api/stats/fields/<sport> | get_available_fields | GET, HEAD, OPTIONS | False | None |
/api/stats/sports | get_available_sports_stats | GET, HEAD, OPTIONS | False | None |
/login | security.login | GET, HEAD, OPTIONS, POST | False | None |
/logout | security.logout | GET, HEAD, OPTIONS | False | None |
/oddizer | oddizer_homepage | GET, HEAD, OPTIONS | False | None |
/oddizer/<sport> | oddizer_sport_home | GET, HEAD, OPTIONS | False | None |
/oddizer/<sport>/game/<event> | oddizer_event_home | GET, HEAD, OPTIONS | False | None |
/oldizer | oldizer_homepage | GET, HEAD, OPTIONS | False | None |
/oldizer/<sport> | oldizer_sport_home | GET, HEAD, OPTIONS | False | None |
/oldizer/<sport>/<string:team> | oldizer_team_home | GET, HEAD, OPTIONS | False | None |
/oldizer/<sport>/<string:team>/<int:year> | oldizer_team_home | GET, HEAD, OPTIONS | False | None |
/oldizer/<sport>/game/<game> | oldizer_game_home | GET, HEAD, OPTIONS | False | None |
/oldizer/<sport>/player/<player> | oldizer_player_home | GET, HEAD, OPTIONS | False | None |
/oldizer/<sport>/player/<player>/<int:year> | oldizer_player_home | GET, HEAD, OPTIONS | False | None |
/oldizer/backtest/<sport>/<game> | oldizer_backtest_from_game | GET, HEAD, OPTIONS, POST | False | None |
/register | security.register | GET, HEAD, OPTIONS, POST | False | None |
/static/<path:filename> | static | GET, HEAD, OPTIONS | False | None |
/touthouse | touthouse_homepage | GET, HEAD, OPTIONS | False | None |
Calls | Total Time (ms) | Per Call (ms) | Cumulative Time (ms) | Per Call (ms) | Function |
---|---|---|---|---|---|
22 | 0.359676 | 0.0163 | 0.36957100000000004 | 0.0168 | ./venv/lib/python3.11/site-packages/werkzeug/urls.py:533(quote) |
25 | 0.037437 | 0.0015 | 0.505615 | 0.0202 | ./venv/lib/python3.11/site-packages/werkzeug/routing/map.py:821(build) |
26 | 0.036248 | 0.0014 | 0.60373 | 0.0232 | ./venv/lib/python3.11/site-packages/jinja2/runtime.py:262(call) |
25 | 0.022096 | 0.0009 | 0.540957 | 0.0216 | ./venv/lib/python3.11/site-packages/flask/app.py:1917(url_for) |
50/25 | 0.022094000000000003 | 0.0004 | 0.44406500000000004 | 0.0178 | ./venv/lib/python3.11/site-packages/werkzeug/routing/map.py:780(_partial_build) |
24/1 | 0.017086 | 0.0007 | 0.7365630000000001 | 0.7366 | {method 'join' of 'str' objects} |
42 | 0.016092000000000002 | 0.0004 | 0.22685000000000002 | 0.0054 | ./templates/shared/base.html:55(block_header) |
32 | 0.015619000000000001 | 0.0005 | 0.022664000000000004 | 0.0007 | ./venv/lib/python3.11/site-packages/markupsafe/__init__.py:122(__new__) |
75 | 0.015149 | 0.0002 | 0.722832 | 0.0096 | ./templates/oddizer/oddizer_sport.html:4(root) |
75 | 0.014002 | 0.0002 | 0.699096 | 0.0093 | ./templates/shared/base.html:4(root) |
31 | 0.013933000000000001 | 0.0004 | 0.039424 | 0.0013 | ./venv/lib/python3.11/site-packages/markupsafe/__init__.py:24(escape) |
22 | 0.013514000000000002 | 0.0006 | 0.386552 | 0.0176 | ./venv/lib/python3.11/site-packages/werkzeug/routing/converters.py:30(to_url) |
111 | 0.013068000000000001 | 0.0001 | 0.013068000000000001 | 0.0001 | {built-in method builtins.hasattr} |
25 | 0.012144 | 0.0005 | 0.410102 | 0.0164 | ./venv/lib/python3.11/site-packages/werkzeug/routing/rules.py:816(build) |
26 | 0.010497000000000001 | 0.0004 | 0.010497000000000001 | 0.0004 | ./venv/lib/python3.11/site-packages/werkzeug/routing/rules.py:845(suitable_for) |
1 | 0.009225 | 0.0092 | 0.034745 | 0.0347 | ./venv/lib/python3.11/site-packages/jinja2/runtime.py:93(new_context) |
2 | 0.009188 | 0.0046 | 0.009188 | 0.0046 | {built-in method posix.stat} |
2 | 0.008034000000000001 | 0.0040 | 0.009698000000000002 | 0.0048 | ./venv/lib/python3.11/site-packages/jinja2/utils.py:508(__getitem__) |
22 | 0.00741 | 0.0003 | 0.00741 | 0.0003 | ./venv/lib/python3.11/site-packages/werkzeug/urls.py:534(<listcomp>) |
52 | 0.00713 | 0.0001 | 0.015060000000000002 | 0.0003 | ./venv/lib/python3.11/site-packages/jinja2/utils.py:90(from_obj) |
25 | 0.006654 | 0.0003 | 0.012463 | 0.0005 | ./venv/lib/python3.11/site-packages/werkzeug/routing/map.py:693(get_host) |
1 | 0.0065840000000000004 | 0.0066 | 0.017974 | 0.0180 | ./venv/lib/python3.11/site-packages/flask/app.py:973(update_template_context) |
88 | 0.0057350000000000005 | 0.0001 | 0.0057350000000000005 | 0.0001 | {built-in method builtins.isinstance} |
26 | 0.005582 | 0.0002 | 0.008286 | 0.0003 | ./venv/lib/python3.11/site-packages/flask/wrappers.py:75(blueprint) |
1 | 0.005180000000000001 | 0.0052 | 0.012103000000000001 | 0.0121 | ./venv/lib/python3.11/site-packages/jinja2/runtime.py:165(__init__) |
6 | 0.00511 | 0.0009 | 0.020739000000000004 | 0.0035 | ./templates/oddizer/oddizer_sport.html:17(block_title) |
32 | 0.004984 | 0.0002 | 0.004984 | 0.0002 | {built-in method __new__ of type object at 0x927000} |
4 | 0.0049700000000000005 | 0.0012 | 0.011451000000000001 | 0.0029 | ./venv/lib/python3.11/site-packages/blinker/base.py:326(receivers_for) |
25 | 0.004557 | 0.0002 | 0.005809000000000001 | 0.0002 | ./venv/lib/python3.11/site-packages/werkzeug/_internal.py:130(_to_str) |
25 | 0.0044610000000000006 | 0.0002 | 0.0044610000000000006 | 0.0002 | ./venv/lib/python3.11/site-packages/flask/app.py:2237(inject_url_defaults) |
12 | 0.00435 | 0.0004 | 0.40872300000000006 | 0.0341 | ./templates/shared/base.html:125(block_footer) |
1 | 0.004309 | 0.0043 | 0.867618 | 0.8676 | ./venv/lib/python3.11/site-packages/flask/templating.py:135(render_template) |
2 | 0.00404 | 0.0020 | 0.006001 | 0.0030 | <collections/__init__.py:1014(__iter__)> |
2 | 0.004029 | 0.0020 | 0.030418000000000004 | 0.0152 | ./venv/lib/python3.11/site-packages/jinja2/environment.py:956(_load_template) |
1 | 0.003917 | 0.0039 | 0.8262200000000001 | 0.8262 | ./venv/lib/python3.11/site-packages/flask/templating.py:127(_render) |
2 | 0.0038380000000000003 | 0.0019 | 0.028563 | 0.0143 | ./venv/lib/python3.11/site-packages/blinker/base.py:204(send) |
12 | 0.0038250000000000007 | 0.0003 | 0.030865000000000004 | 0.0026 | ./templates/oddizer/oddizer_sport.html:45(block_content) |
2 | 0.0037880000000000006 | 0.0019 | 0.008155 | 0.0041 | ./venv/lib/python3.11/site-packages/jinja2/environment.py:485(getattr) |
6 | 0.003637 | 0.0006 | 0.006582000000000001 | 0.0011 | ./venv/lib/python3.11/site-packages/werkzeug/local.py:308(__get__) |
10 | 0.0036190000000000003 | 0.0004 | 0.368087 | 0.0368 | <werkzeug routing>:1(<builder:'/oldizer/<sport>'>) |
13 | 0.0036180000000000006 | 0.0003 | 0.0036180000000000006 | 0.0003 | <collections/__init__.py:1000(__getitem__)> |
2 | 0.0036090000000000002 | 0.0018 | 0.005510000000000001 | 0.0028 | <inspect.py:391(_has_code_flag)> |
52 | 0.003479 | 0.0001 | 0.003479 | 0.0001 | {method 'pop' of 'dict' objects} |
7 | 0.0033870000000000003 | 0.0005 | 0.003888 | 0.0006 | ./venv/lib/python3.11/site-packages/werkzeug/local.py:509(_get_current_object) |
5 | 0.0032340000000000003 | 0.0006 | 0.014105000000000001 | 0.0028 | <werkzeug routing>:1(<builder:'/oddizer/<sport>'>) |
1 | 0.003216 | 0.0032 | 0.775766 | 0.7758 | ./venv/lib/python3.11/site-packages/jinja2/environment.py:1275(render) |
22 | 0.0031650000000000003 | 0.0001 | 0.0031650000000000003 | 0.0001 | ./venv/lib/python3.11/site-packages/werkzeug/routing/map.py:911(<dictcomp>) |
1 | 0.003157 | 0.0032 | 0.006933000000000001 | 0.0069 | ./venv/lib/python3.11/site-packages/flask/helpers.py:662(__get__) |
1 | 0.0030150000000000003 | 0.0030 | 0.0036060000000000003 | 0.0036 | ./venv/lib/python3.11/site-packages/werkzeug/utils.py:97(__get__) |
30 | 0.002857 | 0.0001 | 0.002857 | 0.0001 | {built-in method markupsafe._speedups._escape_inner} |
4 | 0.0027050000000000004 | 0.0007 | 0.004889 | 0.0012 | ./venv/lib/python3.11/site-packages/jinja2/filters.py:213(do_upper) |
26 | 0.0027040000000000002 | 0.0001 | 0.0027040000000000002 | 0.0001 | ./venv/lib/python3.11/site-packages/flask/wrappers.py:60(endpoint) |
1 | 0.0026060000000000002 | 0.0026 | 0.0042780000000000006 | 0.0043 | ./venv/lib/python3.11/site-packages/jinja2/nodes.py:76(__init__) |
2 | 0.002565 | 0.0013 | 0.002565 | 0.0013 | <weakref.py:68(__call__)> |
2 | 0.002543 | 0.0013 | 0.033142000000000005 | 0.0166 | ./venv/lib/python3.11/site-packages/jinja2/environment.py:981(get_template) |
2 | 0.002503 | 0.0013 | 0.011691 | 0.0058 | <frozen genericpath>:53(getmtime) |
2 | 0.002233 | 0.0011 | 0.00529 | 0.0026 | ./venv/lib/python3.11/site-packages/flask_debugtoolbar/panels/template.py:72(is_editor_enabled) |
2 | 0.002184 | 0.0011 | 0.013875 | 0.0069 | ./venv/lib/python3.11/site-packages/jinja2/loaders.py:219(uptodate) |
25 | 0.002153 | 0.0001 | 0.002153 | 0.0001 | ./venv/lib/python3.11/site-packages/werkzeug/routing/map.py:355(update) |
1 | 0.002143 | 0.0021 | 0.028142000000000004 | 0.0281 | ./venv/lib/python3.11/site-packages/jinja2/environment.py:1072(get_or_select_template) |
30 | 0.002073 | 0.0001 | 0.002073 | 0.0001 | {method 'get' of 'dict' objects} |
35 | 0.001951 | 0.0001 | 0.001951 | 0.0001 | {method 'get' of '_contextvars.ContextVar' objects} |
22 | 0.0018620000000000002 | 0.0001 | 0.0018620000000000002 | 0.0001 | {method 'encode' of 'str' objects} |
5 | 0.0018110000000000001 | 0.0004 | 0.008325 | 0.0017 | <werkzeug routing>:1(<builder:'/anotheroddsboard/<sport>'>) |
25 | 0.0017920000000000002 | 0.0001 | 0.0017920000000000002 | 0.0001 | {method 'rstrip' of 'str' objects} |
25 | 0.001763 | 0.0001 | 0.001763 | 0.0001 | {method 'lstrip' of 'str' objects} |
1 | 0.0017430000000000002 | 0.0017 | 0.003917 | 0.0039 | ./venv/lib/python3.11/site-packages/flask_login/utils.py:367(_get_user) |
3 | 0.0017330000000000002 | 0.0006 | 0.0017330000000000002 | 0.0006 | {built-in method builtins.getattr} |
1 | 0.0016920000000000001 | 0.0017 | 0.002474 | 0.0025 | ./venv/lib/python3.11/site-packages/jinja2/runtime.py:128(__getitem__) |
14 | 0.0016840000000000002 | 0.0001 | 0.006212 | 0.0004 | <frozen _collections_abc>:835(__iter__) |
1 | 0.0016530000000000002 | 0.0017 | 0.002695 | 0.0027 | ./venv/lib/python3.11/site-packages/blinker/_utilities.py:42(make_id) |
4 | 0.001623 | 0.0004 | 0.001883 | 0.0005 | ./venv/lib/python3.11/site-packages/markupsafe/__init__.py:64(soft_str) |
1 | 0.0015130000000000002 | 0.0015 | 0.001884 | 0.0019 | <frozen _collections_abc>:786(keys) |
2 | 0.0014930000000000002 | 0.0007 | 0.015368000000000003 | 0.0077 | ./venv/lib/python3.11/site-packages/jinja2/environment.py:1491(is_up_to_date) |
5 | 0.001402 | 0.0003 | 0.001732 | 0.0003 | <inspect.py:300(ismethod)> |
1 | 0.0013930000000000001 | 0.0014 | 0.001523 | 0.0015 | ./venv/lib/python3.11/site-packages/flask/templating.py:21(_default_template_ctx_processor) |
4 | 0.0013610000000000002 | 0.0003 | 0.0013610000000000002 | 0.0003 | {built-in method fromkeys} |
2 | 0.0013520000000000001 | 0.0007 | 0.006051 | 0.0030 | <werkzeug routing>:1(<builder:'/static/<path:filename>'>) |
1 | 0.001342 | 0.0013 | 0.001592 | 0.0016 | ./venv/lib/python3.11/site-packages/flask/app.py:960(select_jinja_autoescape) |
2 | 0.0013410000000000002 | 0.0007 | 0.006772 | 0.0034 | ./venv/lib/python3.11/site-packages/flask_debugtoolbar/panels/template.py:39(_store_template_info) |
2 | 0.0013230000000000002 | 0.0007 | 0.011021 | 0.0055 | ./venv/lib/python3.11/site-packages/jinja2/utils.py:474(get) |
24 | 0.0013210000000000001 | 0.0001 | 0.0013210000000000001 | 0.0001 | {method 'items' of 'dict' objects} |
7 | 0.0013210000000000001 | 0.0002 | 0.0013210000000000001 | 0.0002 | ./venv/lib/python3.11/site-packages/jinja2/runtime.py:229(resolve_or_missing) |
2 | 0.0012640000000000001 | 0.0006 | 0.0012640000000000001 | 0.0006 | {method 'remove' of 'collections.deque' objects} |
1 | 0.001262 | 0.0013 | 0.001703 | 0.0017 | <collections/__init__.py:1023(__bool__)> |
1 | 0.001242 | 0.0012 | 0.035987 | 0.0360 | ./venv/lib/python3.11/site-packages/jinja2/environment.py:1375(new_context) |
1 | 0.001212 | 0.0012 | 0.86883 | 0.8688 | ./app.py:65(oddizer_sport_home) |
1 | 0.001102 | 0.0011 | 0.001102 | 0.0011 | ./venv/lib/python3.11/site-packages/jinja2/runtime.py:184(<dictcomp>) |
6 | 0.001071 | 0.0002 | 0.001071 | 0.0002 | ./venv/lib/python3.11/site-packages/werkzeug/local.py:293(bind_f) |
1 | 0.0010530000000000001 | 0.0011 | 0.00519 | 0.0052 | ./venv/lib/python3.11/site-packages/jinja2/runtime.py:379(__call__) |
8 | 0.0009910000000000001 | 0.0001 | 0.0009910000000000001 | 0.0001 | {method 'update' of 'dict' objects} |
2 | 0.0008920000000000001 | 0.0004 | 0.006402000000000001 | 0.0032 | <inspect.py:409(iscoroutinefunction)> |
1 | 0.0008820000000000001 | 0.0009 | 0.004799 | 0.0048 | ./venv/lib/python3.11/site-packages/flask_login/utils.py:404(_user_context_processor) |
1 | 0.0007820000000000001 | 0.0008 | 0.0007820000000000001 | 0.0008 | ./venv/lib/python3.11/site-packages/jinja2/runtime.py:347(__init__) |
1 | 0.000771 | 0.0008 | 0.000771 | 0.0008 | {method 'copy' of 'set' objects} |
6 | 0.000702 | 0.0001 | 0.000702 | 0.0001 | {method 'setdefault' of 'dict' objects} |
10 | 0.000702 | 0.0001 | 0.000702 | 0.0001 | {method 'append' of 'list' objects} |
1 | 0.000701 | 0.0007 | 0.000701 | 0.0007 | ./venv/lib/python3.11/site-packages/flask_security/core.py:350(_context_processor) |
1 | 0.000671 | 0.0007 | 0.000671 | 0.0007 | ./venv/lib/python3.11/site-packages/jinja2/runtime.py:818(__init__) |
2 | 0.00054 | 0.0003 | 0.0006000000000000001 | 0.0003 | <inspect.py:378(isfunction)> |
1 | 0.00051 | 0.0005 | 0.00051 | 0.0005 | <werkzeug routing>:1(<builder:'/anotheroddsboard'>) |
1 | 0.000471 | 0.0005 | 0.001262 | 0.0013 | ./venv/lib/python3.11/site-packages/flask/wrappers.py:94(blueprints) |
1 | 0.00046100000000000004 | 0.0005 | 0.000491 | 0.0005 | ./venv/lib/python3.11/site-packages/flask/ctx.py:187(has_request_context) |
1 | 0.00045000000000000004 | 0.0005 | 0.00045000000000000004 | 0.0005 | <werkzeug routing>:1(<builder:'/oddizer'>) |
1 | 0.00044100000000000004 | 0.0004 | 0.00044100000000000004 | 0.0004 | {built-in method builtins.any} |
1 | 0.00043 | 0.0004 | 0.00043 | 0.0004 | <werkzeug routing>:1(<builder:'/oldizer'>) |
2 | 0.00041200000000000004 | 0.0002 | 0.00041200000000000004 | 0.0002 | ./templates/shared/base.html:35(block_stylesheet) |
1 | 0.000371 | 0.0004 | 0.000371 | 0.0004 | <frozen _collections_abc>:812(__init__) |
2 | 0.000341 | 0.0002 | 0.000411 | 0.0002 | <functools.py:421(_unwrap_partial)> |
4 | 0.000301 | 0.0001 | 0.000301 | 0.0001 | {method 'upper' of 'str' objects} |
2 | 0.000301 | 0.0002 | 0.000301 | 0.0002 | ./templates/shared/base.html:45(block_javascripts) |
1 | 0.00026 | 0.0003 | 0.00026 | 0.0003 | {method 'disable' of '_lsprof.Profiler' objects} |
1 | 0.00025000000000000006 | 0.0003 | 0.00025000000000000006 | 0.0003 | {method 'endswith' of 'str' objects} |
2 | 0.00021 | 0.0001 | 0.00021 | 0.0001 | {method 'append' of 'collections.deque' objects} |
2 | 0.0002 | 0.0001 | 0.0002 | 0.0001 | {built-in method builtins.iter} |
1 | 0.000191 | 0.0002 | 0.000191 | 0.0002 | {method 'copy' of 'dict' objects} |
2 | 0.00019 | 0.0001 | 0.00019 | 0.0001 | {method '__exit__' of '_thread.lock' objects} |
1 | 0.00018 | 0.0002 | 0.00018 | 0.0002 | ./venv/lib/python3.11/site-packages/flask/ctx.py:100(__contains__) |
1 | 0.00017 | 0.0002 | 0.00017 | 0.0002 | {method '__exit__' of '_thread.RLock' objects} |
1 | 0.000161 | 0.0002 | 0.000161 | 0.0002 | ./venv/lib/python3.11/site-packages/jinja2/runtime.py:125(__init__) |
2 | 0.00016 | 0.0001 | 0.00016 | 0.0001 | ./venv/lib/python3.11/site-packages/markupsafe/__init__.py:133(__html__) |
1 | 0.00012000000000000002 | 0.0001 | 0.00012000000000000002 | 0.0001 | ./venv/lib/python3.11/site-packages/jinja2/runtime.py:905(__bool__) |
1 | 9e-05 | 0.0001 | 9e-05 | 0.0001 | {built-in method builtins.id} |
1 | 8e-05 | 0.0001 | 8e-05 | 0.0001 | {built-in method builtins.callable} |
1 | 7.000000000000001e-05 | 0.0001 | 7.000000000000001e-05 | 0.0001 | ./venv/lib/python3.11/site-packages/jinja2/environment.py:944(join_path) |
Key | Value |
---|---|
_login_user | <flask_security.core.AnonymousUser object at 0x7b3e69703fd0> |
debug_toolbar | <flask_debugtoolbar.DebugToolbarExtension object at 0x7b3eb4fa2190> |
identity | <AnonymousIdentity id="None" auth_type="None" provides=set()> |