Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ The driver is compatible with all the Python versions >= 3.10
>
> - Package: `mssql-python-odbc`
> - Import name: `mssql_python_odbc`
> - Source dependency version (release preparation): **18.6.2.2**
> - Current version: **18.6.2.1**
>
> Builds from this source pin `mssql-python-odbc==18.6.2.2`, a packaging-only revision that separates glibc (manylinux) and Alpine/musl (musllinux) wheel contents without changing the native driver binaries. This release preparation does not publish the package. Already-published `mssql-python` releases that pin `mssql-python-odbc==18.6.2.1` retain that dependency; they do not automatically adopt the new revision. The ODBC driver is loaded lazily when the first connection is created. `pip install mssql-python` transparently pulls the companion version required by the selected release — no separate install step is required.
> `mssql-python` depends on `mssql-python-odbc==18.6.2.1`. The ODBC driver is loaded lazily when the first connection is created. `pip install mssql-python` transparently pulls the companion package alongside it — no separate install step is required.
>
> Starting with v1.13.0, the bundled `libs/` fallback that shipped in v1.12.0 has been removed. For pip installations, creating a connection will fail if `mssql-python-odbc` is not installed. If you install `mssql-python` from a private index or with `--no-deps`, make sure the exact `mssql-python-odbc` version specified in that release's dependency metadata is installed alongside it.
> Starting with v1.13.0, the bundled `libs/` fallback that shipped in v1.12.0 has been removed. For pip installations, creating a connection will fail if `mssql-python-odbc` is not installed. If you install `mssql-python` from a private index or with `--no-deps`, make sure `mssql-python-odbc==18.6.2.1` is installed alongside it.
>
> The **temporary Conda candidate** instead combines the code and ODBC payload in one `mssql-python` Conda package. It does not require a separately installed Conda ODBC package. This is not an announcement of public channel availability or release qualification; see the [Conda installation, migration, and readiness guide](conda/README.md).
>
Expand Down
2 changes: 1 addition & 1 deletion mssql_python/pybind/configure_dylibs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ if [ ! -f "$ODBC_VERSION_FILE" ]; then
exit 1
fi

DRIVER_MAJOR=$(sed -nE "s/^__version__[[:space:]]*=[[:space:]]*['\"]([0-9]+)\.[0-9]+\.[0-9]+(\.[0-9]+)?['\"].*/\1/p" "$ODBC_VERSION_FILE" | head -1)
DRIVER_MAJOR=$(sed -nE "s/^__version__[[:space:]]*=[[:space:]]*['\"]([0-9]+)\.[0-9]+\.[0-9]+['\"].*/\1/p" "$ODBC_VERSION_FILE" | head -1)
if [ -z "$DRIVER_MAJOR" ]; then
echo "Error: failed to parse __version__ from $ODBC_VERSION_FILE"
exit 1
Expand Down
15 changes: 6 additions & 9 deletions mssql_python_odbc/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,12 @@
# The bundled Microsoft ODBC driver is 18.6; the trailing components are
# mssql-python-odbc's own packaging-revision counter. 18.6.2.1 is a metadata-only
# re-release of 18.6.2 (license label corrected MIT -> proprietary; identical
# binaries). 18.6.2.2 separates Linux wheel contents by libc: manylinux ships
# glibc variants, while musllinux ships only Alpine/musl, for x86-64 and ARM64.
# This is a packaging-only revision, not a new native driver build. A literal
# "v1" suffix is not a valid PEP 440 version and +local versions are rejected by
# PyPI, so the revision is expressed as a fourth numeric component.
# ``mssql_python/pybind/CMakeLists.txt`` uses the leading MAJOR.MINOR, while
# ``configure_dylibs.sh`` uses only MAJOR. Both accept the packaging revision
# without changing the resolved native driver filenames.
__version__ = "18.6.2.2"
# binaries) -- the trailing ".1" is packaging revision 1. A literal "v1" suffix
# is not a valid PEP 440 version and +local versions are rejected by PyPI, so the
# revision is expressed as a fourth numeric component. ``mssql_python/pybind/
# CMakeLists.txt`` parses only the leading MAJOR.MINOR from this value, so the
# extra component does not affect the resolved driver filename.
__version__ = "18.6.2.1"


def get_libs_dir() -> str:
Expand Down
3 changes: 1 addition & 2 deletions tests/test_026_odbc_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
import pytest

import mssql_python
import mssql_python_odbc
from mssql_python.odbc_provider import (
NATIVE_PROVIDER_ENV_VAR,
PROVIDER_MSODBCSQL18,
Expand Down Expand Up @@ -229,7 +228,7 @@ def test_get_info_before_and_after_resolve(monkeypatch):
info = ProviderManager.get_info()
assert info["id"] == PROVIDER_MSODBCSQL18
assert info["package"] == "mssql_python_odbc"
assert info["version"] == mssql_python_odbc.__version__
assert info["version"] == "18.6.2.1"
_assert_classic_driver_filename(info["driver_path"])
assert info["source"] == "default"
assert info["frozen"] is False
Expand Down
Loading