SQLAlchemy support for BDE Paradox tables
Project description
SQLAlchemy-Paradox
A SQLAlchemy dialect for the Microsoft Paradox DB ODBC Driver
Objectives
This dialect is mainly intended to offer an easy way to access the
Paradox DB flat-file databases of older or EOL'd application-specific
softwares. It is designed for use with the ODBC driver included with
most versions of Microsoft Windows, Microsoft Paradox Driver (*.db)
ODBCJT32.DLL.
Pre-requisites
-
A System or User DSN configured to use the Microsoft Paradox driver
-
32-bit Python. The Microsoft Paradox driver may come in a 64-bit version, but using it might run into the same "bittedness" issue experienced with other JET-based ODBC drivers.
Co-requisites
This dialect requires SQLAlchemy and pyodbc. They are both specified as
requirements so pip
will install them if they are not already in
place. To install separately, just:
pip install -U SQLAlchemy pyodbc
Installation
PyPI-published version:
pip install -U sqlalchemy-paradox
Absolute bleeding-edge (probably buggy):
pip install -U git+https://github.com/the-wondersmith/sqlalchemy-paradox
Getting Started
Create an ODBC DSN (Data Source Name)
that points to the directory
containing your Paradox table files.
Then, in your Python app, you can connect to the database via:
import sqlalchemy_paradox
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
db = create_engine("paradox+pyodbc://@your_dsn", echo=False)
super_session = sessionmaker(bind=db)
super_session.configure(autoflush=True, autocommit=True, expire_on_commit=True)
session = super_session()
The SQLAlchemy Project
SQLAlchemy-Paradox is based on SQLAlchemy-access, which is part of the SQLAlchemy Project and tries to adhere to the same standards and conventions as the core project.
At the time of this writing, it's unlikely that SQLAlchemy-Paradox actually does comply with the aforementioned standards and conventions. That will be rectified (if and when) in a future release.
Development / Bug reporting / Pull requests
SQLAlchemy maintains a Community Guide detailing guidelines on coding and participating in that project.
While I'm aware that this project could desperately use the participation of anyone else who actually knows what they're doing, Paradox DB may be so esoteric and obscure (at the time of this writing) that I wouldn't reasonably expect anyone to actually want to. If I am mistaken in that belief, please God submit a pull request.
This library technically works, but it's far from feature-complete.
License
This library is derived almost in its entirety from the SQLAlchemy-Access library written by Gord Thompson. As such, and given that SQLAlchemy-access is distributed under the MIT license, this library is subject to the same licensure and grant of rights as its parent works SQLALchemy and SQLAlchemy-Access.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sqlalchemy-paradox-0.1.0.tar.gz
.
File metadata
- Download URL: sqlalchemy-paradox-0.1.0.tar.gz
- Upload date:
- Size: 14.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.0b2 CPython/3.8.3 Darwin/18.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c134705e84cc4cb74bec2434b67663b3ae29bf6d16b3bb38d2ec21377770203b |
|
MD5 | c3d8f57e80f7f76125ccf9dd19c5f105 |
|
BLAKE2b-256 | c900f43f476009ff5b5277d7e99366d9be3f790b49e418fd03d25cbc899c5201 |
File details
Details for the file sqlalchemy_paradox-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: sqlalchemy_paradox-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.0b2 CPython/3.8.3 Darwin/18.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31791e1d86e0e64d7a67eb5dafc048be9f7f179daded28dfcc63da953ab603dd |
|
MD5 | 5568d025e80f8ba8214ab047b9a7249e |
|
BLAKE2b-256 | c0c7a342f8f70890386d85cf64388db170d565f4382fb609f7b1564a770dc245 |