Merge branch 'master' of github.com:mongodb/mongo-python-driver
This commit is contained in:
commit
fc3ce9d64f
@ -37,7 +37,7 @@ export PIP_QUIET=1 # Quiet by default
|
||||
export PIP_PREFER_BINARY=1 # Prefer binary dists by default
|
||||
|
||||
set +x
|
||||
PYTHON_IMPL=$(uv run python -c "import platform; print(platform.python_implementation())")
|
||||
PYTHON_IMPL=$(uv run --frozen python -c "import platform; print(platform.python_implementation())")
|
||||
|
||||
# Try to source local Drivers Secrets
|
||||
if [ -f ./secrets-export.sh ]; then
|
||||
@ -49,11 +49,11 @@ fi
|
||||
|
||||
# Start compiling the args we'll pass to uv.
|
||||
# Run in an isolated environment so as not to pollute the base venv.
|
||||
UV_ARGS=("--isolated --extra test")
|
||||
UV_ARGS=("--isolated --frozen --extra test")
|
||||
|
||||
# Ensure C extensions if applicable.
|
||||
if [ -z "${NO_EXT:-}" ] && [ "$PYTHON_IMPL" = "CPython" ]; then
|
||||
uv run tools/fail_if_no_c.py
|
||||
uv run --frozen tools/fail_if_no_c.py
|
||||
fi
|
||||
|
||||
if [ "$AUTH" != "noauth" ]; then
|
||||
@ -239,7 +239,7 @@ if [ -n "$PERF_TEST" ]; then
|
||||
fi
|
||||
|
||||
echo "Running $AUTH tests over $SSL with python $(uv python find)"
|
||||
uv run python -c 'import sys; print(sys.version)'
|
||||
uv run --frozen python -c 'import sys; print(sys.version)'
|
||||
|
||||
|
||||
# Run the tests, and store the results in Evergreen compatible XUnit XML
|
||||
|
||||
@ -32,11 +32,11 @@ if [ ! -d $BIN_DIR ]; then
|
||||
echo "export UV_PYTHON=$UV_PYTHON" >> $HERE/env.sh
|
||||
fi
|
||||
echo "Using python $UV_PYTHON"
|
||||
uv sync
|
||||
uv run --with pip pip install -e .
|
||||
uv sync --frozen
|
||||
uv run --frozen --with pip pip install -e .
|
||||
echo "Setting up python environment... done."
|
||||
|
||||
# Ensure there is a pre-commit hook if there is a git checkout.
|
||||
if [ -d .git ] && [ ! -f .git/hooks/pre-commit ]; then
|
||||
uv run pre-commit install
|
||||
uv run --frozen pre-commit install
|
||||
fi
|
||||
|
||||
7
.github/workflows/dist.yml
vendored
7
.github/workflows/dist.yml
vendored
@ -35,9 +35,10 @@ jobs:
|
||||
# https://github.com/github/feedback/discussions/7835#discussioncomment-1769026
|
||||
buildplat:
|
||||
- [ubuntu-20.04, "manylinux_x86_64", "cp3*-manylinux_x86_64"]
|
||||
- [ubuntu-20.04, "manylinux_aarch64", "cp3*-manylinux_aarch64"]
|
||||
- [ubuntu-20.04, "manylinux_ppc64le", "cp3*-manylinux_ppc64le"]
|
||||
- [ubuntu-20.04, "manylinux_s390x", "cp3*-manylinux_s390x"]
|
||||
- [ubuntu-24.04-arm, "manylinux_aarch64", "cp3*-manylinux_aarch64"]
|
||||
# Disabled pending PYTHON-5058
|
||||
# - [ubuntu-24.04, "manylinux_ppc64le", "cp3*-manylinux_ppc64le"]
|
||||
# - [ubuntu-24.04, "manylinux_s390x", "cp3*-manylinux_s390x"]
|
||||
- [ubuntu-20.04, "manylinux_i686", "cp3*-manylinux_i686"]
|
||||
- [windows-2019, "win_amd6", "cp3*-win_amd64"]
|
||||
- [windows-2019, "win32", "cp3*-win32"]
|
||||
|
||||
@ -11,6 +11,7 @@ Changes in Version 4.11.0 (YYYY/MM/DD)
|
||||
A future minor release of PyMongo will raise the minimum supported MongoDB Server version from 4.0 to 4.2.
|
||||
This is in accordance with [MongoDB Software Lifecycle Schedules](https://www.mongodb.com/legal/support-policy/lifecycles).
|
||||
**Support for MongoDB Server 4.0 will be dropped in a future release!**
|
||||
.. warning:: This version does not include wheels for ``ppc64le`` or ``s390x`` architectures, see `PYTHON-5058`_ for more information.
|
||||
|
||||
PyMongo 4.11 brings a number of changes including:
|
||||
|
||||
@ -49,6 +50,7 @@ in this release.
|
||||
.. _PyMongo 4.11 release notes in JIRA: https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=40784
|
||||
.. _PYTHON-5027: https://jira.mongodb.org/browse/PYTHON-5027
|
||||
.. _PYTHON-5024: https://jira.mongodb.org/browse/PYTHON-5024
|
||||
.. _PYTHON-5058: https://jira.mongodb.org/browse/PYTHON-5058
|
||||
|
||||
Changes in Version 4.10.1 (2024/10/01)
|
||||
--------------------------------------
|
||||
|
||||
2
justfile
2
justfile
@ -4,7 +4,7 @@ set dotenv-load
|
||||
set dotenv-filename := "./.evergreen/scripts/env.sh"
|
||||
|
||||
# Commonly used command segments.
|
||||
uv_run := "uv run --isolated "
|
||||
uv_run := "uv run --isolated --frozen "
|
||||
typing_run := uv_run + "--group typing --extra aws --extra encryption --extra ocsp --extra snappy --extra test --extra zstd"
|
||||
docs_run := uv_run + "--extra docs"
|
||||
doc_build := "./doc/_build"
|
||||
|
||||
@ -60,10 +60,10 @@ ORDERED_TYPES: Sequence[Type] = (SON, OrderedDict)
|
||||
|
||||
# Defaults until we connect to a server and get updated limits.
|
||||
MAX_BSON_SIZE = 16 * (1024**2)
|
||||
MAX_MESSAGE_SIZE: int = 2 * MAX_BSON_SIZE
|
||||
MAX_MESSAGE_SIZE = 48 * 1000 * 1000
|
||||
MIN_WIRE_VERSION = 0
|
||||
MAX_WIRE_VERSION = 0
|
||||
MAX_WRITE_BATCH_SIZE = 1000
|
||||
MAX_WRITE_BATCH_SIZE = 100000
|
||||
|
||||
# What this version of PyMongo supports.
|
||||
MIN_SUPPORTED_SERVER_VERSION = "4.0"
|
||||
|
||||
@ -133,7 +133,7 @@ class Hello(Generic[_DocumentType]):
|
||||
|
||||
@property
|
||||
def max_message_size(self) -> int:
|
||||
return self._doc.get("maxMessageSizeBytes", 2 * self.max_bson_size)
|
||||
return self._doc.get("maxMessageSizeBytes", common.MAX_MESSAGE_SIZE)
|
||||
|
||||
@property
|
||||
def max_write_batch_size(self) -> int:
|
||||
|
||||
@ -23,6 +23,7 @@ from test import unittest
|
||||
|
||||
from bson.int64 import Int64
|
||||
from bson.objectid import ObjectId
|
||||
from pymongo import common
|
||||
from pymongo.hello import Hello, HelloCompat
|
||||
from pymongo.server_description import ServerDescription
|
||||
from pymongo.server_type import SERVER_TYPE
|
||||
@ -132,11 +133,13 @@ class TestServerDescription(unittest.TestCase):
|
||||
self.assertEqual(4, s.min_wire_version)
|
||||
self.assertEqual(25, s.max_wire_version)
|
||||
|
||||
def test_default_max_message_size(self):
|
||||
s = parse_hello_response({"ok": 1, HelloCompat.LEGACY_CMD: True, "maxBsonObjectSize": 2})
|
||||
|
||||
# Twice max_bson_size.
|
||||
self.assertEqual(4, s.max_message_size)
|
||||
def test_defaults(self):
|
||||
s = parse_hello_response({"ok": 1, HelloCompat.LEGACY_CMD: True})
|
||||
self.assertEqual(common.MAX_BSON_SIZE, s.max_bson_size)
|
||||
self.assertEqual(common.MAX_MESSAGE_SIZE, s.max_message_size)
|
||||
self.assertEqual(common.MIN_WIRE_VERSION, s.min_wire_version)
|
||||
self.assertEqual(common.MAX_WIRE_VERSION, s.max_wire_version)
|
||||
self.assertEqual(common.MAX_WRITE_BATCH_SIZE, s.max_write_batch_size)
|
||||
|
||||
def test_standalone(self):
|
||||
s = parse_hello_response({"ok": 1, HelloCompat.LEGACY_CMD: True})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user