{"id":191765414,"number":"2.15.4","published_at":"2026-04-15T19:29:52.000Z","licenses":"execsql2 — a fork of execsql.py\n        Copyright (c) 2007-2025 R.Dreas Nielsen\n        Copyright (c) 2026-present Caleb Grant\n        \n        This program is free software: you can redistribute it and/or modify it under\n        the terms of the GNU General Public License as published by the Free Software\n        Foundation, either version 3 of the License, or (at your option) any later\n        version. This program is distributed in the hope that it will be useful, but\n        WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\n        FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more\n        details. The GNU General Public License is available at\n        http://www.gnu.org/licenses/.","integrity":"sha256-48440daf561a8fd76d825206e9bf7ecc39f6354d11637f0655e27ad2d4dc069f","status":null,"download_url":"https://files.pythonhosted.org/packages/f1/43/8eb1d2e53b754d3572fcbb288f693f37a6dcfb7a48a34b3273b0a4f89c33/execsql2-2.15.4-py3-none-any.whl","registry_url":"https://pypi.org/project/execsql2/2.15.4","documentation_url":"https://execsql2.readthedocs.io/en/2.15.4","install_command":"pip install execsql2==2.15.4 --index-url https://pypi.org/simple","metadata":{"download_url":"https://files.pythonhosted.org/packages/f1/43/8eb1d2e53b754d3572fcbb288f693f37a6dcfb7a48a34b3273b0a4f89c33/execsql2-2.15.4-py3-none-any.whl","requires_python":"\u003e=3.10","yanked":false,"yanked_reason":null,"packagetype":"bdist_wheel","python_version":"py3","size":384949,"has_sig":false},"created_at":"2026-05-03T00:04:55.357Z","updated_at":"2026-05-03T00:04:55.357Z","purl":"pkg:pypi/execsql2@2.15.4","related_tag":{"name":"v2.15.4","sha":"fca40f36e94f5db77ebac1b947bf38049df81e63","kind":"tag","published_at":"2026-04-15T19:17:28.000Z","download_url":"https://codeload.github.com/geocoug/execsql/tar.gz/v2.15.4","html_url":"https://github.com/geocoug/execsql/releases/tag/v2.15.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/geocoug/execsql@v2.15.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geocoug%2Fexecsql/tags/v2.15.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geocoug%2Fexecsql/tags/v2.15.4/manifests"},"latest":false,"version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/execsql2/versions/2.15.4","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/execsql2/versions/2.15.4/codemeta","dependencies":[{"id":2026437267,"ecosystem":"pypi","package_name":"python-dateutil","requirements":"\u003e=2.8","kind":"runtime","optional":false},{"id":2026437268,"ecosystem":"pypi","package_name":"rich","requirements":"\u003e=13.0","kind":"runtime","optional":false},{"id":2026437269,"ecosystem":"pypi","package_name":"sqlglot","requirements":"\u003e=25.0","kind":"runtime","optional":false},{"id":2026437270,"ecosystem":"pypi","package_name":"textual","requirements":"\u003e=0.47.0","kind":"runtime","optional":false},{"id":2026437271,"ecosystem":"pypi","package_name":"typer","requirements":"\u003e=0.12","kind":"runtime","optional":false},{"id":2026437272,"ecosystem":"pypi","package_name":"duckdb","requirements":"*","kind":"extra == \"all\"","optional":true},{"id":2026437273,"ecosystem":"pypi","package_name":"firebird-driver","requirements":"*","kind":"extra == \"all\"","optional":true},{"id":2026437274,"ecosystem":"pypi","package_name":"jinja2","requirements":"*","kind":"extra == \"all\"","optional":true},{"id":2026437275,"ecosystem":"pypi","package_name":"keyring","requirements":"*","kind":"extra == \"all\"","optional":true},{"id":2026437276,"ecosystem":"pypi","package_name":"odfpy","requirements":"*","kind":"extra == \"all\"","optional":true},{"id":2026437277,"ecosystem":"pypi","package_name":"openpyxl","requirements":"*","kind":"extra == \"all\"","optional":true},{"id":2026437278,"ecosystem":"pypi","package_name":"oracledb","requirements":"*","kind":"extra == \"all\"","optional":true},{"id":2026437279,"ecosystem":"pypi","package_name":"pg-upsert","requirements":"\u003e=1.21.0","kind":"extra == \"all\"","optional":true},{"id":2026437280,"ecosystem":"pypi","package_name":"polars","requirements":"*","kind":"extra == \"all\"","optional":true},{"id":2026437281,"ecosystem":"pypi","package_name":"psycopg2-binary","requirements":"*","kind":"extra == \"all\"","optional":true},{"id":2026437282,"ecosystem":"pypi","package_name":"pymysql","requirements":"*","kind":"extra == \"all\"","optional":true},{"id":2026437283,"ecosystem":"pypi","package_name":"pyodbc","requirements":"*","kind":"extra == \"all\"","optional":true},{"id":2026437284,"ecosystem":"pypi","package_name":"pyyaml","requirements":"*","kind":"extra == \"all\"","optional":true},{"id":2026437285,"ecosystem":"pypi","package_name":"tables","requirements":"*","kind":"extra == \"all\"","optional":true},{"id":2026437286,"ecosystem":"pypi","package_name":"xlrd","requirements":"*","kind":"extra == \"all\"","optional":true},{"id":2026437287,"ecosystem":"pypi","package_name":"duckdb","requirements":"*","kind":"extra == \"all-db\"","optional":true},{"id":2026437288,"ecosystem":"pypi","package_name":"firebird-driver","requirements":"*","kind":"extra == \"all-db\"","optional":true},{"id":2026437289,"ecosystem":"pypi","package_name":"oracledb","requirements":"*","kind":"extra == \"all-db\"","optional":true},{"id":2026437290,"ecosystem":"pypi","package_name":"psycopg2-binary","requirements":"*","kind":"extra == \"all-db\"","optional":true},{"id":2026437291,"ecosystem":"pypi","package_name":"pymysql","requirements":"*","kind":"extra == \"all-db\"","optional":true},{"id":2026437292,"ecosystem":"pypi","package_name":"pyodbc","requirements":"*","kind":"extra == \"all-db\"","optional":true},{"id":2026437293,"ecosystem":"pypi","package_name":"keyring","requirements":"*","kind":"extra == \"auth\"","optional":true},{"id":2026437294,"ecosystem":"pypi","package_name":"keyring","requirements":"*","kind":"extra == \"auth-encrypted\"","optional":true},{"id":2026437295,"ecosystem":"pypi","package_name":"keyrings-alt","requirements":"*","kind":"extra == \"auth-encrypted\"","optional":true},{"id":2026437296,"ecosystem":"pypi","package_name":"pycryptodome","requirements":"*","kind":"extra == \"auth-encrypted\"","optional":true},{"id":2026437297,"ecosystem":"pypi","package_name":"keyring","requirements":"*","kind":"extra == \"auth-plaintext\"","optional":true},{"id":2026437298,"ecosystem":"pypi","package_name":"keyrings-alt","requirements":"*","kind":"extra == \"auth-plaintext\"","optional":true},{"id":2026437299,"ecosystem":"pypi","package_name":"build","requirements":"\u003e=1.2.2.post1","kind":"extra == \"dev\"","optional":true},{"id":2026437300,"ecosystem":"pypi","package_name":"bump-my-version","requirements":"\u003e=1.2.7","kind":"extra == \"dev\"","optional":true},{"id":2026437301,"ecosystem":"pypi","package_name":"jinja2","requirements":"*","kind":"extra == \"dev\"","optional":true},{"id":2026437302,"ecosystem":"pypi","package_name":"markdown-include","requirements":"\u003e=0.8","kind":"extra == \"dev\"","optional":true},{"id":2026437303,"ecosystem":"pypi","package_name":"mkdocstrings-python","requirements":"\u003e=2.0.3","kind":"extra == \"dev\"","optional":true},{"id":2026437304,"ecosystem":"pypi","package_name":"odfpy","requirements":"*","kind":"extra == \"dev\"","optional":true},{"id":2026437305,"ecosystem":"pypi","package_name":"openpyxl","requirements":"*","kind":"extra == \"dev\"","optional":true},{"id":2026437306,"ecosystem":"pypi","package_name":"polars","requirements":"*","kind":"extra == \"dev\"","optional":true},{"id":2026437307,"ecosystem":"pypi","package_name":"pre-commit","requirements":"\u003e=3.5.0","kind":"extra == \"dev\"","optional":true},{"id":2026437308,"ecosystem":"pypi","package_name":"pytest-cov","requirements":"\u003e=5.0.0","kind":"extra == \"dev\"","optional":true},{"id":2026437309,"ecosystem":"pypi","package_name":"pyyaml","requirements":"*","kind":"extra == \"dev\"","optional":true},{"id":2026437310,"ecosystem":"pypi","package_name":"ruff","requirements":"\u003e=0.4","kind":"extra == \"dev\"","optional":true},{"id":2026437311,"ecosystem":"pypi","package_name":"tables","requirements":"*","kind":"extra == \"dev\"","optional":true},{"id":2026437312,"ecosystem":"pypi","package_name":"tox-uv","requirements":"\u003e=1.13.1","kind":"extra == \"dev\"","optional":true},{"id":2026437313,"ecosystem":"pypi","package_name":"twine","requirements":"\u003e=6.1.0","kind":"extra == \"dev\"","optional":true},{"id":2026437314,"ecosystem":"pypi","package_name":"xlrd","requirements":"*","kind":"extra == \"dev\"","optional":true},{"id":2026437315,"ecosystem":"pypi","package_name":"zensical","requirements":"\u003e=0.0.28","kind":"extra == \"dev\"","optional":true},{"id":2026437316,"ecosystem":"pypi","package_name":"duckdb","requirements":"*","kind":"extra == \"duckdb\"","optional":true},{"id":2026437317,"ecosystem":"pypi","package_name":"firebird-driver","requirements":"*","kind":"extra == \"firebird\"","optional":true},{"id":2026437318,"ecosystem":"pypi","package_name":"jinja2","requirements":"*","kind":"extra == \"formats\"","optional":true},{"id":2026437319,"ecosystem":"pypi","package_name":"odfpy","requirements":"*","kind":"extra == \"formats\"","optional":true},{"id":2026437320,"ecosystem":"pypi","package_name":"openpyxl","requirements":"*","kind":"extra == \"formats\"","optional":true},{"id":2026437321,"ecosystem":"pypi","package_name":"polars","requirements":"*","kind":"extra == \"formats\"","optional":true},{"id":2026437322,"ecosystem":"pypi","package_name":"pyyaml","requirements":"*","kind":"extra == \"formats\"","optional":true},{"id":2026437323,"ecosystem":"pypi","package_name":"tables","requirements":"*","kind":"extra == \"formats\"","optional":true},{"id":2026437324,"ecosystem":"pypi","package_name":"xlrd","requirements":"*","kind":"extra == \"formats\"","optional":true},{"id":2026437325,"ecosystem":"pypi","package_name":"pyodbc","requirements":"*","kind":"extra == \"mssql\"","optional":true},{"id":2026437326,"ecosystem":"pypi","package_name":"pymysql","requirements":"*","kind":"extra == \"mysql\"","optional":true},{"id":2026437327,"ecosystem":"pypi","package_name":"pyodbc","requirements":"*","kind":"extra == \"odbc\"","optional":true},{"id":2026437328,"ecosystem":"pypi","package_name":"oracledb","requirements":"*","kind":"extra == \"oracle\"","optional":true},{"id":2026437329,"ecosystem":"pypi","package_name":"psycopg2-binary","requirements":"*","kind":"extra == \"postgres\"","optional":true},{"id":2026437330,"ecosystem":"pypi","package_name":"pg-upsert","requirements":"\u003e=1.21.0","kind":"extra == \"upsert\"","optional":true}],"package_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/execsql2"}