Skip to main content

purepyodbc

CI GitHub PyPI PyPI - Format PyPI - Status PyPI - Implementation PyPI - Python Version

What is this?

This project provides a "pure python" ODBC bridge. Or at least as "pure" as it can possibly be.

Project aims

  • Implement the DB API 2.0 specification.
  • Become API-equivalent to the well-known pyodbc.
  • Act as a drop-in replacement for pyodbc for situations where C++ compilation is undesirable, or where pyodbc is otherwise not available.
  • Users should be able to change import pyodbc to import purepyodbc as pyodbc and have it Just Work™.

Project non-aims

  • Performance (at least in the short- to mid-term)
  • Features other than those offered by pyodbc

Installation

Python/pip

The easy bit is installing this package; You just pip install purepyodbc.

ODBC setup

Here is a rough diagram showing how all the pieces hang together.

  graph LR;
      purepyodbc[Python/purepyodbc]<-->drivermanager[ODBC Driver Manager];
      drivermanager-->driver[ODBC Driver];
      driver-->database[(Database)];
	  database-->driver;
	  driver-->drivermanager;
	  drivermanager-->purepyodbc

You will need an ODBC driver manager installed on your system. On Windows, you probably don't need to install anything. On Linux (and possibly macOS and other *nix-likes although we don't test it), unixODBC is probably best although others may work.

Once you've got that, you'll need one or more ODBC driver for whichever database(s) you want to talk to. Just as purepyodbc talks to the driver manager, the driver manager talks to the driver(s).

Supported ODBC configurations

(To be expanded upon in due course)

Operating System Driver Manager Driver Database Server
Windows Windows ODBC Driver 17 for SQL Server SQL Server
Windows Windows SQL Server SQL Server
Windows Windows PostgreSQL Unicode PostgreSQL
Linux unixODBC ODBC Driver 17 for SQL Server SQL Server
Linux unixODBC FreeTDS SQL Server
Linux unixODBC PostgreSQL Unicode PostgreSQL

Usage

This section is intentionally brief for now, as the project is very immature.

Anything you would normally do with pyodbc should be possible here.

If it's not, then raise an issue so I can track what people actually want.

Metadata

Release files for purepyodbc 0.1.0

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

Source distribution (sdist)

Source distribution for purepyodbc 0.1.0
File Size Uploaded Provenance
purepyodbc-0.1.0.tar.gz 14.5 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 31.6 kB

Release files / purepyodbc-0.1.0.tar.gz

Download URL purepyodbc-0.1.0.tar.gz
Size 14.5 kB
Tags Source
SHA-256 checksum
How to use checksums
bd360cecdd766b2301c2dbd9e7058e5cbf2cf6e0b34c429e31e8056897e5cd41
BLAKE2b-256 checksum
How to use checksums
235fe8071c6d66aed49fbe16242b887e9f581628a37bf9565c5b070f435ad0bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.9.20 Linux/6.5.0-1025-azure

Release files / purepyodbc-0.1.0-py3-none-any.whl

Download URL purepyodbc-0.1.0-py3-none-any.whl
Size 17.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
11f35ac7cada3fe2f3f21c43b2c3a0c46b23f1e167fada142444d2f95c2500e2
BLAKE2b-256 checksum
How to use checksums
a64525bd0aa5ba849f5fdae0801f8bfad20b501aaba844fad38a28925297cfcb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.9.20 Linux/6.5.0-1025-azure

Security for purepyodbc 0.1.0

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.

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