Skip to content
Open
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
2 changes: 1 addition & 1 deletion .github/workflows/get-python-versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
steps:
- id: extract-versions
run: |
python_versions='[ "3.11", "3.12", "3.13" ]'
python_versions='[ "3.11", "3.12", "3.13", "3.14" ]'

echo "python-versions=${python_versions}" >> $GITHUB_OUTPUT
echo "earliest-python-version=$(echo "${python_versions}" | jq --raw-output '.[0]')" >> $GITHUB_OUTPUT
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linter_docs_mypy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,4 @@ jobs:

- name: Run mypy
run: |
mypy --show-error-codes hazelcast
mypy --show-error-codes --python-version 3.14 hazelcast
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.PHONY: check test test-cover

check:
mypy --show-error-codes hazelcast
mypy --show-error-codes --python-version 3.14 hazelcast
black --check --config black.toml .

test:
Expand Down
1 change: 1 addition & 0 deletions examples/map/map_portable_versioning_example.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ def __eq__(self, other):
# However, having a version that changes across incompatible field types such as int and String will cause
# a type error as members with older versions of the class tries to access it. We will demonstrate this below.


# Version3: Changed age field type from int to String. (Incompatible type change)
class Employee3(Portable):
FACTORY_ID = 666
Expand Down
1 change: 1 addition & 0 deletions hazelcast/core.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Hazelcast Core objects and constants."""

import json
import typing
import uuid
Expand Down
6 changes: 3 additions & 3 deletions hazelcast/internal/asyncio_proxy/vector_collection.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,9 +165,9 @@ def _search_near_vector_internal(
hints: Dict[str, str] = None
) -> asyncio.Future[List[SearchResult]]:
def handler(message):
results: List[
SearchResult
] = vector_collection_search_near_vector_codec.decode_response(message)
results: List[SearchResult] = (
vector_collection_search_near_vector_codec.decode_response(message)
)
for result in results:
if result.key is not None:
result.key = self._to_object(result.key)
Expand Down
6 changes: 3 additions & 3 deletions hazelcast/proxy/vector_collection.py
Original file line number Diff line number Diff line change
Expand Up @@ -342,9 +342,9 @@ def _search_near_vector_internal(
hints: Dict[str, str] = None
) -> Future[List[SearchResult]]:
def handler(message):
results: List[
SearchResult
] = vector_collection_search_near_vector_codec.decode_response(message)
results: List[SearchResult] = (
vector_collection_search_near_vector_codec.decode_response(message)
)
for result in results:
if result.key is not None:
result.key = self._to_object(result.key)
Expand Down
1 change: 1 addition & 0 deletions hazelcast/serialization/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
"""
Serialization Module
"""

from hazelcast.serialization.bits import *
from hazelcast.serialization.service import SerializationServiceV1
1 change: 1 addition & 0 deletions hazelcast/serialization/api.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""
User API for Serialization.
"""

import abc
import datetime
import decimal
Expand Down
1 change: 1 addition & 0 deletions hazelcast/serialization/serialization_const.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""
Serialization type ids
"""

# Serialization Constants
CONSTANT_TYPE_NULL = 0
CONSTANT_TYPE_PORTABLE = -1
Expand Down
2 changes: 1 addition & 1 deletion requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
-r requirements-test.txt
black==22.3.0
black==25.12.0
Sphinx==7.2.6
sphinx-rtd-theme==2.0.0
mypy==0.940
4 changes: 2 additions & 2 deletions requirements-test.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ thrift==0.13.0
psutil>=5.8.0
mock==3.0.5
parameterized==0.7.4
pytest==6.2.5
pytest-cov==3.0.0
pytest==9.0.2
pytest-cov==7.0.0
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Software Development :: Libraries :: Python Modules",
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ def test_emoji(self):
self.assertEqual(value, response)

def test_utf_chars(self):
value = "\u0040\u0041\u01DF\u06A0\u12E0\u1D306"
value = "\u0040\u0041\u01df\u06a0\u12e0\u1d306"
self.map.set("key", value)
self.assertEqual(value, self.map.get("key"))
response = self.get_from_server()
Expand Down Expand Up @@ -359,7 +359,9 @@ def test_double_array_from_server(self):
self.assertEqual([3123.0, -123.0], self.map.get("key"))

def test_string_array_from_server(self):
self.assertTrue(self.set_on_server('Java.to(["hey", "1⚐中💦2😭‍🙆😔5"], "java.lang.String[]")'))
self.assertTrue(
self.set_on_server('Java.to(["hey", "1⚐中💦2😭‍🙆😔5"], "java.lang.String[]")')
)
self.assertEqual(["hey", "1⚐中💦2😭‍🙆😔5"], self.map.get("key"))

def test_date_from_server(self):
Expand Down
16 changes: 8 additions & 8 deletions tests/integration/dbapi/dbapi20.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
#!/usr/bin/env python
""" Python DB API 2.0 driver compliance unit test suite.

This software is Public Domain and may be used without restrictions.
"""Python DB API 2.0 driver compliance unit test suite.

"Now we have booze and barflies entering the discussion, plus rumours of
DBAs on drugs... and I won't tell you what flashes through my mind each
time I read the subject line with 'Anal Compliance' in it. All around
this is turning out to be a thoroughly unwholesome unit test."
This software is Public Domain and may be used without restrictions.

-- Ian Bicking
"Now we have booze and barflies entering the discussion, plus rumours of
DBAs on drugs... and I won't tell you what flashes through my mind each
time I read the subject line with 'Anal Compliance' in it. All around
this is turning out to be a thoroughly unwholesome unit test."

-- Ian Bicking
"""

__version__ = "1.15.0"
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/serialization/serializers_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ def test_string(self):
self.validate("client")
self.validate("1⚐中💦2😭‍🙆😔5")
self.validate("Iñtërnâtiônàlizætiøn")
self.validate("\u0040\u0041\u01DF\u06A0\u12E0\u1D30")
self.validate("\u0040\u0041\u01df\u06a0\u12e0\u1d30")

def test_bytearray(self):
self.validate(bytearray("abc".encode()))
Expand Down
Loading