Skip to main content

MyPythonDB

Python is at the heart of most data analysis but to share analysis's most users have been uploading data to SQL databases, until now. MyPythonDB turns your python instance into an SQL database. Existing tools can query data directly at faster than database speeds.

  • PythonDB provides a MySQL interface that allows every BI tool to just work.
  • With DuckDB and Polars-SQL you can directly query in-memory dataframes, S3 or on-disk parquet files using SQL.
  • Via the simple SQL editor web interface, you can share links to results with colleagues.

Modern tools and libraries are arriving and providing capabilities and performance only previously available accessible by paying for huge enterprise licenses $$$. Given these changes, We believe data analysts will increasingly be performed using these tools in future.

Uses

  1. Import package to expose your python instance as a MySQL Database.
  2. pythondb.exe mydb.duckdb - Load a duckdb database and make it remotely accessible.
  3. pythondb --language duckdb - A new in-memory duckdb instance
  4. pythondb code.py --language polars - A polars instance

Python as MySQL

import mypythondb

mypythondb.start(port=3145, webport=9090, language='POLARS')

Command Line Options

Options:
  -l, --language LANG    Language to interpret code as.  [default: PYTHON]
  -c, --command COMMAND  Run COMMAND
  -P, --port SQLPORT     Port for MySQL compatible server to listen on
  -w, --webport WEBPORT  Port for webserver to listen on
  -q, --quiet            Quiet, don't show banner
  -v, --verbose          Display debugging information
  --version              Show the version and exit.
  --help                 Show this message and exit.

Development Info

Facts

  • Python is the language for data analysis.
  • Polars / DuckDB provides extremely fast DataFrame operations previously only accessible at great cost.
  • Many libraries and databases are converging on common data formats
    • Apache Arrow in memory
    • Apache Parquet on disk

Commands

poetry install --sync
poetry lock
poetry run pythondb
poetry run pytest
poetry run pyinstaller --onefile  launcher.py

Optional TODO

  • Ability to set duckdb conn to one of users choosing.

  • Ability to set polars context to one of users choosing.

  • QWEB

    • autocomplete for duckdb / polars / python?
    • Sharing link to show correct chart type fix.
    • Server Tree Working
  • MySQL

    • Test with tableau / dbeaver / ?
    • Server Tree Working
    • Security - Allow setting authentication function
  • Tutorials/Website

    • Using QDB to enable DuckDB IPC
    • Using QDB to query python direct from tableau / every popular combo......
    • Using QDB to enable polars SQL IPC
  • Deploy

    • Provide mac built package
    • Provide linux built package
    • Get into linux package managers
    • Get into mac package managers
  • KDB

    • Subscribe to streaming data
    • KDB Server ability to allow users to send data in from a kdb+ process?
    • Q Language?
  • Misc

    • K Language?
    • Other languages?

Metadata

Release files for mypythondb 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mypythondb 0.2.4
File Size Uploaded Provenance Actions
mypythondb-0.2.4.tar.gz 15.0 kB Without provenance Details for mypythondb-0.2.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mypythondb 0.2.4
File Interpreter ABI Platform Actions
mypythondb-0.2.4-py3-none-any.whl Python 3 none any Details for mypythondb-0.2.4-py3-none-any.whl

Total release size: 30.6 kB

Release files / mypythondb-0.2.4.tar.gz

Download URL mypythondb-0.2.4.tar.gz
Size 15.0 kB
Tags Source
SHA-256 checksum
How to use checksums
25a2218a3c29689ad0e3f871f862a068bfcaecd6d88eaaacdeff4e1e4309e4b7
BLAKE2b-256 checksum
How to use checksums
90dc8f506228d4c0388e9749040a70789136bb223bfffc98012d800cb29b8f5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.9 Linux/6.5.0-1024-azure

Release files / mypythondb-0.2.4-py3-none-any.whl

Download URL mypythondb-0.2.4-py3-none-any.whl
Size 15.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4bf583f8c7b9542d72aa8749a487e23ed9f27ccfb7ef67f41d9cd6ed95bf1d89
BLAKE2b-256 checksum
How to use checksums
3910a09271065e31b95e6312785d59594f463be24bb8c71fe476127df2db0ae4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.9 Linux/6.5.0-1024-azure

Security for mypythondb 0.2.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.4 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page