skillfed

pyodbc

DB API module for ODBC

pyodbc Permissive license MIT Active 3,078 v5.3.0 released

Install

pyodbc on PyPI

pip

pip install pyodbc

uv

uv add pyodbc

poetry

poetry add pyodbc

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 300 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: pyodbc-5.3.0-cp310-cp310-macosx_10_9_x86_64.whl; pyodbc-5.3.0-cp310-cp310-macosx_11_0_arm64.whl; pyodbc-5.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; pyodbc-5.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; pyodbc-5.3.0-cp310-cp310-musllinux_1_2_aarch64.whl; pyodbc-5.3.0-cp310-cp310-musllinux_1_2_x86_64.whl; pyodbc-5.3.0-cp310-cp310-win32.whl; pyodbc-5.3.0-cp310-cp310-win_amd64.whl; pyodbc-5.3.0-cp310-cp310-win_arm64.whl; pyodbc-5.3.0-cp311-cp311-macosx_10_9_x86_64.whl; pyodbc-5.3.0-cp311-cp311-macosx_11_0_arm64.whl; pyodbc-5.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; pyodbc-5.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; pyodbc-5.3.0-cp311-cp311-musllinux_1_2_aarch64.whl; pyodbc-5.3.0-cp311-cp311-musllinux_1_2_x86_64.whl; pyodbc-5.3.0-cp311-cp311-win32.whl; pyodbc-5.3.0-cp311-cp311-win_amd64.whl; pyodbc-5.3.0-cp311-cp311-win_arm64.whl; pyodbc-5.3.0-cp312-cp312-macosx_10_13_x86_64.whl; pyodbc-5.3.0-cp312-cp312-macosx_11_0_arm64.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: System AdministratorsOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Database

About pyodbc

from the package's own PyPI description — quoted content, verbatim

pyodbc

Windows build (image) Ubuntu build (image) PyPI (image)

pyodbc is an open source Python module that makes accessing ODBC databases simple. It implements the DB API 2.0 specification but is packed with even more Pythonic convenience.

The easiest way to install pyodbc is to use pip:

python -m pip install pyodbc

On Macs, you should probably install unixODBC first if you don't already have an ODBC driver manager installed. For example, using the homebrew package manager:

brew install unixodbc
python -m pip install pyodbc

Similarly, on Unix you should make sure you have an ODBC driver manager installed before installing pyodbc. See the...

Read as markdown · JSON record · Source repository · Homepage

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

pyodbc provides a Python interface to ODBC databases, implementing the DB API 2.0 specification for simple, Pythonic database access across Windows, macOS, and Linux.

Medium install friction due to C++ extension compilation requirements and system-level ODBC driver manager dependencies (unixODBC on macOS/Unix, built-in on Windows). Precompiled wheels available for Python 3.10 and 3.11 on major platforms reduce friction. Active maintenance with last commit on 2026-06-06.

MIT license permits commercial and private use with minimal restrictions; attribution required but no copyleft obligations.

Usage

import pyodbc
conn = pyodbc.connect('Driver={ODBC Driver};Server=server;Database=db;UID=user;PWD=pass')
cursor = conn.cursor()
cursor.execute('SELECT * FROM table')
for row in cursor:
    print(row)

System ODBC driver manager must be installed (unixODBC on macOS/Unix; built-in on Windows). Requires Python >=3.9 and a C++ compiler if building from source.

Verdict: pyodbc is a mature, actively maintained DB API 2.0 implementation with broad platform support and no known vulnerabilities. Medium install friction stems from C++ compilation and system ODBC dependencies, but precompiled wheels and permissive MIT licensing make it a solid choice for ODBC database access.

Needs verification

  • Whether precompiled wheels cover Python 3.9 deployments, as friction evidence shows wheels only for 3.10 and 3.11
  • Performance characteristics and connection pooling capabilities
odbc database connection pythondb api 2.0 implementationsql server access pythondatabase connectivity odbccross-platform database driverpython odbc wrapper

Similar packages