| 20 | [70, 46, 80, 19, 13, 47, 77, 23, 34, 60, 9, 12, 30, 48, 57, 64, 36, 55, 45, 2] |
| 15 | [34, 19, 5, 47, 80, 60, 12, 2, 45, 23, 71, 37, 63, 3, 4, 22, 70, 36, 13, 9] |
| 10 | [34, 5, 51, 71, 48, 36, 58, 73, 12, 80, 47, 3, 4, 32, 22, 11, 19, 6, 37, 61] |
| 5 | [12, 58, 80, 34, 44, 51, 61, 36, 32, 25, 48, 6, 3, 5, 73, 43, 15, 21, 71, 4] |
| Hottest Numbers | {80, 34, 36, 12} |
Current Site Packages Directory:
/home/keno/keno/venv-3.12.11/lib64/python3.9/site-packages
| Package | Version | Homepage | Summary |
|---|---|---|---|
| apricot-select | 0.6.1 | http://pypi.python.org/pypi/apricot-select/ | apricot is a package for submodular selection of representative sets for machine learning models. |
| apricot-select | 0.6.1 | http://pypi.python.org/pypi/apricot-select/ | apricot is a package for submodular selection of representative sets for machine learning models. |
| arbiter | 1.1.2 | https://github.com/rastern/arbiter | Lightweight Data Handling Library |
| arbiter | 1.1.2 | https://github.com/rastern/arbiter | Lightweight Data Handling Library |
| blinker | 1.9.0 | None | Fast, simple object-to-object and broadcast signaling |
| blinker | 1.9.0 | None | Fast, simple object-to-object and broadcast signaling |
| certifi | 2024.12.14 | https://github.com/certifi/python-certifi | Python package for providing Mozilla's CA Bundle. |
| certifi | 2024.12.14 | https://github.com/certifi/python-certifi | Python package for providing Mozilla's CA Bundle. |
| charset-normalizer | 3.3.2 | https://github.com/Ousret/charset_normalizer | The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet. |
| charset-normalizer | 3.3.2 | 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 |
| click | 8.1.8 | None | Composable command line interface toolkit |
| contourpy | 1.3.0 | None | Python library for calculating contours of 2D quadrilateral grids |
| contourpy | 1.3.0 | None | Python library for calculating contours of 2D quadrilateral grids |
| cycler | 0.12.1 | None | Composable style cycles |
| cycler | 0.12.1 | None | Composable style cycles |
| daemon | 1.2 | None | None |
| daemon | 1.2 | None | None |
| distlib | 0.3.8 | https://github.com/pypa/distlib | Distribution utilities |
| distlib | 0.3.8 | https://github.com/pypa/distlib | Distribution utilities |
| dominate | 2.9.1 | None | Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API. |
| dominate | 2.9.1 | None | Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API. |
| duckdb | 1.4.3 | None | DuckDB in-process database |
| duckdb | 1.4.3 | None | DuckDB in-process database |
| exceptiongroup | 1.3.1 | None | Backport of PEP 654 (exception groups) |
| exceptiongroup | 1.3.1 | None | Backport of PEP 654 (exception groups) |
| filelock | 3.13.1 | None | A platform independent file lock. |
| filelock | 3.13.1 | None | A platform independent file lock. |
| Flask | 3.1.2 | None | A simple framework for building complex web applications. |
| Flask | 3.1.2 | None | A simple framework for building complex web applications. |
| Flask-Bootstrap | 3.3.7.1 | http://github.com/mbr/flask-bootstrap | An extension that includes Bootstrap in your project, without any boilerplate code. |
| Flask-Bootstrap | 3.3.7.1 | http://github.com/mbr/flask-bootstrap | An extension that includes Bootstrap in your project, without any boilerplate code. |
| Flask-DebugToolbar | 0.16.0 | None | A toolbar overlay for debugging Flask applications. |
| Flask-DebugToolbar | 0.16.0 | None | A toolbar overlay for debugging Flask applications. |
| Flask-WTF | 1.2.2 | None | Form rendering, validation, and CSRF protection for Flask with WTForms. |
| Flask-WTF | 1.2.2 | None | Form rendering, validation, and CSRF protection for Flask with WTForms. |
| fonttools | 4.60.1 | http://github.com/fonttools/fonttools | Tools to manipulate font files |
| fonttools | 4.60.1 | http://github.com/fonttools/fonttools | Tools to manipulate font files |
| fsspec | 2024.12.0 | None | File-system specification |
| fsspec | 2024.12.0 | None | File-system specification |
| gunicorn | 23.0.0 | None | WSGI HTTP Server for UNIX |
| gunicorn | 23.0.0 | None | WSGI HTTP Server for UNIX |
| hmmlearn | 0.3.3 | None | Hidden Markov Models in Python with scikit-learn like API |
| hmmlearn | 0.3.3 | None | Hidden Markov Models in Python with scikit-learn like API |
| idna | 3.6 | None | Internationalized Domain Names in Applications (IDNA) |
| idna | 3.6 | None | Internationalized Domain Names in Applications (IDNA) |
| importlib_metadata | 8.7.0 | None | Read metadata from Python packages |
| importlib_metadata | 8.7.0 | None | Read metadata from Python packages |
| importlib_resources | 6.5.2 | None | Read resources from Python packages |
| importlib_resources | 6.5.2 | None | Read resources from Python packages |
| iniconfig | 2.0.0 | None | brain-dead simple config-ini parsing |
| iniconfig | 2.0.0 | None | brain-dead simple config-ini parsing |
| itsdangerous | 2.2.0 | None | Safely pass data to untrusted environments and back. |
| 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. |
| Jinja2 | 3.1.5 | None | A very fast and expressive template engine. |
| joblib | 1.4.2 | None | Lightweight pipelining with Python functions |
| joblib | 1.4.2 | None | Lightweight pipelining with Python functions |
| kiwisolver | 1.4.7 | None | A fast implementation of the Cassowary constraint solver |
| kiwisolver | 1.4.7 | None | A fast implementation of the Cassowary constraint solver |
| linkify-it-py | 2.0.3 | None | Links recognition library with FULL unicode support. |
| linkify-it-py | 2.0.3 | None | Links recognition library with FULL unicode support. |
| llvmlite | 0.43.0 | http://llvmlite.readthedocs.io | lightweight wrapper around basic LLVM functionality |
| llvmlite | 0.43.0 | http://llvmlite.readthedocs.io | lightweight wrapper around basic LLVM functionality |
| markdown-it-py | 3.0.0 | None | Python port of markdown-it. Markdown parsing, done right! |
| markdown-it-py | 3.0.0 | None | Python port of markdown-it. Markdown parsing, done right! |
| MarkupSafe | 3.0.2 | None | Safely add untrusted strings to HTML/XML markup. |
| MarkupSafe | 3.0.2 | None | Safely add untrusted strings to HTML/XML markup. |
| matplotlib | 3.9.4 | None | Python plotting package |
| matplotlib | 3.9.4 | None | Python plotting package |
| mdit-py-plugins | 0.4.2 | None | Collection of plugins for markdown-it-py |
| mdit-py-plugins | 0.4.2 | None | Collection of plugins for markdown-it-py |
| mdurl | 0.1.2 | None | Markdown URL utilities |
| mdurl | 0.1.2 | None | Markdown URL utilities |
| mpmath | 1.3.0 | http://mpmath.org/ | Python library for arbitrary-precision floating-point arithmetic |
| mpmath | 1.3.0 | http://mpmath.org/ | Python library for arbitrary-precision floating-point arithmetic |
| multimethod | 1.11.2 | None | Multiple argument dispatching. |
| multimethod | 1.11.2 | None | Multiple argument dispatching. |
| mysql | 0.0.3 | https://github.com/valhallasw/virtual-mysql-pypi-package | Virtual package for MySQL-python |
| mysql | 0.0.3 | https://github.com/valhallasw/virtual-mysql-pypi-package | Virtual package for MySQL-python |
| mysql-connector-python | 8.3.0 | http://dev.mysql.com/doc/connector-python/en/index.html | MySQL driver written in Python |
| mysql-connector-python | 8.3.0 | http://dev.mysql.com/doc/connector-python/en/index.html | MySQL driver written in Python |
| mysqlclient | 2.2.4 | None | Python interface to MySQL |
| mysqlclient | 2.2.4 | None | Python interface to MySQL |
| networkx | 3.2 | None | Python package for creating and manipulating graphs and networks |
| networkx | 3.2 | None | Python package for creating and manipulating graphs and networks |
| nose | 1.3.7 | http://readthedocs.org/docs/nose/ | nose extends unittest to make testing easier |
| nose | 1.3.7 | http://readthedocs.org/docs/nose/ | nose extends unittest to make testing easier |
| numba | 0.60.0 | https://numba.pydata.org | compiling Python code using LLVM |
| numba | 0.60.0 | https://numba.pydata.org | compiling Python code using LLVM |
| numpy | 1.26.4 | https://numpy.org | Fundamental package for array computing in Python |
| numpy | 1.26.4 | https://numpy.org | Fundamental package for array computing in Python |
| nvidia-cublas-cu12 | 12.1.3.1 | https://developer.nvidia.com/cuda-zone | CUBLAS native runtime libraries |
| nvidia-cublas-cu12 | 12.1.3.1 | https://developer.nvidia.com/cuda-zone | CUBLAS native runtime libraries |
| nvidia-cuda-cupti-cu12 | 12.1.105 | https://developer.nvidia.com/cuda-zone | CUDA profiling tools runtime libs. |
| nvidia-cuda-cupti-cu12 | 12.1.105 | https://developer.nvidia.com/cuda-zone | CUDA profiling tools runtime libs. |
| nvidia-cuda-nvrtc-cu12 | 12.1.105 | https://developer.nvidia.com/cuda-zone | NVRTC native runtime libraries |
| nvidia-cuda-nvrtc-cu12 | 12.1.105 | https://developer.nvidia.com/cuda-zone | NVRTC native runtime libraries |
| nvidia-cuda-runtime-cu12 | 12.1.105 | https://developer.nvidia.com/cuda-zone | CUDA Runtime native Libraries |
| nvidia-cuda-runtime-cu12 | 12.1.105 | https://developer.nvidia.com/cuda-zone | CUDA Runtime native Libraries |
| nvidia-cudnn-cu12 | 8.9.2.26 | https://developer.nvidia.com/cuda-zone | cuDNN runtime libraries |
| nvidia-cudnn-cu12 | 8.9.2.26 | https://developer.nvidia.com/cuda-zone | cuDNN runtime libraries |
| nvidia-cufft-cu12 | 11.0.2.54 | https://developer.nvidia.com/cuda-zone | CUFFT native runtime libraries |
| nvidia-cufft-cu12 | 11.0.2.54 | https://developer.nvidia.com/cuda-zone | CUFFT native runtime libraries |
| nvidia-curand-cu12 | 10.3.2.106 | https://developer.nvidia.com/cuda-zone | CURAND native runtime libraries |
| nvidia-curand-cu12 | 10.3.2.106 | https://developer.nvidia.com/cuda-zone | CURAND native runtime libraries |
| nvidia-cusolver-cu12 | 11.4.5.107 | https://developer.nvidia.com/cuda-zone | CUDA solver native runtime libraries |
| nvidia-cusolver-cu12 | 11.4.5.107 | https://developer.nvidia.com/cuda-zone | CUDA solver native runtime libraries |
| nvidia-cusparse-cu12 | 12.1.0.106 | https://developer.nvidia.com/cuda-zone | CUSPARSE native runtime libraries |
| nvidia-cusparse-cu12 | 12.1.0.106 | https://developer.nvidia.com/cuda-zone | CUSPARSE native runtime libraries |
| nvidia-nccl-cu12 | 2.19.3 | https://developer.nvidia.com/cuda-zone | NVIDIA Collective Communication Library (NCCL) Runtime |
| nvidia-nccl-cu12 | 2.19.3 | https://developer.nvidia.com/cuda-zone | NVIDIA Collective Communication Library (NCCL) Runtime |
| nvidia-nvjitlink-cu12 | 12.9.86 | https://developer.nvidia.com/cuda-zone | Nvidia JIT LTO Library |
| nvidia-nvjitlink-cu12 | 12.9.86 | https://developer.nvidia.com/cuda-zone | Nvidia JIT LTO Library |
| nvidia-nvtx-cu12 | 12.1.105 | https://developer.nvidia.com/cuda-zone | NVIDIA Tools Extension |
| nvidia-nvtx-cu12 | 12.1.105 | https://developer.nvidia.com/cuda-zone | NVIDIA Tools Extension |
| packaging | 25.0 | None | Core utilities for Python packages |
| packaging | 25.0 | None | Core utilities for Python packages |
| pandas | 2.3.3 | None | Powerful data structures for data analysis, time series, and statistics |
| pandas | 2.3.3 | None | Powerful data structures for data analysis, time series, and statistics |
| patsy | 0.5.6 | https://github.com/pydata/patsy | A Python package for describing statistical models and for building design matrices. |
| patsy | 0.5.6 | https://github.com/pydata/patsy | A Python package for describing statistical models and for building design matrices. |
| pillow | 11.3.0 | None | Python Imaging Library (Fork) |
| pillow | 11.3.0 | None | Python Imaging Library (Fork) |
| pip | 25.3 | None | The PyPA recommended tool for installing Python packages. |
| pip | 25.3 | None | The PyPA recommended tool for installing Python packages. |
| pipenv | 2023.12.1 | None | Python Development Workflow for Humans. |
| pipenv | 2023.12.1 | None | Python Development Workflow for Humans. |
| platformdirs | 4.2.0 | None | A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir". |
| platformdirs | 4.2.0 | None | A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir". |
| pluggy | 1.4.0 | https://github.com/pytest-dev/pluggy | plugin and hook calling mechanisms for python |
| pluggy | 1.4.0 | https://github.com/pytest-dev/pluggy | plugin and hook calling mechanisms for python |
| pomegranate | 1.1.2 | https://github.com/jmschrei/torchegranate | A PyTorch implementation of probabilistic models. |
| pomegranate | 1.1.2 | https://github.com/jmschrei/torchegranate | A PyTorch implementation of probabilistic models. |
| prompt-toolkit | 3.0.36 | https://github.com/prompt-toolkit/python-prompt-toolkit | Library for building powerful interactive command lines in Python |
| prompt-toolkit | 3.0.36 | https://github.com/prompt-toolkit/python-prompt-toolkit | Library for building powerful interactive command lines in Python |
| pyarrow | 21.0.0 | None | Python library for Apache Arrow |
| pyarrow | 21.0.0 | None | Python library for Apache Arrow |
| Pygments | 2.19.2 | None | Pygments is a syntax highlighting package written in Python. |
| Pygments | 2.19.2 | None | Pygments is a syntax highlighting package written in Python. |
| pyparsing | 3.2.5 | None | pyparsing - Classes and methods to define and execute parsing grammars |
| pyparsing | 3.2.5 | None | pyparsing - Classes and methods to define and execute parsing grammars |
| pyperclip | 1.11.0 | None | A cross-platform clipboard module for Python. (Only handles plain text for now.) |
| pyperclip | 1.11.0 | None | A cross-platform clipboard module for Python. (Only handles plain text for now.) |
| pytesseract | 0.3.10 | https://github.com/madmaze/pytesseract | Python-tesseract is a python wrapper for Google's Tesseract-OCR |
| pytesseract | 0.3.10 | https://github.com/madmaze/pytesseract | Python-tesseract is a python wrapper for Google's Tesseract-OCR |
| pytest | 8.1.1 | None | pytest: simple powerful testing with Python |
| pytest | 8.1.1 | None | pytest: simple powerful testing with Python |
| python-dateutil | 2.8.2 | https://github.com/dateutil/dateutil | Extensions to the standard Python datetime module |
| python-dateutil | 2.8.2 | https://github.com/dateutil/dateutil | Extensions to the standard Python datetime module |
| pytz | 2024.1 | http://pythonhosted.org/pytz | World timezone definitions, modern and historical |
| pytz | 2024.1 | http://pythonhosted.org/pytz | World timezone definitions, modern and historical |
| questionary | 2.0.1 | https://github.com/tmbo/questionary | Python library to build pretty command line user prompts ⭐️ |
| questionary | 2.0.1 | https://github.com/tmbo/questionary | Python library to build pretty command line user prompts ⭐️ |
| requests | 2.31.0 | https://requests.readthedocs.io | Python HTTP for Humans. |
| requests | 2.31.0 | https://requests.readthedocs.io | Python HTTP for Humans. |
| rich | 14.2.0 | None | Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal |
| rich | 14.2.0 | None | Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal |
| rich-click | 1.8.5 | None | Format click help output nicely with rich |
| rich-click | 1.8.5 | None | Format click help output nicely with rich |
| schedule | 1.2.1 | https://github.com/dbader/schedule | Job scheduling for humans. |
| schedule | 1.2.1 | https://github.com/dbader/schedule | Job scheduling for humans. |
| scikit-learn | 1.6.0 | None | A set of python modules for machine learning and data mining |
| scikit-learn | 1.6.0 | None | A set of python modules for machine learning and data mining |
| scipy | 1.13.1 | https://scipy.org/ | Fundamental algorithms for scientific computing in Python |
| scipy | 1.13.1 | https://scipy.org/ | Fundamental algorithms for scientific computing in Python |
| setuptools | 69.2.0 | https://github.com/pypa/setuptools | Easily download, build, install, upgrade, and uninstall Python packages |
| setuptools | 69.2.0 | https://github.com/pypa/setuptools | Easily download, build, install, upgrade, and uninstall Python packages |
| shandy-sqlfmt | 0.28.2 | None | sqlfmt formats your dbt SQL files so you don't have to. |
| shandy-sqlfmt | 0.28.2 | None | sqlfmt formats your dbt SQL files so you don't have to. |
| six | 1.17.0 | https://github.com/benjaminp/six | Python 2 and 3 compatibility utilities |
| six | 1.17.0 | https://github.com/benjaminp/six | Python 2 and 3 compatibility utilities |
| sympy | 1.14.0 | https://sympy.org | Computer algebra system (CAS) in Python |
| sympy | 1.14.0 | https://sympy.org | Computer algebra system (CAS) in Python |
| textual | 0.89.1 | https://github.com/Textualize/textual | Modern Text User Interface framework |
| textual | 0.89.1 | https://github.com/Textualize/textual | Modern Text User Interface framework |
| textual-fastdatatable | 0.12.0 | None | A performance-focused reimplementation of Textual's DataTable widget, with a pluggable data storage backend. |
| textual-fastdatatable | 0.12.0 | None | A performance-focused reimplementation of Textual's DataTable widget, with a pluggable data storage backend. |
| textual-textarea | 0.15.0 | https://github.com/tconbeer/textual-textarea | A text area (multi-line input) with syntax highlighting for Textual |
| textual-textarea | 0.15.0 | https://github.com/tconbeer/textual-textarea | A text area (multi-line input) with syntax highlighting for Textual |
| threadpoolctl | 3.6.0 | https://github.com/joblib/threadpoolctl | threadpoolctl |
| threadpoolctl | 3.6.0 | https://github.com/joblib/threadpoolctl | threadpoolctl |
| tomli | 2.3.0 | None | A lil' TOML parser |
| tomli | 2.3.0 | None | A lil' TOML parser |
| tomlkit | 0.13.3 | None | Style preserving TOML library |
| tomlkit | 0.13.3 | None | Style preserving TOML library |
| torch | 2.2.2 | https://pytorch.org/ | Tensors and Dynamic neural networks in Python with strong GPU acceleration |
| torch | 2.2.2 | https://pytorch.org/ | Tensors and Dynamic neural networks in Python with strong GPU acceleration |
| tqdm | 4.67.1 | None | Fast, Extensible Progress Meter |
| tqdm | 4.67.1 | None | Fast, Extensible Progress Meter |
| tree-sitter | 0.23.2 | None | Python bindings to the Tree-sitter parsing library |
| tree-sitter | 0.23.2 | None | Python bindings to the Tree-sitter parsing library |
| tree-sitter-bash | 0.23.3 | None | Bash grammar for tree-sitter |
| tree-sitter-bash | 0.23.3 | None | Bash grammar for tree-sitter |
| tree-sitter-css | 0.23.2 | None | CSS grammar for tree-sitter |
| tree-sitter-css | 0.23.2 | None | CSS grammar for tree-sitter |
| tree-sitter-go | 0.23.4 | None | Go grammar for tree-sitter |
| tree-sitter-go | 0.23.4 | None | Go grammar for tree-sitter |
| tree-sitter-html | 0.23.2 | None | HTML grammar for tree-sitter |
| tree-sitter-html | 0.23.2 | None | HTML grammar for tree-sitter |
| tree-sitter-java | 0.23.5 | None | Java grammar for tree-sitter |
| tree-sitter-java | 0.23.5 | None | Java grammar for tree-sitter |
| tree-sitter-javascript | 0.23.1 | None | JavaScript grammar for tree-sitter |
| tree-sitter-javascript | 0.23.1 | None | JavaScript grammar for tree-sitter |
| tree-sitter-json | 0.24.8 | None | JSON grammar for tree-sitter |
| tree-sitter-json | 0.24.8 | None | JSON grammar for tree-sitter |
| tree-sitter-markdown | 0.5.1 | None | Markdown grammar for tree-sitter |
| tree-sitter-markdown | 0.5.1 | None | Markdown grammar for tree-sitter |
| tree-sitter-python | 0.23.6 | None | Python grammar for tree-sitter |
| tree-sitter-python | 0.23.6 | None | Python grammar for tree-sitter |
| tree-sitter-regex | 0.24.3 | None | Regex grammar for tree-sitter |
| tree-sitter-regex | 0.24.3 | None | Regex grammar for tree-sitter |
| tree-sitter-rust | 0.24.0 | None | Rust grammar for tree-sitter |
| tree-sitter-rust | 0.24.0 | None | Rust grammar for tree-sitter |
| tree-sitter-sql | 0.3.7 | None | Tree-sitter Grammar for SQL |
| tree-sitter-sql | 0.3.7 | None | Tree-sitter Grammar for SQL |
| tree-sitter-toml | 0.7.0 | None | TOML grammar for tree-sitter |
| tree-sitter-toml | 0.7.0 | None | TOML grammar for tree-sitter |
| tree-sitter-xml | 0.7.0 | None | XML & DTD grammars for tree-sitter |
| tree-sitter-xml | 0.7.0 | None | XML & DTD grammars for tree-sitter |
| tree-sitter-yaml | 0.7.0 | None | YAML grammar for tree-sitter |
| tree-sitter-yaml | 0.7.0 | None | YAML grammar for tree-sitter |
| triton | 2.2.0 | https://github.com/openai/triton/ | A language and compiler for custom Deep Learning operations |
| triton | 2.2.0 | https://github.com/openai/triton/ | A language and compiler for custom Deep Learning operations |
| typing_extensions | 4.12.2 | None | Backported and Experimental Type Hints for Python 3.8+ |
| typing_extensions | 4.12.2 | None | Backported and Experimental Type Hints for Python 3.8+ |
| tzdata | 2024.1 | https://github.com/python/tzdata | Provider of IANA time zone data |
| tzdata | 2024.1 | https://github.com/python/tzdata | Provider of IANA time zone data |
| uc-micro-py | 1.0.3 | None | Micro subset of unicode data files for linkify-it-py projects. |
| uc-micro-py | 1.0.3 | None | Micro subset of unicode data files for linkify-it-py projects. |
| umsg | 1.0.4 | UNKNOWN | _msg Library Logging |
| umsg | 1.0.4 | UNKNOWN | _msg Library Logging |
| urllib3 | 2.2.1 | None | HTTP library with thread-safe connection pooling, file post, and more. |
| urllib3 | 2.2.1 | None | HTTP library with thread-safe connection pooling, file post, and more. |
| virtualenv | 20.25.1 | None | Virtual Python Environment builder |
| virtualenv | 20.25.1 | None | Virtual Python Environment builder |
| visidata | 3.3 | https://visidata.org | terminal interface for exploring and arranging tabular data |
| visidata | 3.3 | https://visidata.org | terminal interface for exploring and arranging tabular data |
| visitor | 0.1.3 | http://github.com/mbr/visitor | A tiny pythonic visitor implementation. |
| visitor | 0.1.3 | http://github.com/mbr/visitor | A tiny pythonic visitor implementation. |
| wcwidth | 0.2.14 | https://github.com/jquast/wcwidth | Measures the displayed width of unicode strings in a terminal |
| wcwidth | 0.2.14 | https://github.com/jquast/wcwidth | Measures the displayed width of unicode strings in a terminal |
| Werkzeug | 3.1.4 | None | The comprehensive WSGI web application library. |
| Werkzeug | 3.1.4 | None | The comprehensive WSGI web application library. |
| WTForms | 3.2.1 | None | Form validation and rendering for Python web development. |
| WTForms | 3.2.1 | None | Form validation and rendering for Python web development. |
| zipp | 3.23.0 | None | Backport of pathlib-compatible object wrapper for zip files |
| zipp | 3.23.0 | None | Backport of pathlib-compatible object wrapper for zip files |
| Resource | Value |
|---|---|
| User CPU time | 11.946 msec |
| System CPU time | 0.000 msec |
| Total CPU time | 11.946 msec |
| Elapsed time | 15.173 msec |
| Context switches | 0 voluntary, 103 involuntary |
| Key | Value |
|---|---|
| HTTP_ACCEPT | */* |
| HTTP_ACCEPT_ENCODING | gzip, br, zstd, deflate |
| HTTP_CONNECTION | close |
| HTTP_HOST | keno.beallit.com |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| QUERY_STRING | |
| REMOTE_ADDR | |
| REQUEST_METHOD | GET |
| SCRIPT_NAME | |
| SERVER_NAME | keno.beallit.com |
| SERVER_PORT | 443 |
| SERVER_PROTOCOL | HTTP/1.0 |
| SERVER_SOFTWARE | gunicorn/23.0.0 |
| View Function | kwargs |
|---|---|
| rest_calls.show_markov | None |
| Variable | Value |
|---|
No SESSION data
| Variable | Value |
|---|
| Variable | Value |
|---|
| Key | Value |
|---|---|
| APPLICATION_ROOT | '/' |
| BOOTSTRAP_CDN_FORCE_SSL | False |
| BOOTSTRAP_LOCAL_SUBDOMAIN | None |
| BOOTSTRAP_QUERYSTRING_REVVING | True |
| BOOTSTRAP_SERVE_LOCAL | False |
| BOOTSTRAP_USE_MINIFIED | True |
| 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_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 | 3600 |
| PREFERRED_URL_SCHEME | 'http' |
| PROPAGATE_EXCEPTIONS | None |
| PROVIDE_AUTOMATIC_OPTIONS | True |
| SECRET_KEY | 'f480de0b45a51dedcacb9a6db76bfab81c6ccdd78536d5a4' |
| SECRET_KEY_FALLBACKS | None |
| SEND_FILE_MAX_AGE_DEFAULT | None |
| SERVER_NAME | None |
| 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 |
|---|---|
| datetime | <module 'datetime' from '/usr/lib64/python3.9/datetime.py'> |
| form_name | 'Markov - Most Popular Numbers' |
| g | <flask.g of 'rest_calls'> |
| get_time_hhmi | <function get_time_hhmi at 0x7f20dbae89d0> |
| hot_numbers | {80, 34, 36, 12} |
| keno | <keno.Keno object at 0x7f20db154f10> |
| popular_numbers_10 | [34, 5, 51, 71, 48, 36, 58, 73, 12, 80, 47, 3, 4, 32, 22, 11, 19, 6, 37, 61] |
| popular_numbers_15 | [34, 19, 5, 47, 80, 60, 12, 2, 45, 23, 71, 37, 63, 3, 4, 22, 70, 36, 13, 9] |
| popular_numbers_20 | [70, 46, 80, 19, 13, 47, 77, 23, 34, 60, 9, 12, 30, 48, 57, 64, 36, 55, 45, 2] |
| popular_numbers_5 | [12, 58, 80, 34, 44, 51, 61, 36, 32, 25, 48, 6, 3, 5, 73, 43, 15, 21, 71, 4] |
| request | <Request 'https://keno.beallit.com/markov' [GET]> |
| round | <built-in function round> |
| session | <SecureCookieSession {}> |
| str | <class 'str'> |
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.
| Level | Time | Message | Location |
|---|---|---|---|
| DEBUG | 2026-02-14 03:40:52.500852 | setting end_game_num = None | ./keno.py:448 |
| DEBUG | 2026-02-14 03:40:52.501349 | setting tmp_output_file_name=output.csv | ./keno.py:427 |
| DEBUG | 2026-02-14 03:40:52.501406 | test_db_name set to keno_test | ./keno.py:376 |
| INFO | 2026-02-14 03:40:52.501453 | setting num_games_to_process=20 | ./keno.py:419 |
| DEBUG | 2026-02-14 03:40:52.501492 | {'self': <keno.Keno object at 0x7f20da5e8400>} | ./keno.py:328 |
| DEBUG | 2026-02-14 03:40:52.501550 | {'p_num_games_to_play': 20, 'p_num_from_bottom': 20, 'keno': <keno.Keno object at 0x7f20da5e8400>} | ./keno_analytics.py:480 |
| DEBUG | 2026-02-14 03:40:52.501596 | {'self': <keno.Keno object at 0x7f20da5e8400>, 'query': '\nSELECT draw_num_1,\n draw_num_2,\n draw_num_3 ,\n draw_num_4,\n draw_num_5,\n draw_num_6,\n draw_num_7,\n draw_num_8,\n draw_num_9,\n draw_num_10,\n draw_num_11,\n draw_num_12,\n draw_num_13,\n draw_num_14,\n draw_num_15,\n draw_num_16,\n draw_num_17,\n draw_num_18,\n draw_num_19,\n draw_num_20\nFROM keno_games_tbl \nWHERE draw_number BETWEEN (SELECT max(draw_number) - :num_from_end - :num_games FROM keno_games_tbl) \n AND ( SELECT max(draw_number) - :num_from_end FROM keno_games_tbl )\nORDER BY draw_number desc\n', 'return_json': False, 'p_data': {'num_from_end': 20, 'num_games': 20}} | ./keno.py:661 |
| DEBUG | 2026-02-14 03:40:52.501698 | Trying to connect to database file: keno_test.db | ./utils.py:53 |
| DEBUG | 2026-02-14 03:40:52.501858 | Download: http://sqlitebrowser.org to view tables | ./utils.py:55 |
| DEBUG | 2026-02-14 03:40:52.501937 | DB path file:///home/keno/keno/keno_test.db | ./utils.py:56 |
| DEBUG | 2026-02-14 03:40:52.501979 | setting parameters to: p_data = {'num_from_end': 20, 'num_games': 20} | ./keno.py:672 |
| DEBUG | 2026-02-14 03:40:52.502484 | rows fetched=21 | ./keno.py:679 |
| DEBUG | 2026-02-14 03:40:52.502589 | p_num_from_bottom=20 p_num_balls_to_play=20 | ./keno_analytics.py:487 |
| DEBUG | 2026-02-14 03:40:52.502923 | Rows [(3, 5, 14, 23, 28, 29, 30, 33, 34, 35, 43, 44, 47, 48, 53, 60, 62, 68, 73, 80), (6, 9, 12, 15, 30, 32, 34, 37, 39, 43, 44, 46, 48, 49, 51, 52, 75, 76, 79, 80), (2, 3, 12, 13, 15, 16, 19, 22, 23, 34, 36, 44, 45, 48, 49, 56, 62, 65, 73, 80), (3, 4, 12, 13, 15, 22, 25, 35, 37, 40, 44, 54, 55, 56, 57, 68, 70, 75, 77, 79), (2, 9, 13, 17, 19, 28, 30, 31, 34, 36, 38, 41, 47, 50, 55, 60, 64, 69, 71, 79), (2, 3, 4, 6, 10, 19, 22, 23, 28, 32, 34, 36, 41, 45, 47, 54, 55, 58, 61, 64), (1, 5, 7, 11, 16, 17, 19, 21, 30, 42, 43, 45, 52, 53, 57, 63, 70, 71, 73, 78), (5, 6, 9, 14, 15, 17, 26, 30, 37, 38, 45, 47, 53, 62, 63, 64, 67, 69, 70, 77), (1, 11, 13, 16, 17, 19, 24, 25, 33, 34, 40, 49, 51, 56, 60, 63, 65, 68, 73, 80), (2, 11, 21, 36, 37, 38, 39, 46, 47, 48, 50, 54, 56, 60, 67, 70, 75, 76, 77, 78), (1, 5, 9, 12, 18, 21, 23, 26, 27, 41, 45, 46, 56, 57, 58, 60, 61, 71, 76, 77), (4, 5, 7, 12, 19, 21, 27, 28, 31, 39, 42, 50, 51, 55, 57, 60, 63, 69, 77, 80), (2, 8, 10, 11, 13, 20, 23, 34, 39, 44, 46, 49, 50, 52, 55, 65, 66, 68, 77, 78), (5, 6, 7, 9, 13, 18, 24, 25, 27, 29, 33, 35, 36, 38, 39, 45, 52, 54, 60, 69), (4, 8, 10, 18, 22, 25, 27, 28, 32, 34, 36, 38, 40, 45, 46, 47, 59, 63, 67, 70), (3, 4, 6, 7, 19, 23, 25, 29, 30, 31, 37, 39, 43, 47, 57, 62, 69, 70, 78, 80), (2, 9, 11, 12, 13, 14, 21, 22, 37, 46, 48, 57, 64, 66, 70, 71, 76, 77, 78, 80), (4, 7, 11, 14, 19, 29, 30, 35, 41, 43, 46, 49, 51, 53, 59, 60, 61, 64, 74, 76), (8, 12, 13, 15, 17, 18, 27, 28, 31, 46, 51, 57, 58, 62, 63, 64, 68, 70, 71, 74), (4, 7, 9, 10, 17, 19, 20, 23, 35, 40, 42, 46, 48, 55, 61, 66, 67, 73, 75, 80), (2, 8, 14, 23, 32, 36, 40, 47, 48, 53, 54, 55, 59, 64, 67, 70, 76, 77, 79, 80)] | ./keno_analytics.py:488 |
| DEBUG | 2026-02-14 03:40:52.504798 | setting end_game_num = None | ./keno.py:448 |
| DEBUG | 2026-02-14 03:40:52.505480 | setting tmp_output_file_name=output.csv | ./keno.py:427 |
| DEBUG | 2026-02-14 03:40:52.505555 | test_db_name set to keno_test | ./keno.py:376 |
| INFO | 2026-02-14 03:40:52.505611 | setting num_games_to_process=20 | ./keno.py:419 |
| DEBUG | 2026-02-14 03:40:52.505654 | {'self': <keno.Keno object at 0x7f20da5e8370>} | ./keno.py:328 |
| DEBUG | 2026-02-14 03:40:52.505718 | {'p_num_games_to_play': 20, 'p_num_from_bottom': 15, 'keno': <keno.Keno object at 0x7f20da5e8370>} | ./keno_analytics.py:480 |
| DEBUG | 2026-02-14 03:40:52.505770 | {'self': <keno.Keno object at 0x7f20da5e8370>, 'query': '\nSELECT draw_num_1,\n draw_num_2,\n draw_num_3 ,\n draw_num_4,\n draw_num_5,\n draw_num_6,\n draw_num_7,\n draw_num_8,\n draw_num_9,\n draw_num_10,\n draw_num_11,\n draw_num_12,\n draw_num_13,\n draw_num_14,\n draw_num_15,\n draw_num_16,\n draw_num_17,\n draw_num_18,\n draw_num_19,\n draw_num_20\nFROM keno_games_tbl \nWHERE draw_number BETWEEN (SELECT max(draw_number) - :num_from_end - :num_games FROM keno_games_tbl) \n AND ( SELECT max(draw_number) - :num_from_end FROM keno_games_tbl )\nORDER BY draw_number desc\n', 'return_json': False, 'p_data': {'num_from_end': 15, 'num_games': 20}} | ./keno.py:661 |
| DEBUG | 2026-02-14 03:40:52.505906 | Trying to connect to database file: keno_test.db | ./utils.py:53 |
| DEBUG | 2026-02-14 03:40:52.506065 | Download: http://sqlitebrowser.org to view tables | ./utils.py:55 |
| DEBUG | 2026-02-14 03:40:52.506179 | DB path file:///home/keno/keno/keno_test.db | ./utils.py:56 |
| DEBUG | 2026-02-14 03:40:52.506229 | setting parameters to: p_data = {'num_from_end': 15, 'num_games': 20} | ./keno.py:672 |
| DEBUG | 2026-02-14 03:40:52.506690 | rows fetched=21 | ./keno.py:679 |
| DEBUG | 2026-02-14 03:40:52.506822 | p_num_from_bottom=15 p_num_balls_to_play=20 | ./keno_analytics.py:487 |
| DEBUG | 2026-02-14 03:40:52.507166 | Rows [(2, 4, 5, 11, 14, 17, 21, 22, 29, 31, 36, 48, 50, 58, 60, 61, 63, 64, 67, 71), (3, 5, 6, 16, 18, 19, 29, 32, 33, 37, 41, 51, 58, 59, 61, 63, 71, 72, 73, 79), (9, 12, 20, 22, 23, 27, 32, 34, 41, 42, 43, 46, 49, 53, 54, 58, 61, 62, 73, 76), (5, 7, 8, 15, 17, 19, 22, 34, 37, 41, 43, 47, 51, 53, 58, 66, 71, 75, 79, 80), (1, 2, 3, 4, 8, 12, 18, 25, 31, 34, 38, 48, 51, 52, 61, 66, 70, 71, 74, 80), (3, 5, 14, 23, 28, 29, 30, 33, 34, 35, 43, 44, 47, 48, 53, 60, 62, 68, 73, 80), (6, 9, 12, 15, 30, 32, 34, 37, 39, 43, 44, 46, 48, 49, 51, 52, 75, 76, 79, 80), (2, 3, 12, 13, 15, 16, 19, 22, 23, 34, 36, 44, 45, 48, 49, 56, 62, 65, 73, 80), (3, 4, 12, 13, 15, 22, 25, 35, 37, 40, 44, 54, 55, 56, 57, 68, 70, 75, 77, 79), (2, 9, 13, 17, 19, 28, 30, 31, 34, 36, 38, 41, 47, 50, 55, 60, 64, 69, 71, 79), (2, 3, 4, 6, 10, 19, 22, 23, 28, 32, 34, 36, 41, 45, 47, 54, 55, 58, 61, 64), (1, 5, 7, 11, 16, 17, 19, 21, 30, 42, 43, 45, 52, 53, 57, 63, 70, 71, 73, 78), (5, 6, 9, 14, 15, 17, 26, 30, 37, 38, 45, 47, 53, 62, 63, 64, 67, 69, 70, 77), (1, 11, 13, 16, 17, 19, 24, 25, 33, 34, 40, 49, 51, 56, 60, 63, 65, 68, 73, 80), (2, 11, 21, 36, 37, 38, 39, 46, 47, 48, 50, 54, 56, 60, 67, 70, 75, 76, 77, 78), (1, 5, 9, 12, 18, 21, 23, 26, 27, 41, 45, 46, 56, 57, 58, 60, 61, 71, 76, 77), (4, 5, 7, 12, 19, 21, 27, 28, 31, 39, 42, 50, 51, 55, 57, 60, 63, 69, 77, 80), (2, 8, 10, 11, 13, 20, 23, 34, 39, 44, 46, 49, 50, 52, 55, 65, 66, 68, 77, 78), (5, 6, 7, 9, 13, 18, 24, 25, 27, 29, 33, 35, 36, 38, 39, 45, 52, 54, 60, 69), (4, 8, 10, 18, 22, 25, 27, 28, 32, 34, 36, 38, 40, 45, 46, 47, 59, 63, 67, 70), (3, 4, 6, 7, 19, 23, 25, 29, 30, 31, 37, 39, 43, 47, 57, 62, 69, 70, 78, 80)] | ./keno_analytics.py:488 |
| DEBUG | 2026-02-14 03:40:52.509285 | setting end_game_num = None | ./keno.py:448 |
| DEBUG | 2026-02-14 03:40:52.509373 | setting tmp_output_file_name=output.csv | ./keno.py:427 |
| DEBUG | 2026-02-14 03:40:52.509416 | test_db_name set to keno_test | ./keno.py:376 |
| INFO | 2026-02-14 03:40:52.509461 | setting num_games_to_process=20 | ./keno.py:419 |
| DEBUG | 2026-02-14 03:40:52.509507 | {'self': <keno.Keno object at 0x7f20da5e82b0>} | ./keno.py:328 |
| DEBUG | 2026-02-14 03:40:52.509555 | {'p_num_games_to_play': 20, 'p_num_from_bottom': 10, 'keno': <keno.Keno object at 0x7f20da5e82b0>} | ./keno_analytics.py:480 |
| DEBUG | 2026-02-14 03:40:52.509598 | {'self': <keno.Keno object at 0x7f20da5e82b0>, 'query': '\nSELECT draw_num_1,\n draw_num_2,\n draw_num_3 ,\n draw_num_4,\n draw_num_5,\n draw_num_6,\n draw_num_7,\n draw_num_8,\n draw_num_9,\n draw_num_10,\n draw_num_11,\n draw_num_12,\n draw_num_13,\n draw_num_14,\n draw_num_15,\n draw_num_16,\n draw_num_17,\n draw_num_18,\n draw_num_19,\n draw_num_20\nFROM keno_games_tbl \nWHERE draw_number BETWEEN (SELECT max(draw_number) - :num_from_end - :num_games FROM keno_games_tbl) \n AND ( SELECT max(draw_number) - :num_from_end FROM keno_games_tbl )\nORDER BY draw_number desc\n', 'return_json': False, 'p_data': {'num_from_end': 10, 'num_games': 20}} | ./keno.py:661 |
| DEBUG | 2026-02-14 03:40:52.509696 | Trying to connect to database file: keno_test.db | ./utils.py:53 |
| DEBUG | 2026-02-14 03:40:52.509831 | Download: http://sqlitebrowser.org to view tables | ./utils.py:55 |
| DEBUG | 2026-02-14 03:40:52.509907 | DB path file:///home/keno/keno/keno_test.db | ./utils.py:56 |
| DEBUG | 2026-02-14 03:40:52.509950 | setting parameters to: p_data = {'num_from_end': 10, 'num_games': 20} | ./keno.py:672 |
| DEBUG | 2026-02-14 03:40:52.510346 | rows fetched=21 | ./keno.py:679 |
| DEBUG | 2026-02-14 03:40:52.510443 | p_num_from_bottom=10 p_num_balls_to_play=20 | ./keno_analytics.py:487 |
| DEBUG | 2026-02-14 03:40:52.511346 | Rows [(3, 4, 5, 6, 14, 15, 26, 27, 37, 40, 48, 49, 51, 53, 62, 67, 70, 72, 74, 78), (8, 12, 18, 21, 30, 32, 33, 34, 36, 42, 54, 57, 61, 65, 67, 71, 72, 75, 77, 79), (7, 8, 9, 11, 12, 14, 20, 22, 25, 35, 39, 48, 51, 54, 55, 58, 59, 67, 73, 75), (4, 5, 6, 10, 11, 18, 21, 24, 25, 28, 32, 36, 40, 44, 45, 51, 59, 60, 64, 69), (4, 6, 10, 11, 13, 16, 25, 32, 36, 43, 44, 46, 47, 49, 58, 63, 64, 69, 73, 80), (2, 4, 5, 11, 14, 17, 21, 22, 29, 31, 36, 48, 50, 58, 60, 61, 63, 64, 67, 71), (3, 5, 6, 16, 18, 19, 29, 32, 33, 37, 41, 51, 58, 59, 61, 63, 71, 72, 73, 79), (9, 12, 20, 22, 23, 27, 32, 34, 41, 42, 43, 46, 49, 53, 54, 58, 61, 62, 73, 76), (5, 7, 8, 15, 17, 19, 22, 34, 37, 41, 43, 47, 51, 53, 58, 66, 71, 75, 79, 80), (1, 2, 3, 4, 8, 12, 18, 25, 31, 34, 38, 48, 51, 52, 61, 66, 70, 71, 74, 80), (3, 5, 14, 23, 28, 29, 30, 33, 34, 35, 43, 44, 47, 48, 53, 60, 62, 68, 73, 80), (6, 9, 12, 15, 30, 32, 34, 37, 39, 43, 44, 46, 48, 49, 51, 52, 75, 76, 79, 80), (2, 3, 12, 13, 15, 16, 19, 22, 23, 34, 36, 44, 45, 48, 49, 56, 62, 65, 73, 80), (3, 4, 12, 13, 15, 22, 25, 35, 37, 40, 44, 54, 55, 56, 57, 68, 70, 75, 77, 79), (2, 9, 13, 17, 19, 28, 30, 31, 34, 36, 38, 41, 47, 50, 55, 60, 64, 69, 71, 79), (2, 3, 4, 6, 10, 19, 22, 23, 28, 32, 34, 36, 41, 45, 47, 54, 55, 58, 61, 64), (1, 5, 7, 11, 16, 17, 19, 21, 30, 42, 43, 45, 52, 53, 57, 63, 70, 71, 73, 78), (5, 6, 9, 14, 15, 17, 26, 30, 37, 38, 45, 47, 53, 62, 63, 64, 67, 69, 70, 77), (1, 11, 13, 16, 17, 19, 24, 25, 33, 34, 40, 49, 51, 56, 60, 63, 65, 68, 73, 80), (2, 11, 21, 36, 37, 38, 39, 46, 47, 48, 50, 54, 56, 60, 67, 70, 75, 76, 77, 78), (1, 5, 9, 12, 18, 21, 23, 26, 27, 41, 45, 46, 56, 57, 58, 60, 61, 71, 76, 77)] | ./keno_analytics.py:488 |
| DEBUG | 2026-02-14 03:40:52.512840 | setting end_game_num = None | ./keno.py:448 |
| DEBUG | 2026-02-14 03:40:52.512891 | setting tmp_output_file_name=output.csv | ./keno.py:427 |
| DEBUG | 2026-02-14 03:40:52.512916 | test_db_name set to keno_test | ./keno.py:376 |
| INFO | 2026-02-14 03:40:52.512942 | setting num_games_to_process=20 | ./keno.py:419 |
| DEBUG | 2026-02-14 03:40:52.512961 | {'self': <keno.Keno object at 0x7f20db154520>} | ./keno.py:328 |
| DEBUG | 2026-02-14 03:40:52.512992 | {'p_num_games_to_play': 20, 'p_num_from_bottom': 5, 'keno': <keno.Keno object at 0x7f20db154520>} | ./keno_analytics.py:480 |
| DEBUG | 2026-02-14 03:40:52.513015 | {'self': <keno.Keno object at 0x7f20db154520>, 'query': '\nSELECT draw_num_1,\n draw_num_2,\n draw_num_3 ,\n draw_num_4,\n draw_num_5,\n draw_num_6,\n draw_num_7,\n draw_num_8,\n draw_num_9,\n draw_num_10,\n draw_num_11,\n draw_num_12,\n draw_num_13,\n draw_num_14,\n draw_num_15,\n draw_num_16,\n draw_num_17,\n draw_num_18,\n draw_num_19,\n draw_num_20\nFROM keno_games_tbl \nWHERE draw_number BETWEEN (SELECT max(draw_number) - :num_from_end - :num_games FROM keno_games_tbl) \n AND ( SELECT max(draw_number) - :num_from_end FROM keno_games_tbl )\nORDER BY draw_number desc\n', 'return_json': False, 'p_data': {'num_from_end': 5, 'num_games': 20}} | ./keno.py:661 |
| DEBUG | 2026-02-14 03:40:52.513047 | Trying to connect to database file: keno_test.db | ./utils.py:53 |
| DEBUG | 2026-02-14 03:40:52.513164 | Download: http://sqlitebrowser.org to view tables | ./utils.py:55 |
| DEBUG | 2026-02-14 03:40:52.513213 | DB path file:///home/keno/keno/keno_test.db | ./utils.py:56 |
| DEBUG | 2026-02-14 03:40:52.513237 | setting parameters to: p_data = {'num_from_end': 5, 'num_games': 20} | ./keno.py:672 |
| DEBUG | 2026-02-14 03:40:52.513557 | rows fetched=21 | ./keno.py:679 |
| DEBUG | 2026-02-14 03:40:52.513615 | p_num_from_bottom=5 p_num_balls_to_play=20 | ./keno_analytics.py:487 |
| DEBUG | 2026-02-14 03:40:52.513878 | Rows [(8, 15, 21, 25, 29, 43, 46, 47, 51, 55, 57, 59, 60, 64, 69, 70, 72, 73, 77, 80), (6, 12, 16, 21, 25, 28, 29, 31, 33, 35, 43, 44, 53, 55, 56, 61, 64, 66, 72, 73), (3, 5, 6, 9, 21, 23, 25, 26, 28, 31, 33, 41, 45, 47, 52, 58, 69, 71, 76, 80), (15, 20, 21, 24, 30, 33, 35, 41, 43, 44, 46, 48, 60, 62, 63, 68, 69, 75, 79, 80), (5, 11, 12, 13, 14, 17, 18, 19, 24, 29, 32, 36, 38, 40, 42, 44, 53, 57, 58, 61), (3, 4, 5, 6, 14, 15, 26, 27, 37, 40, 48, 49, 51, 53, 62, 67, 70, 72, 74, 78), (8, 12, 18, 21, 30, 32, 33, 34, 36, 42, 54, 57, 61, 65, 67, 71, 72, 75, 77, 79), (7, 8, 9, 11, 12, 14, 20, 22, 25, 35, 39, 48, 51, 54, 55, 58, 59, 67, 73, 75), (4, 5, 6, 10, 11, 18, 21, 24, 25, 28, 32, 36, 40, 44, 45, 51, 59, 60, 64, 69), (4, 6, 10, 11, 13, 16, 25, 32, 36, 43, 44, 46, 47, 49, 58, 63, 64, 69, 73, 80), (2, 4, 5, 11, 14, 17, 21, 22, 29, 31, 36, 48, 50, 58, 60, 61, 63, 64, 67, 71), (3, 5, 6, 16, 18, 19, 29, 32, 33, 37, 41, 51, 58, 59, 61, 63, 71, 72, 73, 79), (9, 12, 20, 22, 23, 27, 32, 34, 41, 42, 43, 46, 49, 53, 54, 58, 61, 62, 73, 76), (5, 7, 8, 15, 17, 19, 22, 34, 37, 41, 43, 47, 51, 53, 58, 66, 71, 75, 79, 80), (1, 2, 3, 4, 8, 12, 18, 25, 31, 34, 38, 48, 51, 52, 61, 66, 70, 71, 74, 80), (3, 5, 14, 23, 28, 29, 30, 33, 34, 35, 43, 44, 47, 48, 53, 60, 62, 68, 73, 80), (6, 9, 12, 15, 30, 32, 34, 37, 39, 43, 44, 46, 48, 49, 51, 52, 75, 76, 79, 80), (2, 3, 12, 13, 15, 16, 19, 22, 23, 34, 36, 44, 45, 48, 49, 56, 62, 65, 73, 80), (3, 4, 12, 13, 15, 22, 25, 35, 37, 40, 44, 54, 55, 56, 57, 68, 70, 75, 77, 79), (2, 9, 13, 17, 19, 28, 30, 31, 34, 36, 38, 41, 47, 50, 55, 60, 64, 69, 71, 79), (2, 3, 4, 6, 10, 19, 22, 23, 28, 32, 34, 36, 41, 45, 47, 54, 55, 58, 61, 64)] | ./keno_analytics.py:488 |
| DEBUG | 2026-02-14 03:40:52.515284 | setting end_game_num = None | ./keno.py:448 |
| DEBUG | 2026-02-14 03:40:52.515321 | setting tmp_output_file_name=output.csv | ./keno.py:427 |
| DEBUG | 2026-02-14 03:40:52.515342 | test_db_name set to keno_test | ./keno.py:376 |
| INFO | 2026-02-14 03:40:52.515360 | setting num_games_to_process=20 | ./keno.py:419 |
| DEBUG | 2026-02-14 03:40:52.515378 | {'self': <keno.Keno object at 0x7f20db154f10>} | ./keno.py:328 |
| URL route | Endpoint name | HTTP methods | Is alias | Redirect to |
|---|---|---|---|---|
| / | home | GET, HEAD, OPTIONS | False | None |
| /analyze_clustering | analyze_clustering | OPTIONS, POST | False | None |
| /board/<num_games> | board | GET, HEAD, OPTIONS | False | None |
| /count_by_day/<num_days_ago> | rest_count_by_day | GET, HEAD, OPTIONS | False | None |
| /count_by_hours/<num_hours_ago> | rest_count_by_hours | GET, HEAD, OPTIONS | False | None |
| /create/<first_name>/<last_name> | create | GET, HEAD, OPTIONS | False | None |
| /get_db_info | get_db_info | GET, HEAD, OPTIONS, POST | False | None |
| /get_games/ | get_games | GET, HEAD, OPTIONS, POST | False | None |
| /get_json | get_rest_json_data | OPTIONS, POST | False | None |
| /hello | hello | GET, HEAD, OPTIONS | False | None |
| /hello2 | hello2 | GET, HEAD, OPTIONS, POST | False | None |
| /hot_pairs_triples | hot_pairs_triples | OPTIONS, POST | False | None |
| /keno_analyzer | keno_analyzer | GET, HEAD, OPTIONS, POST | False | None |
| /keno_boards | show_keno_boards | GET, HEAD, OPTIONS, POST | False | None |
| /keno_clustering | keno_clustering | GET, HEAD, OPTIONS, POST | False | None |
| /keno_home | keno_home | GET, HEAD, OPTIONS | False | None |
| /keno_transitions | keno_transitions | GET, HEAD, OPTIONS, POST | False | None |
| /markov | show_markov | GET, HEAD, OPTIONS | False | None |
| /show_popular_pairs | show_popular_pairs | GET, HEAD, OPTIONS | False | None |
| /show_popular_seq_pairs | show_popular_seq_pairs | GET, HEAD, OPTIONS | False | None |
| /static/<path:filename> | static | GET, HEAD, OPTIONS | False | None |
| /static/bootstrap/<path:filename> | bootstrap.static | GET, HEAD, OPTIONS | False | None |
| /test | test | GET, HEAD, OPTIONS | False | None |
| /verify_game_winners/ | verify_game_winners | GET, HEAD, OPTIONS, POST | False | None |
| /verify_game_winners2 | formVerifyGameWinners | GET, HEAD, OPTIONS, POST | False | None |
| /verify_with_games_winners/ | verify_with_games_winners | GET, HEAD, OPTIONS, POST | False | None |
| /winners | get_rest_winners | OPTIONS, POST | False | None |
| /winnerz/ | winnerz | GET, HEAD, OPTIONS, POST | False | None |
| Key | Value |
|---|---|
| debug_toolbar | <flask_debugtoolbar.DebugToolbarExtension object at 0x7f20dbad9c70> |