JayDeBeApi
Use JDBC database drivers from Python 2/3 or Jython with a DB-API.
Decision gist · record as of 2026-08-14
Yes, with conditions. Install if you need to access a JDBC-only database from Python and have no alternative DB-API driver, or if you must support both cPython and Jython with shared code. The low install friction and zero known vulnerabilities are positive. However, dormant maintenance (no updates since 2020) and the requirement for a properly configured Java environment and JPype1 are significant constraints. Verify that JPype1 compatibility matches your Python and Java versions before committing.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Java runtime environment with JAVA_HOME environment variable set correctly; JPype1 must be installed and properly configured to load the Java Virtual Machine.
- Low install friction with pure-Python wheels available.
- Maintenance is dormant (last release 2020-06-12, 2254 days ago), though the repository remains active.
License · maintenance · safety
GNU LGPL (copyleft) — Licensed under GNU LGPL (copyleft). Derivative works and modifications must be distributed under compatible terms; proprietary applications using this package must comply with LGPL obligations.
last release 2020-06-12 (2254 days) · last repo commit 2024-07-03 · 381 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 17,560,588 downloads/mo, #1,112 on PyPI
Alternatives
Verify before relying
import jaydebeapi
conn = jaydebeapi.connect(
"org.hsqldb.jdbcDriver",
"jdbc:hsqldb:mem:.",
["SA", ""],
"/path/to/hsqldb.jar"
)
curs = conn.cursor()
curs.execute("select * from table")
results = curs.fetchall()
curs.close()
conn.close()- Current compatibility with JPype1 versions beyond 0.7.5 (last tested version in changelog).
- Whether Python 2 support remains functional or is effectively deprecated despite classifier presence.
- Compatibility with modern JDBC drivers and Java versions beyond those mentioned in documentation.
What it is and what it does
JayDeBeApi is a Python-to-Java bridge that lets you use JDBC database drivers from Python code as if they were native Python database libraries. It implements the DB-API v2.0 standard, so you can write database code that looks familiar to Python developers while leveraging the broad ecosystem of JDBC drivers that support databases like Oracle, DB2, SQL Server, PostgreSQL, MySQL, and many others. The package works on both cPython (using JPype1 to call Java) and Jython (which runs on the Java Virtual Machine natively), allowing you to use the same code across both Python implementations with minimal changes.
The core workflow is straightforward: you call `jaydebeapi.connect()` with a JDBC driver class name, connection URL, credentials, and optionally the path to the driver JAR file. This returns a standard DB-API connection object with cursor support for executing SQL and fetching results. The package handles type conversion between Java and Python, supports context managers (the `with` statement), and raises DB-API-compliant exceptions. However, it requires a working Java environment and proper JPype1 setup, and the project is no longer actively maintained—the last release was in June 2020.
Use it for
- Access enterprise databases (Oracle, DB2, Teradata) from Python when native Python drivers are unavailable or when you need JDBC-specific functionality.
- Write database code that runs on both cPython and Jython without significant modification, leveraging Java's cross-platform JDBC ecosystem.
- Connect to specialized or legacy databases with JDBC drivers but no Python DB-API adapter, using a standard Python interface.
- Integrate Python data processing scripts with Java-based data warehouse or analytics platforms that expose JDBC connections.
- Build hybrid Python-Java applications where database access must be consistent across both runtime environments.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
Install if you need to access a JDBC-only database from Python and have no alternative DB-API driver, or if you must support both cPython and Jython with shared code. The low install friction and zero known vulnerabilities are positive. However, dormant maintenance (no updates since 2020) and the requirement for a properly configured Java environment and JPype1 are significant constraints. Verify that JPype1 compatibility matches your Python and Java versions before committing.
Install
jaydebeapi on PyPI
Before you install
Low install friction with pure-Python wheels available. Maintenance is dormant (last release 2020-06-12, 2254 days ago), though the repository remains active. JPype1 is the sole runtime dependency and must be properly installed; the package has been tested with JPype1 0.6.3, 0.7.0, and 0.7.5.
Requires Java runtime environment with JAVA_HOME environment variable set correctly; JPype1 must be installed and properly configured to load the Java Virtual Machine.
License in practice
Licensed under GNU LGPL (copyleft). Derivative works and modifications must be distributed under compatible terms; proprietary applications using this package must comply with LGPL obligations.
Quickstart
import jaydebeapi
conn = jaydebeapi.connect(
"org.hsqldb.jdbcDriver",
"jdbc:hsqldb:mem:.",
["SA", ""],
"/path/to/hsqldb.jar"
)
curs = conn.cursor()
curs.execute("select * from table")
results = curs.fetchall()
curs.close()
conn.close()
Verify before relying
- Current compatibility with JPype1 versions beyond 0.7.5 (last tested version in changelog).
- Whether Python 2 support remains functional or is effectively deprecated despite classifier presence.
- Compatibility with modern JDBC drivers and Java versions beyond those mentioned in documentation.
Package facts
| License | GNU LGPL copyleft |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packageJPype1 |
| Maintenance | Dormant 2,254 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 17,560,588 / month, #1,112 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)Programming Language :: JavaProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: DatabaseTopic :: Software Development :: Libraries :: Java LibrariesTopic :: Software Development :: Libraries :: Python Modules |
Evidence: JayDeBeApi-1.2.3-py2-none-any.whl; JayDeBeApi-1.2.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “jdbc database driver python”
- JayDeBeApiJayDeBeApi bridges Python to Java JDBC database drivers, providing a…
- sqlalchemy-jdbcapiSQLAlchemy dialect for JDBC and ODBC database connections with…
- pyathenajdbcPyAthenaJDBC wraps the Amazon Athena JDBC driver to provide a Python…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also apache-airflow-providers-jdbc · jpype1 · sqlalchemy-jdbcapi · dmpython · pyathenajdbc · intersystems-irispython · ibm-db · PyMySQL · pinotdb · hdbcli