ralph
ralph copied to clipboard
⬆️(project) upgrade python dependencies
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| anyio (changelog) | ==4.9.0 -> ==4.11.0 |
||
| bcrypt | ==4.2.0 -> ==5.0.0 |
||
| black (changelog) | ==24.8.0 -> ==25.9.0 |
||
| cachetools | ==5.5.0 -> ==6.2.1 |
||
| click (changelog) | >=8.1.0,<8.2.1 -> >=8.3.0,<8.4.0 |
||
| clickhouse-connect | <0.8 -> <0.10 |
||
| cryptography (changelog) | ==43.0.1 -> ==46.0.3 |
||
| elasticsearch | >=8.0.0,<9.0.0 -> >=9.2.0,<9.3.0 |
||
| factory-boy | ==3.3.1 -> ==3.3.3 |
||
| fastapi (changelog) | ==0.114.2 -> ==0.121.0 |
||
| importlib-metadata | >=8.5, <8.6 -> >=8.7, <8.8 |
||
| mkdocs-click (changelog) | ==0.8.1 -> ==0.9.0 |
||
| mkdocs-material (changelog) | ==9.5.34 -> ==9.6.23 |
||
| mkdocstrings (changelog) | ==0.26.1 -> ==0.30.1 |
||
| moto (changelog) | ==5.0.14 -> ==5.1.16 |
||
| mypy (changelog) | ==1.11.2 -> ==1.18.2 |
||
| neoteroi-mkdocs | ==1.1.0 -> ==1.1.3 |
||
| polyfactory (changelog) | ==2.16.2 -> ==2.22.3 |
||
| pyfakefs (changelog) | ==5.6.0 -> ==5.10.2 |
||
| pymdown-extensions | ==10.9 -> ==10.16.1 |
||
| pytest (changelog) | ==8.3.5 -> ==8.4.2 |
||
| pytest-cov (changelog) | ==5.0.0 -> ==7.0.0 |
||
| python-jose (changelog) | ==3.3.0 -> ==3.5.0 |
||
| responses (changelog) | ==0.25.3 -> ==0.25.8 |
||
| ruff (source, changelog) | ==0.6.5 -> ==0.14.3 |
||
| sentry-sdk (changelog) | ==2.14.0 -> ==2.43.0 |
||
| twine | ==5.1.1 -> ==6.2.0 |
||
| types-cachetools (changelog) | ==5.5.0.20240820 -> ==6.2.0.20251022 |
||
| types-python-dateutil (changelog) | ==2.9.0.20240906 -> ==2.9.0.20251008 |
||
| types-python-jose (changelog) | ==3.3.4.20240106 -> ==3.5.0.20250531 |
||
| types-requests (changelog) | <2.32.0.20240915 -> <2.32.4.20250914 |
||
| uvicorn (changelog) | ==0.30.6 -> ==0.38.0 |
||
| websockets (changelog) | >=13.0,<14.0 -> >=15,<15.1 |
Release Notes
agronholm/anyio (anyio)
v4.11.0
- Added support for cancellation reasons (the
reasonparameter toCancelScope.cancel()) (#975) - Bumped the minimum version of Trio to v0.31.0
- Added the ability to enter the event loop from foreign (non-worker) threads by passing the return value of
anyio.lowlevel.current_token()toanyio.from_thread.run()andanyio.from_thread.run_sync()as thetokenkeyword argument (#256) - Added pytest option (
anyio_mode = "auto") to make the pytest plugin automatically handle all async tests (#971) - Added the
anyio.Condition.wait_for()method for feature parity with asyncio (#974) - Changed the default type argument of
anyio.abc.TaskStatusfromAnytoNone(#964) - Fixed TCP listener behavior to guarantee the same ephemeral port is used for all socket listeners when
local_port=0(#857; PR by @11kkw and @agronholm) - Fixed inconsistency between Trio and asyncio where a TCP stream that previously raised a
BrokenResourceErroronsend()would still raiseBrokenResourceErrorafter the stream was closed on asyncio, butClosedResourceErroron Trio. They now both raise aClosedResourceErrorin this scenario. (#671)
v4.10.0
- Added the
feed_data()method to theBufferedByteReceiveStreamclass, allowing users to inject data directly into the buffer - Added various class methods to wrap existing sockets as listeners or socket streams:
SocketListener.from_socket()SocketStream.from_socket()UNIXSocketStream.from_socket()UDPSocket.from_socket()ConnectedUDPSocket.from_socket()UNIXDatagramSocket.from_socket()ConnectedUNIXDatagramSocket.from_socket()
- Added a hierarchy of connectable stream classes for transparently connecting to various remote or local endpoints for exchanging bytes or objects
- Added context manager mix-in classes (
anyio.ContextManagerMixinandanyio.AsyncContextManagerMixin) to help write classes that embed other context managers, particularly cancel scopes or task groups (#905; PR by @agronholm and @tapetersen) - Added the ability to specify the thread name in
start_blocking_portal()(#818; PR by @davidbrochart) - Added
anyio.notify_closingto allow wakinganyio.wait_readableandanyio.wait_writablebefore closing a socket. Among other things, this prevents an OSError on theProactorEventLoop. (#896; PR by @graingert) - Incorporated several documentation improvements from the EuroPython 2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan Murre, Euxenia Miruna Goia and Christoffer Fjord)
- Added a documentation page explaining why one might want to use AnyIO's APIs instead of asyncio's
- Updated the
to_interpretersmodule to use the publicconcurrent.interpretersAPI on Python 3.14 or later - Fixed
anyio.Path.copy()andanyio.Path.copy_into()failing on Python 3.14.0a7 - Fixed return annotation of
__aexit__on async context managers. CMs which can suppress exceptions should returnbool, orNoneotherwise. (#913; PR by @Enegg) - Fixed rollover boundary check in
SpooledTemporaryFileso that rollover only occurs when the buffer size exceedsmax_size(#915; PR by @11kkw) - Migrated testing and documentation dependencies from extras to dependency groups
- Fixed compatibility of
anyio.to_interpreterwith Python 3.14.0b2 (#926; PR by @hroncok) - Fixed
SyntaxWarningon Python 3.14 aboutreturninfinally(#816) - Fixed RunVar name conflicts. RunVar instances with the same name should not share storage (#880; PR by @vimfu)
- Renamed the
BrokenWorkerIntepreterexception toBrokenWorkerInterpreter. The old name is available as a deprecated alias. (#938; PR by @ayussh-verma) - Fixed an edge case in
CapacityLimiteron asyncio where a task, waiting to acquire a limiter gets cancelled and is subsequently granted a token from the limiter, but before the cancellation is delivered, and then fails to notify the next waiting task (#947)
psf/black (black)
v25.9.0
Highlights
- Remove support for pre-python 3.7
await/asyncas soft keywords/variable names (#4676)
Stable style
- Fix crash while formatting a long
delstatement containing tuples (#4628) - Fix crash while formatting expressions using the walrus operator in complex
withstatements (#4630) - Handle
# fmt: skipfollowed by a comment at the end of file (#4635) - Fix crash when a tuple appears in the
asclause of awithstatement (#4634) - Fix crash when tuple is used as a context manager inside a
withstatement (#4646) - Fix crash when formatting a
\followed by a\rfollowed by a comment (#4663) - Fix crash on a
\\r\n(#4673) - Fix crash on
await ...(where...is a literalEllipsis) (#4676) - Fix crash on parenthesized expression inside a type parameter bound (#4684)
- Fix crash when using line ranges excluding indented single line decorated items (#4670)
Preview style
- Fix a bug where one-liner functions/conditionals marked with
# fmt: skipwould still be formatted (#4552) - Improve
multiline_string_handlingwith ternaries and dictionaries (#4657) - Fix a bug where
string_processingwould not split f-strings directly after expressions (#4680) - Wrap the
inclause of comprehensions across lines if necessary (#4699) - Remove parentheses around multiple exception types in
exceptandexcept*withoutas. (#4720) - Add
\rstyle newlines to the potential newlines to normalize file newlines both from and to (#4710)
Parser
- Rewrite tokenizer to improve performance and compliance (#4536)
- Fix bug where certain unusual expressions (e.g., lambdas) were not accepted in type parameter bounds and defaults. (#4602)
Performance
- Avoid using an extra process when running with only one worker (#4734)
Integrations
- Fix the version check in the vim file to reject Python 3.8 (#4567)
- Enhance GitHub Action
psf/blackto read Black version from an additional section in pyproject.toml:[project.dependency-groups](#4606) - Build gallery docker image with python3-slim and reduce image size (#4686)
Documentation
- Add FAQ entry for windows emoji not displaying (#4714)
v25.1.0
Highlights
This release introduces the new 2025 stable style (#4558), stabilizing the following changes:
- Normalize casing of Unicode escape characters in strings to lowercase (#2916)
- Fix inconsistencies in whether certain strings are detected as docstrings (#4095)
- Consistently add trailing commas to typed function parameters (#4164)
- Remove redundant parentheses in if guards for case blocks (#4214)
- Add parentheses to if clauses in case blocks when the line is too long (#4269)
- Whitespace before
# fmt: skipcomments is no longer normalized (#4146) - Fix line length computation for certain expressions that involve the power operator (#4154)
- Check if there is a newline before the terminating quotes of a docstring (#4185)
- Fix type annotation spacing between
*and more complex type variable tuple (#4440)
The following changes were not in any previous release:
- Remove parentheses around sole list items (#4312)
- Generic function definitions are now formatted more elegantly: parameters are split over multiple lines first instead of type parameter definitions (#4553)
Stable style
- Fix formatting cells in IPython notebooks with magic methods and starting or trailing empty lines (#4484)
- Fix crash when formatting
withstatements containing tuple generators/unpacking (#4538)
Preview style
- Fix/remove string merging changing f-string quotes on f-strings with internal quotes (#4498)
- Collapse multiple empty lines after an import into one (#4489)
- Prevent
string_processingandwrap_long_dict_values_in_parensfrom removing parentheses around long dictionary values (#4377) - Move
wrap_long_dict_values_in_parensfrom the unstable to preview style (#4561)
Packaging
Performance
- Speed up the
is_fstring_startfunction in Black's tokenizer (#4541)
Integrations
- If using stdin with
--stdin-filenameset to a force excluded path, stdin won't be formatted. (#4539)
v24.10.0
Highlights
- Black is now officially tested with Python 3.13 and provides Python 3.13 mypyc-compiled wheels. (#4436) (#4449)
- Black will issue an error when used with Python 3.12.5, due to an upstream memory safety issue in Python 3.12.5 that can cause Black's AST safety checks to fail. Please use Python 3.12.6 or Python 3.12.4 instead. (#4447)
- Black no longer supports running with Python 3.8 (#4452)
Stable style
- Fix crashes involving comments in parenthesised return types or
X | Ystyle unions. (#4453) - Fix skipping Jupyter cells with unknown
%%magic (#4462)
Preview style
- Fix type annotation spacing between * and more complex type variable tuple (i.e.
def fn(*args: *tuple[*Ts, T]) -> None: pass) (#4440)
Caching
- Fix bug where the cache was shared between runs with and without
--unstable(#4466)
Packaging
- Upgrade version of mypyc used to 1.12 beta (#4450) (#4449)
blackdnow requires a newer version of aiohttp. (#4451)
Output
tkem/cachetools (cachetools)
v6.2.1
===================
-
Add support for Python 3.14.
-
Improve documentation.
-
Update CI environment.
v6.2.0
===================
-
Improve general
RRCacheperformance by storing cache keys in an additional sequence container. Note that this will increase memory consumption. -
Add more unit tests.
v6.1.0
===================
-
Improve
LFUCacheinsertion performance by switching to an implementation based on thecacheing <https://pypi.org/project/cacheing/>_ library. -
Update CI environment.
v6.0.0
===================
-
Require Python 3.9 or later (breaking change).
-
Remove
MRUCacheand the@func.mru_cachedecorator (breaking change). -
Add an optional
conditionparameter to the@cachedand@cachedmethoddecorators, which, when used with athreading.Conditioninstance, should improvecache stampede <https://en.wikipedia.org/wiki/Cache_stampede>_ issues in massively parallel environments. Note that this will inflict some performance penalty, and therefore has to be enabled explicitly. -
Convert the
cachetools.funcdecorators to use athreading.Conditioninstance to deal withcache stampede <https://en.wikipedia.org/wiki/Cache_stampede>_ issues. Note that this may result in a noticable performance degradation, depending on your actual use case. -
Deprecate support for
cache(self)returningNoneto suppress caching with the@cachedmethoddecorator. -
Improve documentation.
-
Update CI environment.
v5.5.2
===================
-
Reduce number of
@cachedlock/unlock operations. -
Improve documentation.
-
Update CI environment.
v5.5.1
===================
-
Add documentation regarding caching of exceptions.
-
Officially support Python 3.13.
-
Update CI environment.
pallets/click (click)
v8.3.0
Released 2025-09-17
-
Improved flag option handling: Reworked the relationship between
flag_valueanddefaultparameters for better consistency:- The
defaultparameter value is now preserved as-is and passed directly to CLI functions (no more unexpected transformations) - Exception: flag options with
default=Truemaintain backward compatibility by defaulting to theirflag_value - The
defaultparameter can now be any type (bool,None, etc.) - Fixes inconsistencies reported in: :issue:
1992:issue:2514:issue:2610:issue:3024:pr:3030
- The
-
Allow
defaultto be set onArgumentfornargs = -1. :issue:2164:pr:3030 -
Show correct auto complete value for
nargsoption in combination with flag option :issue:2813 -
Fix handling of quoted and escaped parameters in Fish autocompletion. :issue:
2995:pr:3013 -
Lazily import
shutil. :pr:3023 -
Properly forward exception information to resources registered with
click.core.Context.with_resource(). :issue:2447:pr:3058 -
Fix regression related to EOF handling in CliRunner. :issue:
2939:pr:2940
v8.2.2
Released 2025-07-31
- Fix reconciliation of
default,flag_valueandtypeparameters for flag options, as well as parsing and normalization of environment variables. :issue:2952:pr:2956 - Fix typing issue in
BadParameterandMissingParameterexceptions for the parameterparam_hintthat did not allow for a sequence of string where the underlying function_join_param_hintsallows for it. :issue:2777:pr:2990 - Use the value of
Enumchoices to render their default value in help screen. Refs :issue:2911:pr:3004 - Fix completion for the Z shell (
zsh) for completion items containing colons. :issue:2703:pr:2846 - Don't include envvar in error hint when not configured. :issue:
2971:pr:2972 - Fix a rare race in
click.testing.StreamMixer's finalization that manifested as aValueErroron close in a multi-threaded test session. :issue:2993:pr:2991
v8.2.1
Released 2025-05-20
- Fix flag value handling for flag options with a provided type. :issue:
2894:issue:2897:pr:2930 - Fix shell completion for nested groups. :issue:
2906:pr:2907 - Flush
sys.stderrat the end ofCliRunner.invoke. :issue:2682 - Fix EOF handling for stdin input in CliRunner. :issue:
2787
ClickHouse/clickhouse-connect (clickhouse-connect)
v0.9.2
- Updated
python_requiresto drop Python 3.8 and advertise support for 3.9–3.13 - Allow passing
roleas a field in thesettingskeyword argument to set a role for a specific query
v0.9.1
- Fix problem with typing that forced numpy to be installed.
v0.9.0
Breaking Changes
- WARNING: BREAKING CHANGE — Removed support for sqlalchemy 1.3 which reached its EOL in 2021. The minimum required version is now 1.4.40.
- WARNING: BREAKING CHANGE — Behavior for reading from IPv6 columns has changed:
- With
read_format='native', the client will always returnipaddress.IPv6Addressobjects, even for IPv4-mapped addresses (e.g.,"::ffff:192.168.1.1"). Previously, the client returnedipaddress.IPv4Addressobjects for these cases. This change enforces type consistency and avoids surprising implicit conversions. If your application requires IPv4 objects, you can explicitly convert using theipv4_mappedattribute ofIPv6Address. - With
read_format='string', the client will always return IPv6 string representations, e.g.,"::ffff:192.168.1.1"instead of"192.168.1.1", for the same reasons as above. If you require only the IPv4 string, you can parse or truncate this in your application code. - Closes #493
- With
Major Features
- Added support for SQLAlchemy 2.x. The minimum required version is 1.4.40. Closes #263
- Added Polars support for Arrow-based query and insert methods (
query_df_arrow,query_df_arrow_stream,insert_df_arrow). This initial implementation provides basic dataframe conversion through the Arrow format, similar to how we support the pyarrow-backed pandas dataframes. Closes #111 and #542 - Added support for querying/inserting pyarrow-backed DataFrames:
query_df_arrow(): returns a pandas DataFrame with PyArrow dtype backend. Note that Arrow data types are preserved without additional conversions.query_df_arrow_stream(): Streaming version ofquery_df_arrow()for processing large result sets.insert_df_arrow(): Optimized insertion method for pandas DataFrames with PyArrow backend, which should provide better performance than standardinsert_df().
- Added Time and Time64 type support. Closes #509
- Support for both pandas 1.x and 2.x.
- Added support for Nullable(JSON) types
- Added support for BFloat16 types
Improvements
- Add support for lightweight
DELETEin sqlalchemy. Closes #382 - Added support for
SELECT/JOINoperations via SQLAlchemy's core API (table operations and explicit statements--not ORM sessions-based queries) - Added client connection option
rename_response_column(defaultNone) that allows the user to define how response columns are automatically renamed according to a predefined scheme. Helpful for stripping alias prefixes, etc. in potentially complex queries. Closes #228 - Add third-party library identifiers (name/version) in the User-Agent, e.g. pandas/2.2.5. Users can opt out by changing the common setting
send_integration_tagstoFalse. - Added support for form encoding query parameters when using HTTP interface. This addresses #342. Query parameters can now be sent as form-encoded data in the request body by setting
form_encode_query_params=Truewhen creating the client. This is particularly useful for queries with large parameter payloads that might exceed URL length limits. - Added support for special interval types. Closes #391
- Added new common setting option "preserve_pandas_datetime_resolution" (default is
False) allowing pandas 2.x users to opt into (when set toTrue) using the additional pandas 2.x datetime64/timedelta64 resolutions of "s", "ms", "us". If set toFalseor using pandas 1.x, all datetime64/timedelta64 resolutions will be coerced to "ns". (See here for more info). Closes #165 and #531 - Tightens up type consistency of date-like objects when using
query_df - When writing to an IPv6 column type, the client will "promote" IPv4 addresses to IPv4-mapped IPv6 addresses to prevent write errors. Closes #498
- Changed
AsyncClient.settingstyping toOptional[Dict[str, Any]]to accept None inputs. - Added more robust error handling and tests. Closes #508
- Replace the use of deprecated
datetime.utcfromtimestamp
Bug Fixes
- Fixed an AttributeError on
http.clientwhen importingclickhouse_connectunder certain circumstances - Fixes problem with df inserts of Time and Time64 types. Closes #524
v0.8.18
Improvements
- Added a standalone test file (
tests/unit_tests/test_driver/test_cursor.py) for testing cursor behavior
Bug Fixes
- Fix SQLAlchemy execution error by using text() function by @lakako in #491
- Test fixes for main by @genzgd in #497
- Ensure types are returned even if there are no rows by @orian in #500
- Added a standalone test file (
tests/unit_tests/test_driver/test_cursor.py) for testing cursor behavior - Fix some issues with cursor behavior by @joe-clickhouse in #506
- Reset cursor location after performing an execute.
- Fix behavior of
fetchallto only return rows from the current cursor location. - Fixes logic of
fetchmanyto respect size parameter.
v0.8.17
Improvements
- The parameter
transport_settingshas been added to the Client query and insert methods. For the HTTP client (currently the only option), this dictionary of string is directly translated into additional HTTP headers at a query level. This can be used to provide additional proxy directives or other extra 'non-ClickHouse' information that is passed via headers. Thanks to Paweł Szczur of PostHog for the original PR! - There was previously no way to add a path to the ClickHouse server host in cases where the ClickHouse server was
behind a proxy that used path based routing (such as
https://big_proxy:8080/clickhouse). The newproxy_pathget_client` argument can now be used to set that path. Closes #486
Bug Fix
- Version 0.8.16 introduced a bug where changing a Client setting value and then changing that setting value back to the original server value would fail to restore the original setting. This has been fixed. Closes #487
v0.8.16
Bug Fixes
- Don't send a setting value if the setting is already correct according to the
system.settingstable. Closes #469 - Ensure that the http
user_agentheader is in ascii. Note this could lead to an incorrectly encodedos_userif the os_user is not an Ascii string. Closes #484 - Fix "cannot access local variable" exception where the http client encounters an unexpected streaming error. Also log that unexpected streaming error to assist debugging. Closes #483
- Check that arrow/pandas is installed when calling
query_dfandquery_arrowand raise a more meaningful exception if the required library is absent. Closes #477
Improvements
- Some typing hints have been corrected. Thanks to Avery Fischer for the PR!
- The docker based tests have been fixed to work with security improvements in recent ClickHouse releases
- Query string cleanup is now (in theory) microseconds faster. Thanks to Sviatoslav Bobryshev for the optimization
v0.8.15
Bug Fix
- The async client was not shutting down its associated executor thread pool, result in a memory leak if multiple
async clients were created. Closes #424. Note that the
closefunction for the async client is now async to cleanly close down the pool. The recommended way to use an async client is now within an AsyncContext. See the associated PR for details. Thanks to ClickHouse core developer @pufit for the fix!
v0.8.14
Bug Fix
- Fix an edge case where a Pandas dataframe that contains only Int64 (or smaller) values would cause an exception when inserting into a ClickHouse "big int" table of U/Int128/256. Closes #452
v0.8.13
Bug Fix
- Fix missing default for new access_token parameter. Thanks to Lukas Thaler for the PR.
v0.8.12
Improvement
- Added support for JWT authentication (ClickHouse Cloud feature).
It can be set via the
access_tokenclient configuration option for both sync and async clients. The token can also be updated via theset_access_tokenmethod in the existing client instance. NB: do not mix access token and username/password credentials in the configuration; the client will throw an error if both are set.
v0.8.11
Improvement
- Support of ISO8601 strings for inserting values to columns with DateTime64 type was added. If the driver detects that the inserted data for a DateTime64 is a string, it will attempt to parse an ISO-8601 datetime from that string. Other string formats are not currently supported. Thanks to Nikita Reznikov for the PR!
Bug Fix
- Correctly handled native format column prefixes and insert names for Variant/Dynamic/JSON. Fixes #441 and likely some other issues with experimental types Variant,Dynamic, and JSON.
v0.8.10
Bug Fixes
- The experimental JSON type would break in some circumstances with ClickHouse server version 24.10 and later. This has been fixed. The fix is incompatible with ClickHouse version 24.8 and 24.9 however, so see the above WARNING about mixing JSON types
- Experimental JSON types within a Tuple was broken. This has been fixed; however, the fix fails on ClickHouse server versions 24.8 and 24.9. If you need Tuple(JSON) support, you must use ClickHouse server version 24.10 or later. Closes #436.
v0.8.9
Bug Fix
- Roll back some timezone changes that caused incorrect usage of "local time" objects for some ClickHouse queries. Note that has deprecated "naive" timestamps; however converting everything to timezone aware objects (with the UTC timezone as appropriate) causes some numpy and possibly Pandas side effects. Eventually naive datetime object support will be deprecated/eliminated, but it will take some time to ensure no breaking changes. Fixes #433
v0.8.8
Improvement
- Handle low level HTTP errors as "Stream Complete". This provides better compatibility with the most recent ClickHouse version when the HTTP stream is abruptly closed after a server error.
v0.8.7
Improvement
- Added basic support for ClickHouse geometric types Ring, Polygon, MultiPolygon, LineString, and MultiLineString. Closes #427
Bug Fix
- Settings/parameters from one Client will no longer leak into later client instantiations. Fixes #426
v0.8.6
Bug Fixes
- Correctly stream unchunked HTTP responses. Fixes #417.
- Don't use
wait_end_of_queryfor any streaming requests. Fixes #416
v0.8.5
Bug fix
- Inserts into a Nullable integer/float column could throw an exception if the first value was
Noneand the column required conversion to the numeric type (such as Python str to float). This has been fixed. Note that "mixed" Python types in an insert data set will still throw an exception (i.e., Python strings and ints should not be combined into the same column for insert. Closes #414
v0.8.4
Improvement
- Python 3.13 is now included in CI tests and 3.13 wheels are built for distribution. Note that PyArrow is not yet available for Python 3.13.
Bug fixes
- ClickHouse errors are now detected and throw an exception even if the HTTP status code returned by ClickHouse is a 200.
This can happen when there is a long-running query (such as a large
INSERT INTO ... SELECT FROM ...) andsend_progress_in_http_headersis enabled to keep the HTTP connection open. - Pandas NA (which is equivalent to Float NaN for Float values) is now inserted as NULL into Nullable(Float*) columns. Closes #412
v0.8.3
Improvement
- Add an optional
executor_threadsargument to theget_async_clientmethod. This controls the number of concurrent threads that each AsyncClient has available for queries. Defaults to "number of CPU cores plus four". Closes #407
v0.8.2
Bug Fix
- Ensure lz4 compression does not exit on an empty block. May fix #403.
Improvement
- Compress Arrow inserts (using pyarrow compression) if compression is set to
lz4orzstd. Closes #267.
v0.8.1
Improvements
- Added a standalone test file (
tests/unit_tests/test_driver/test_cursor.py) for testing cursor behavior
Bug Fixes
- Fix SQLAlchemy execution error by using text() function by @lakako in #491
- Test fixes for main by @genzgd in #497
- Ensure types are returned even if there are no rows by @orian in #500
- Added a standalone test file (
tests/unit_tests/test_driver/test_cursor.py) for testing cursor behavior - Fix some issues with cursor behavior by @joe-clickhouse in #506
- Reset cursor location after performing an execute.
Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠️ Warning: custom changes will be lost.