Welcome!
Please select your club's homepage to continue.
Please select your club's homepage to continue.
Current Site Packages Directory:
/venv/lib/python3.12/site-packages
| Package | Version | Homepage | Summary |
|---|---|---|---|
| aiofiles | 25.1.0 | None | File support for asyncio. |
| aiohappyeyeballs | 2.6.1 | None | Happy Eyeballs for asyncio |
| aiohttp | 3.13.2 | None | Async http client/server framework (asyncio) |
| aiosignal | 1.4.0 | https://github.com/aio-libs/aiosignal | aiosignal: a list of registered asynchronous callbacks |
| annotated-doc | 0.0.4 | None | Document parameters, class attributes, return types, and variables inline, with Annotated. |
| anyio | 4.12.0 | None | High-level concurrency and networking framework on top of asyncio or Trio |
| attrs | 25.4.0 | None | Classes Without Boilerplate |
| bidict | 0.23.1 | None | The bidirectional mapping library for Python. |
| blinker | 1.9.0 | None | Fast, simple object-to-object and broadcast signaling |
| certifi | 2025.11.12 | https://github.com/certifi/python-certifi | Python package for providing Mozilla's CA Bundle. |
| click | 8.3.1 | None | Composable command line interface toolkit |
| coverage | 7.13.1 | https://github.com/coveragepy/coveragepy | Code coverage measurement for Python |
| docutils | 0.22.3 | None | Docutils -- Python Documentation Utilities |
| fastapi | 0.123.8 | None | FastAPI framework, high performance, easy to learn, fast to code, ready for production |
| Flask | 3.1.2 | None | A simple framework for building complex web applications. |
| Flask-DebugToolbar | 0.16.0 | None | 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-WTF | 1.2.2 | None | Form rendering, validation, and CSRF protection for Flask with WTForms. |
| frozenlist | 1.8.0 | https://github.com/aio-libs/frozenlist | A list-like structure which implements collections.abc.MutableSequence |
| greenlet | 3.2.4 | https://greenlet.readthedocs.io/ | Lightweight in-process concurrent programming |
| gunicorn | 23.0.0 | None | WSGI HTTP Server for UNIX |
| h11 | 0.16.0 | https://github.com/python-hyper/h11 | A pure-Python, bring-your-own-I/O implementation of HTTP/1.1 |
| htmx | 0.0.0 | None | Build web apps with Python, HTMX and Tailwind CSS |
| httpcore | 1.0.9 | None | A minimal low-level HTTP client. |
| httptools | 0.7.1 | None | A collection of framework independent HTTP protocol utils. |
| httpx | 0.28.1 | None | The next generation HTTP client. |
| idna | 3.11 | None | Internationalized Domain Names in Applications (IDNA) |
| ifaddr | 0.2.0 | https://github.com/pydron/ifaddr | Cross-platform network interface and IP address enumeration library |
| iniconfig | 2.3.0 | None | brain-dead simple config-ini parsing |
| itsdangerous | 2.2.0 | None | Safely pass data to untrusted environments and back. |
| Jinja2 | 3.1.6 | None | A very fast and expressive template engine. |
| markdown2 | 2.5.4 | https://github.com/trentm/python-markdown2 | A fast and complete Python implementation of Markdown |
| MarkupSafe | 3.0.3 | None | Safely add untrusted strings to HTML/XML markup. |
| multidict | 6.7.0 | https://github.com/aio-libs/multidict | multidict implementation |
| nicegui | 3.3.1 | None | Create web-based user interfaces with Python. The nice way. |
| orjson | 3.11.4 | None | Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy |
| packaging | 25.0 | None | Core utilities for Python packages |
| pillow | 12.0.0 | None | Python Imaging Library (fork) |
| pip | 25.0.1 | None | The PyPA recommended tool for installing Python packages. |
| pluggy | 1.6.0 | None | plugin and hook calling mechanisms for python |
| propcache | 0.4.1 | https://github.com/aio-libs/propcache | Accelerated property cache |
| psycopg2-binary | 2.9.11 | https://psycopg.org/ | psycopg2 - Python-PostgreSQL Database Adapter |
| pydantic | 1.10.24 | None | Data validation and settings management using python type hints |
| Pygments | 2.19.2 | None | Pygments is a syntax highlighting package written in Python. |
| pytest | 9.0.2 | None | pytest: simple powerful testing with Python |
| pytest-cov | 7.0.0 | None | Pytest plugin for measuring coverage. |
| python-dotenv | 1.2.1 | None | Read key-value pairs from a .env file and set them as environment variables |
| python-engineio | 4.12.3 | None | Engine.IO server and client for Python |
| python-multipart | 0.0.20 | None | A streaming multipart parser for Python |
| python-socketio | 5.15.0 | None | Socket.IO server and client for Python |
| PyYAML | 6.0.3 | https://pyyaml.org/ | YAML parser and emitter for Python |
| redis | 7.0.1 | None | Python client for Redis database and key-value store |
| simple-websocket | 1.1.0 | None | Simple WebSocket server and client for Python |
| SQLAlchemy | 2.0.44 | https://www.sqlalchemy.org | Database Abstraction Library |
| starlette | 0.50.0 | None | The little ASGI library that shines. |
| typing_extensions | 4.15.0 | None | Backported and Experimental Type Hints for Python 3.9+ |
| uv | 0.10.6 | https://pypi.org/project/uv/ | An extremely fast Python package and project manager, written in Rust. |
| uvicorn | 0.38.0 | None | The lightning-fast ASGI server. |
| uvloop | 0.22.1 | None | Fast implementation of asyncio event loop on top of libuv |
| watchfiles | 1.1.1 | https://github.com/samuelcolvin/watchfiles | Simple, modern and high performance file watching and code reload in python. |
| websockets | 15.0.1 | None | An implementation of the WebSocket Protocol (RFC 6455 & 7692) |
| Werkzeug | 3.1.3 | None | The comprehensive WSGI web application library. |
| wsproto | 1.3.2 | None | Pure-Python WebSocket protocol implementation |
| WTForms | 3.2.1 | None | Form validation and rendering for Python web development. |
| yarl | 1.22.0 | https://github.com/aio-libs/yarl | Yet another URL library |
| Resource | Value |
|---|---|
| User CPU time | 18.164 msec |
| System CPU time | 1.065 msec |
| Total CPU time | 19.229 msec |
| Elapsed time | 20.167 msec |
| Context switches | 3 voluntary, 11 involuntary |
| Key | Value |
|---|---|
| HTTP_ACCEPT | */* |
| HTTP_ACCEPT_ENCODING | gzip, br, zstd, deflate |
| HTTP_HOST | club.colaca.ca |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| QUERY_STRING | |
| REMOTE_ADDR | 10.89.0.16 |
| REQUEST_METHOD | GET |
| SCRIPT_NAME | |
| SERVER_NAME | club.colaca.ca |
| SERVER_PORT | 5000 |
| SERVER_PROTOCOL | HTTP/1.1 |
| SERVER_SOFTWARE | gunicorn/23.0.0 |
| View Function | kwargs |
|---|---|
| app.routes.public.landing | None |
| Variable | Value |
|---|
No SESSION data
| Variable | Value |
|---|
| Variable | Value |
|---|
| Key | Value |
|---|---|
| APPLICATION_ROOT | '/' |
| DATABASE | '/app/instance/socc.sqlite' |
| DEBUG | True |
| DEBUG_TB_ENABLED | True |
| DEBUG_TB_HOSTS | () |
| DEBUG_TB_INTERCEPT_REDIRECTS | False |
| 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_ROUTES_HOST | None |
| EXPLAIN_TEMPLATE_LOADING | False |
| MAX_CONTENT_LENGTH | None |
| MAX_COOKIE_SIZE | 4093 |
| MAX_FORM_MEMORY_SIZE | 500000 |
| MAX_FORM_PARTS | 1000 |
| PERMANENT_SESSION_LIFETIME | datetime.timedelta(days=31) |
| PREFERRED_URL_SCHEME | 'http' |
| PROPAGATE_EXCEPTIONS | None |
| PROVIDE_AUTOMATIC_OPTIONS | True |
| SECRET_KEY | 'dev' |
| SECRET_KEY_FALLBACKS | None |
| SEND_FILE_MAX_AGE_DEFAULT | None |
| SERVER_NAME | 'club.colaca.ca' |
| SESSION_COOKIE_DOMAIN | None |
| SESSION_COOKIE_HTTPONLY | True |
| SESSION_COOKIE_NAME | 'session' |
| SESSION_COOKIE_PARTITIONED | False |
| 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 |
| TRUSTED_HOSTS | None |
| USE_X_SENDFILE | False |
| Variable | Value |
|---|---|
| current_user | <flask_login.mixins.AnonymousUserMixin object at 0x7ab0ffa4a810> |
| g | <flask.g of 'app'> |
| g_org | None |
| orgs | [{'name': 'Calgary Foothills Wanderers', 'slug': 'foothills'}, {'name': 'Calgary Urban Hikers', 'slug': 'calgary'}, {'name': 'Vancouver West Enders', 'slug': 'vancouver'}] |
| request | <Request 'https://club.colaca.ca/' [GET]> |
| session | <SecureCookieSession {}> |
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 |
|---|---|---|---|---|
| / | public.landing | GET, HEAD, OPTIONS | False | None |
| /<org_slug> | public.home | GET, HEAD, OPTIONS | False | None |
| /<org_slug>/about | public.about | GET, HEAD, OPTIONS | False | None |
| /<org_slug>/admin/ | org_admin.index | GET, HEAD, OPTIONS | False | None |
| /<org_slug>/admin/categories | org_admin.list_categories | GET, HEAD, OPTIONS | False | None |
| /<org_slug>/admin/categories/<int:id>/edit | org_admin.edit_category | GET, HEAD, OPTIONS, POST | False | None |
| /<org_slug>/admin/categories/create | org_admin.create_category | GET, HEAD, OPTIONS, POST | False | None |
| /<org_slug>/admin/registration/<int:registration_id>/cancel | org_admin.cancel_member_registration | OPTIONS, POST | False | None |
| /<org_slug>/admin/trails | org_admin.list_trails | GET, HEAD, OPTIONS | False | None |
| /<org_slug>/admin/trails/<int:id>/edit | org_admin.edit_trail | GET, HEAD, OPTIONS, POST | False | None |
| /<org_slug>/admin/trails/create | org_admin.create_trail | GET, HEAD, OPTIONS, POST | False | None |
| /<org_slug>/admin/trip/<int:trip_id>/registrations | org_admin.view_trip_registrations | GET, HEAD, OPTIONS | False | None |
| /<org_slug>/admin/trips | org_admin.list_trips | GET, HEAD, OPTIONS | False | None |
| /<org_slug>/admin/trips/<int:id>/delete | org_admin.delete_trip | OPTIONS, POST | False | None |
| /<org_slug>/admin/trips/<int:id>/edit | org_admin.edit_trip | GET, HEAD, OPTIONS, POST | False | None |
| /<org_slug>/admin/trips/create | org_admin.create_trip | GET, HEAD, OPTIONS, POST | False | None |
| /<org_slug>/admin/users | org_admin.list_users | GET, HEAD, OPTIONS | False | None |
| /<org_slug>/admin/users/<int:id>/delete | org_admin.delete_user | OPTIONS, POST | False | None |
| /<org_slug>/admin/users/<int:id>/edit | org_admin.edit_user | GET, HEAD, OPTIONS, POST | False | None |
| /<org_slug>/admin/users/create | org_admin.create_user | GET, HEAD, OPTIONS, POST | False | None |
| /<org_slug>/check_status/<int:attempt_id> | register.check_status | GET, HEAD, OPTIONS | False | None |
| /<org_slug>/contact | public.contact | GET, HEAD, OPTIONS, POST | False | None |
| /<org_slug>/register/<int:id> | register.register_for_trip | GET, HEAD, OPTIONS | False | None |
| /<org_slug>/register_attempt | register.register_attempt | OPTIONS, POST | False | None |
| /<org_slug>/safety | public.safety | GET, HEAD, OPTIONS | False | None |
| /<org_slug>/trip/<int:id> | public.trip_detail | GET, HEAD, OPTIONS | False | None |
| /<org_slug>/trips | public.trips | GET, HEAD, OPTIONS | False | None |
| /admin/dashboard | admin_dashboard | GET, HEAD, OPTIONS | False | None |
| /auth/<org_slug>/login | auth.login | GET, HEAD, OPTIONS, POST | False | None |
| /auth/<org_slug>/logout | auth.logout | GET, HEAD, OPTIONS | False | None |
| /health | health | GET, HEAD, OPTIONS | False | None |
| /member/<org_slug>/registration/<int:registration_id>/cancel | member.cancel_registration | OPTIONS, POST | False | None |
| /member/<org_slug>/registration/<int:registration_id>/change | member.change_trail | GET, HEAD, OPTIONS, POST | False | None |
| /member/<org_slug>/registrations | member.my_registrations | GET, HEAD, OPTIONS | False | None |
| /member/<org_slug>/trip/<int:trip_id>/roster | member.trip_roster | GET, HEAD, OPTIONS | False | None |
| /site-admin/orgs | site_admin.list_orgs | GET, HEAD, OPTIONS | False | None |
| /site-admin/orgs/<int:id>/edit | site_admin.edit_org | GET, HEAD, OPTIONS, POST | False | None |
| /site-admin/orgs/create | site_admin.create_org | GET, HEAD, OPTIONS, POST | False | None |
| /site-admin/switch-org/<int:org_id> | site_admin.switch_org | GET, HEAD, OPTIONS | False | None |
| /static/<path:filename> | static | GET, HEAD, OPTIONS | False | None |
| Key | Value |
|---|---|
| _login_user | <flask_login.mixins.AnonymousUserMixin object at 0x7ab0ffa4a810> |
| db | <sqlite3.Connection object at 0x7ab0ff86b4c0> |
| debug_toolbar | <flask_debugtoolbar.DebugToolbarExtension object at 0x7ab0ffdbb140> |