diff --git a/README.md b/README.md index 61954e9f7..7fedbb709 100644 --- a/README.md +++ b/README.md @@ -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). > diff --git a/mssql_python/pybind/configure_dylibs.sh b/mssql_python/pybind/configure_dylibs.sh index 7b4781650..523da3a69 100755 --- a/mssql_python/pybind/configure_dylibs.sh +++ b/mssql_python/pybind/configure_dylibs.sh @@ -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 diff --git a/mssql_python_odbc/__init__.py b/mssql_python_odbc/__init__.py index 777eb56ac..33e6ded10 100644 --- a/mssql_python_odbc/__init__.py +++ b/mssql_python_odbc/__init__.py @@ -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: diff --git a/tests/test_026_odbc_provider.py b/tests/test_026_odbc_provider.py index d6ba33983..ae0e47642 100644 --- a/tests/test_026_odbc_provider.py +++ b/tests/test_026_odbc_provider.py @@ -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, @@ -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