purepyodbc
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 pyodbctoimport purepyodbc as pyodbcand 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| purepyodbc-0.1.0.tar.gz | 14.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.