strawberry-graphql / strawberry-sqlalchemy

A SQLAlchemy Integration for strawberry-graphql
MIT License
93 stars 27 forks source link

Bump the all-dependencies group with 11 updates #136

Closed dependabot[bot] closed 8 months ago

dependabot[bot] commented 8 months ago

Bumps the all-dependencies group with 11 updates:

Package From To
sqlalchemy 2.0.23 2.0.28
sqlakeyset 2.0.1701229837 2.0.1708907391
black 23.12.1 24.2.0
importlib-metadata 7.0.1 7.0.2
mypy 1.8.0 1.9.0
nox 2023.4.22 2024.3.2
packaging 23.2 24.0
pg8000 1.30.3 1.30.5
pytest 7.4.3 8.1.1
pytest-asyncio 0.23.2 0.23.5.post1
pytest-mypy-plugins 3.0.0 3.1.1

Updates sqlalchemy from 2.0.23 to 2.0.28

Release notes

Sourced from sqlalchemy's releases.

2.0.28

Released: March 4, 2024

orm

  • [orm] [performance] [bug] [regression] Adjusted the fix made in #10570, released in 2.0.23, where new logic was added to reconcile possibly changing bound parameter values across cache key generations used within the _orm.with_expression() construct. The new logic changes the approach by which the new bound parameter values are associated with the statement, avoiding the need to deep-copy the statement which can result in a significant performance penalty for very deep / complex SQL constructs. The new approach no longer requires this deep-copy step.

    References: #11085

  • [orm] [bug] [regression] Fixed regression caused by #9779 where using the "secondary" table in a relationship and_() expression would fail to be aliased to match how the "secondary" table normally renders within a _sql.Select.join() expression, leading to an invalid query.

    References: #11010

engine

  • [engine] [usecase] Added new core execution option _engine.Connection.execution_options.preserve_rowcount. When set, the cursor.rowcount attribute from the DBAPI cursor will be unconditionally memoized at statement execution time, so that whatever value the DBAPI offers for any kind of statement will be available using the _engine.CursorResult.rowcount attribute from the _engine.CursorResult. This allows the rowcount to be accessed for statments such as INSERT and SELECT, to the degree supported by the DBAPI in use. The engine_insertmanyvalues also supports this option and will ensure _engine.CursorResult.rowcount is correctly set for a bulk INSERT of rows when set.

    References: #10974

asyncio

  • [asyncio] [bug] An error is raised if a QueuePool or other non-asyncio pool class is passed to _asyncio.create_async_engine(). This engine only accepts asyncio-compatible pool classes including AsyncAdaptedQueuePool. Other pool classes such as NullPool are compatible with both synchronous and asynchronous

... (truncated)

Commits


Updates sqlakeyset from 2.0.1701229837 to 2.0.1708907391

Commits


Updates black from 23.12.1 to 24.2.0

Release notes

Sourced from black's releases.

24.2.0

Stable style

  • Fixed a bug where comments where mistakenly removed along with redundant parentheses (#4218)

Preview style

  • Move the hug_parens_with_braces_and_square_brackets feature to the unstable style due to an outstanding crash and proposed formatting tweaks (#4198)
  • Fixed a bug where base expressions caused inconsistent formatting of ** in tenary expression (#4154)
  • Checking for newline before adding one on docstring that is almost at the line limit (#4185)
  • Remove redundant parentheses in case statement if guards (#4214).

Configuration

  • Fix issue where Black would ignore input files in the presence of symlinks (#4222)
  • Black now ignores pyproject.toml that is missing a tool.black section when discovering project root and configuration. Since Black continues to use version control as an indicator of project root, this is expected to primarily change behavior for users in a monorepo setup (desirably). If you wish to preserve previous behavior, simply add an empty [tool.black] to the previously discovered pyproject.toml (#4204)

Output

  • Black will swallow any SyntaxWarnings or DeprecationWarnings produced by the ast module when performing equivalence checks (#4189)

Integrations

  • Add a JSONSchema and provide a validate-pyproject entry-point (#4181)

24.1.1

Bugfix release to fix a bug that made Black unusable on certain file systems with strict limits on path length.

Preview style

  • Consistently add trailing comma on typed parameters (#4164)

Configuration

  • Shorten the length of the name of the cache file to fix crashes on file systems that do not support long paths (#4176)

... (truncated)

Changelog

Sourced from black's changelog.

24.2.0

Stable style

  • Fixed a bug where comments where mistakenly removed along with redundant parentheses (#4218)

Preview style

  • Move the hug_parens_with_braces_and_square_brackets feature to the unstable style due to an outstanding crash and proposed formatting tweaks (#4198)
  • Fixed a bug where base expressions caused inconsistent formatting of ** in tenary expression (#4154)
  • Checking for newline before adding one on docstring that is almost at the line limit (#4185)
  • Remove redundant parentheses in case statement if guards (#4214).

Configuration

  • Fix issue where Black would ignore input files in the presence of symlinks (#4222)
  • Black now ignores pyproject.toml that is missing a tool.black section when discovering project root and configuration. Since Black continues to use version control as an indicator of project root, this is expected to primarily change behavior for users in a monorepo setup (desirably). If you wish to preserve previous behavior, simply add an empty [tool.black] to the previously discovered pyproject.toml (#4204)

Output

  • Black will swallow any SyntaxWarnings or DeprecationWarnings produced by the ast module when performing equivalence checks (#4189)

Integrations

  • Add a JSONSchema and provide a validate-pyproject entry-point (#4181)

24.1.1

Bugfix release to fix a bug that made Black unusable on certain file systems with strict limits on path length.

Preview style

  • Consistently add trailing comma on typed parameters (#4164)

Configuration

  • Shorten the length of the name of the cache file to fix crashes on file systems that do not support long paths (#4176)

... (truncated)

Commits
  • 6fdf8a4 Prepare release 24.2.0 (#4226)
  • 8af4394 fix: Don't remove comments along with parens (#4218)
  • 35e9776 Bump pre-commit/action from 3.0.0 to 3.0.1 (#4225)
  • 23dfc5b Fix ignoring input files for symlink reasons (#4222)
  • a201003 Simplify check for symlinks that resolve outside root (#4221)
  • dab37a6 Remove redundant parentheses in case statement if guards (#4214)
  • 32230e6 fix: bug where the doublestar operation had inconsistent formatting. (#4154)
  • 7edb50f fix: additional newline added to docstring when the previous line length is l...
  • 3e80de3 Bump furo from 2023.9.10 to 2024.1.29 in /docs (#4211)
  • a08b480 Bump pypa/cibuildwheel from 2.16.4 to 2.16.5 (#4212)
  • Additional commits viewable in compare view


Updates importlib-metadata from 7.0.1 to 7.0.2

Changelog

Sourced from importlib-metadata's changelog.

v7.0.2

No significant changes.

Commits


Updates mypy from 1.8.0 to 1.9.0

Changelog

Sourced from mypy's changelog.

Mypy Release Notes

Mypy 1.9

We’ve just uploaded mypy 1.9 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:

python3 -m pip install -U mypy

You can read the full documentation for this release on Read the Docs.

Breaking Changes

Because the version of typeshed we use in mypy 1.9 doesn't support 3.7, neither does mypy 1.9. (Jared Hance, PR 16883)

We are planning to enable local partial types (enabled via the --local-partial-types flag) later this year by default. This change was announced years ago, but now it's finally happening. This is a major backward-incompatible change, so we'll probably include it as part of the upcoming mypy 2.0 release. This makes daemon and non-daemon mypy runs have the same behavior by default.

Local partial types can also be enabled in the mypy config file:

local_partial_types = True

We are looking at providing a tool to make it easier to migrate projects to use --local-partial-types, but it's not yet clear whether this is practical. The migration usually involves adding some explicit type annotations to module-level and class-level variables.

Basic Support for Type Parameter Defaults (PEP 696)

This release contains new experimental support for type parameter defaults (PEP 696). Please try it out! This feature was contributed by Marc Mueller.

Since this feature will be officially introduced in the next Python feature release (3.13), you will need to import TypeVar, ParamSpec or TypeVarTuple from typing_extensions to use defaults for now.

This example adapted from the PEP defines a default for BotT:

from typing import Generic
from typing_extensions import TypeVar

class Bot: ...

BotT = TypeVar("BotT", bound=Bot, default=Bot) </tr></table>

... (truncated)

Commits


Updates nox from 2023.4.22 to 2024.3.2

Release notes

Sourced from nox's releases.

2024.03.02

We'd like to thank the following folks who contributed to this release:

New Features:

Bugfixes:

Documentation Improvements:

Internal Changes:

... (truncated)

Changelog

Sourced from nox's changelog.

Changelog

2024.03.02

We'd like to thank the following folks who contributed to this release:

New Features:

Bugfixes:

Documentation Improvements:

Internal Changes:

... (truncated)

Commits


Updates packaging from 23.2 to 24.0

Release notes

Sourced from packaging's releases.

24.0

What's Changed

New Contributors

Full Changelog: https://github.com/pypa/packaging/compare/23.2...24.0

Changelog

Sourced from packaging's changelog.

24.0 - 2024-03-10


* Do specifier matching correctly when the specifier contains an epoch number
  and has more components than the version (:issue:`683`)
* Support the experimental ``--disable-gil`` builds in packaging.tags
  (:issue:`727`)
* BREAKING: Make optional ``metadata.Metadata`` attributes default to ``None`` (:issue:`733`)
* Fix errors when trying to access the ``description_content_type``, ``keywords``,
  and ``requires_python`` attributes on ``metadata.Metadata`` when those values
  have not been provided (:issue:`733`)
* Fix a bug preventing the use of the built in ``ExceptionGroup`` on versions of
  Python that support it (:issue:`725`)
Commits


Updates pg8000 from 1.30.3 to 1.30.5

Changelog

Sourced from pg8000's changelog.

Release Notes

Version 1.30.5, 2024-02-22


- Fix bug that now means the number of parameters cam be as high as an unsigned 16 bit
  integer will go.

Version 1.30.4, 2024-01-03

  • Add support for more range and multirange types.

  • Make the Connection.parameter_statuses property a dict rather than a dequeue.

Version 1.30.3, 2023-10-31


- Fix problem with PG date overflowing Python types. Now we return the ``str`` we got from the
  server if we can't parse it. 

Version 1.30.2, 2023-09-17

  • Bug fix where dollar-quoted string constants weren't supported.

Version 1.30.1, 2023-07-29


- There was a problem uploading the previous version (1.30.0) to PyPI because the
  markup of the README.rst was invalid. There's now a step in the automated tests to
  check for this.

Version 1.30.0, 2023-07-27

  • Remove support for Python 3.7

  • Add a sock keyword parameter for creating a connection from a pre-configured socket.

Version 1.29.8, 2023-06-16

</tr></table> 

... (truncated)

Commits
  • bf16ea5 Prepare for new release
  • 4ef917e Use unsigned 16 bit integer in protocol
  • 7d0cdde Move sections from readme to a separate page
  • f6f416c Prepare for new release
  • 8adb556 Add support for more range and multirange types
  • 796cd01 Make Connection.parameter_statuses a dict
  • a93944e Fix doctest for PostgreSQL 15+
  • 433e01f Fix doctest problem with IDENTIFY_SYSTEM command
  • a2dc1e8 Fix copy tests for PostgreSQL 16
  • c662f40 PostgreSQL versions: add 16, drop 11
  • See full diff in compare view


Updates pytest from 7.4.3 to 8.1.1

Release notes

Sourced from pytest's releases.

8.1.1

pytest 8.1.1 (2024-03-08)

::: {.note} ::: {.title} Note :::

This release is not a usual bug fix release -- it contains features and improvements, being a follow up to 8.1.0, which has been yanked from PyPI. :::

Features

  • #11475: Added the new consider_namespace_packages{.interpreted-text role="confval"} configuration option, defaulting to False.

    If set to True, pytest will attempt to identify modules that are part of namespace packages when importing modules.

  • #11653: Added the new verbosity_test_cases{.interpreted-text role="confval"} configuration option for fine-grained control of test execution verbosity. See Fine-grained verbosity <pytest.fine_grained_verbosity>{.interpreted-text role="ref"} for more details.

Improvements

  • #10865: pytest.warns{.interpreted-text role="func"} now validates that warnings.warn{.interpreted-text role="func"} was called with a [str]{.title-ref} or a [Warning]{.title-ref}. Currently in Python it is possible to use other types, however this causes an exception when warnings.filterwarnings{.interpreted-text role="func"} is used to filter those warnings (see [CPython #103577](python/cpython#103577) for a discussion). While this can be considered a bug in CPython, we decided to put guards in pytest as the error message produced without this check in place is confusing.

  • #11311: When using --override-ini for paths in invocations without a configuration file defined, the current working directory is used as the relative directory.

    Previoulsy this would raise an AssertionError{.interpreted-text role="class"}.

  • #11475: --import-mode=importlib <import-mode-importlib>{.interpreted-text role="ref"} now tries to import modules using the standard import mechanism (but still without changing :pysys.path{.interpreted-text role="data"}), falling back to importing modules directly only if that fails.

    This means that installed packages will be imported under their canonical name if possible first, for example app.core.models, instead of having the module name always be derived from their path (for example .env310.lib.site_packages.app.core.models).

  • #11801: Added the iter_parents() <_pytest.nodes.Node.iter_parents>{.interpreted-text role="func"} helper method on nodes. It is similar to listchain <_pytest.nodes.Node.listchain>{.interpreted-text role="func"}, but goes from bottom to top, and returns an iterator, not a list.

  • #11850: Added support for sys.last_exc{.interpreted-text role="data"} for post-mortem debugging on Python>=3.12.

  • #11962: In case no other suitable candidates for configuration file are found, a pyproject.toml (even without a [tool.pytest.ini_options] table) will be considered as the configuration file and define the rootdir.

  • #11978: Add --log-file-mode option to the logging plugin, enabling appending to log-files. This option accepts either "w" or "a" and defaults to "w".

    Previously, the mode was hard-coded to be "w" which truncates the file before logging.

... (truncated)

Commits
  • 81653ee Adjust changelog manually for 8.1.1
  • e60b4b9 Prepare release version 8.1.1
  • 15fbe57 [8.1.x] Revert legacy path removals (#12093)
  • 86c3aab [8.1.x] Do not import duplicated modules with --importmode=importlib (#12077)
  • 5b82b0c [8.1.x] Yank version 8.1.0 (#12076)
  • 0a53681 Merge pull request #12054 from pytest-dev/release-8.1.0
  • b9a167f Prepare release version 8.1.0
  • 00043f7 Merge pull request #12038 from bluetech/fixtures-rm-arg2index
  • f4e1025 Merge pull request #12048 from bluetech/fixture-teardown-excgroup
  • 43492f5 Merge pull request #12051 from jakkdl/test_debugging_pythonbreakpoint
  • Additional commits viewable in compare view


Updates pytest-asyncio from 0.23.2 to 0.23.5.post1

Release notes

Sourced from pytest-asyncio's releases.

pytest-asyncio 0.23.5.post1

0.23.5 (2024-02-09)

  • Declare compatibility with pytest 8 #737
  • Fix typing errors with recent versions of mypy #769
  • Prevent DeprecationWarning about internal use of asyncio.get_event_loop() from affecting test cases #757

Known issues

As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.

pytest-asyncio 0.23.5

0.23.5 (2024-02-09)

  • Declare compatibility with pytest 8 #737
  • Fix typing errors with recent versions of mypy #769
  • Prevent DeprecationWarning about internal use of asyncio.get_event_loop() from affecting test cases #757

Known issues

As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.

pytest-asyncio 0.23.5a0

0.23.5 (UNRELEASED)

  • Declare compatibility with pytest 8 #737
  • Fix typing errors with recent versions of mypy #769

Known issues

As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.

pytest-asyncio 0.23.4

0.23.4 (2024-01-28)

  • pytest-asyncio no longer imports additional, unrelated packages during test collection #729
  • Addresses further issues that caused an internal pytest error during test collection
  • Declares incompatibility with pytest 8 #737

pytest-asyncio 0.23.4a2

0.23.4 (UNRELEASED)

  • pytest-asyncio no longer imports additional, unrelated packages during test collection #729
  • Addresses further issues that caused an internal pytest error during test collection

Known issues

As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.

pytest-asyncio 0.23.4a1

0.23.4 (UNRELEASED)

  • pytest-asyncio no longer imports additional, unrelated packages during test collection #729

Known issues

As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.

pytest-asyncio 0.23.4a0

... (truncated)

Commits
  • b22d84e [docs] Fixes the example showing how to run all tests in a session-scoped loop.
  • f1de446 Build(deps): Bump hypothesis in /dependencies/default
  • b60649a Build(deps): Bump urllib3 from 2.2.0 to 2.2.1 in /dependencies/docs
  • 4baec47 Build(deps): Bump typing-extensions in /dependencies/default
  • d44e3ac Build(deps): Bump pytest from 8.0.0 to 8.0.2 in /dependencies/default
  • cefa62e Build(deps): Bump coverage from 7.4.1 to 7.4.3 in /dependencies/default
  • 2908860 Build(deps): Bump hypothesis in /dependencies/default
  • 20bd7d8 Build(deps): Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.12
  • 3aef605 [build] Update actions/upload-artifact and actions/download-artifact to v4.
  • 4b1908d [fix] Prevent DeprecationWarning from bubbling to user code.
  • Additional commits viewable in compare view


Updates pytest-mypy-plugins from 3.0.0 to 3.1.1

Release notes

Sourced from

codecov-commenter commented 8 months ago

Codecov Report

Merging #136 (5ace0e9) into main (ba0dceb) will not change coverage. The diff coverage is n/a.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #136 +/- ## ======================================= Coverage 84.28% 84.28% ======================================= Files 15 15 Lines 1559 1559 Branches 256 256 ======================================= Hits 1314 1314 Misses 192 192 Partials 53 53 ```
codspeed-hq[bot] commented 8 months ago

CodSpeed Performance Report

Merging #136 will not alter performance

Comparing dependabot/pip/all-dependencies-746111a9ff (5ace0e9) with main (ba0dceb)

Summary

âś… 1 untouched benchmarks

dependabot[bot] commented 8 months ago

Superseded by #138.