Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

conftest.py: double Hypothesis deadline #1252

Merged
merged 2 commits into from
Mar 2, 2024

Conversation

moto-timo
Copy link
Contributor

The deadline is by default 200ms, but this is intended to be useful to the developer and not necessarily recommended for heavily loaded CI systems. Avoid warnings by disabling the deadline completely.

HypothesisWorks/hypothesis#3713 https://hypothesis.readthedocs.io/en/latest/settings.html#hypothesis.settings.deadline https://lists.openembedded.org/g/openembedded-core/topic/104640034#196437

Fixes:
"""
Unreliable test timings! On an initial run, this test took 268.29ms, which exceeded the deadline of 200.00ms, but on a subsequent run it took 2.63 ms, which did not. If you expect this sort of variability in your test timings, consider turning deadlines off for this test by setting deadline=None.
"""

Summary

Pull Request Check List

  • Do not open pull requests from your main branch – use a separate branch!
    • There's a ton of footguns waiting if you don't heed this warning. You can still go back to your project, create a branch from your main branch, push it, and open the pull request from the new branch.
    • This is not a pre-requisite for your your pull request to be accepted, but you have been warned.
  • Added tests for changed code.
    Our CI fails if coverage is not 100%.
  • New features have been added to our Hypothesis testing strategy.
  • Changes or additions to public APIs are reflected in our type stubs (files ending in .pyi).
    • ...and used in the stub test file tests/typing_example.py.
    • If they've been added to attr/__init__.pyi, they've also been re-imported in attrs/__init__.pyi.
  • Updated documentation for changed code.
    • New functions/classes have to be added to docs/api.rst by hand.
    • Changes to the signature of @attr.s() have to be added by hand too.
    • Changed/added classes/methods/functions have appropriate versionadded, versionchanged, or deprecated directives.
      The next version is the second number in the current release + 1.
      The first number represents the current year.
      So if the current version on PyPI is 22.2.0, the next version is gonna be 22.3.0.
      If the next version is the first in the new year, it'll be 23.1.0.
  • Documentation in .rst and .md files is written using semantic newlines.
  • Changes (and possible deprecations) have news fragments in changelog.d.
  • Consider granting push permissions to the PR branch, so maintainers can fix minor issues themselves without pestering you.

@webknjaz
Copy link
Member

webknjaz commented Mar 1, 2024

Why not double it instead? Then, if it starts getting unreasonably slow, it'd be a good alert for something needing attention.

halstead pushed a commit to yoctoproject/poky that referenced this pull request Mar 1, 2024
The deadline is by default 200ms, but this is intended to be useful to
the developer and not necessarily recommended for heavily loaded CI
systems. Avoid warnings by disabling the deadline completely.

HypothesisWorks/hypothesis#3713
https://hypothesis.readthedocs.io/en/latest/settings.html#hypothesis.settings.deadline
https://lists.openembedded.org/g/openembedded-core/topic/104640034#196437
python-attrs/attrs#1252

Fixes:
"""
Unreliable test timings! On an initial run, this test took 268.29ms,
which exceeded the deadline of 200.00ms, but on a subsequent run it
took 2.63 ms, which did not. If you expect this sort of variability in
your test timings, consider turning deadlines off for this test by
setting deadline=None.
"""

[YOCTO #15350]

(From OE-Core rev: f6064e573b68104d57565c57bfe43f0d708a14f6)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Mar 1, 2024
The deadline is by default 200ms, but this is intended to be useful to
the developer and not necessarily recommended for heavily loaded CI
systems. Avoid warnings by disabling the deadline completely.

HypothesisWorks/hypothesis#3713
https://hypothesis.readthedocs.io/en/latest/settings.html#hypothesis.settings.deadline
https://lists.openembedded.org/g/openembedded-core/topic/104640034#196437
python-attrs/attrs#1252

Fixes:
"""
Unreliable test timings! On an initial run, this test took 268.29ms,
which exceeded the deadline of 200.00ms, but on a subsequent run it
took 2.63 ms, which did not. If you expect this sort of variability in
your test timings, consider turning deadlines off for this test by
setting deadline=None.
"""

[YOCTO #15350]

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
@moto-timo moto-timo changed the title conftest.py: disable Hypothesis deadline conftest.py: double Hypothesis deadline Mar 1, 2024
@moto-timo moto-timo force-pushed the disable-hypothesis-deadline branch from 4fa5e30 to d235f2c Compare March 1, 2024 20:19
@moto-timo
Copy link
Contributor Author

@webknjaz let's give doubling the deadline a try ;)

@webknjaz
Copy link
Member

webknjaz commented Mar 1, 2024

Did you forget to import timedelta?

The deadline is by default 200ms, but this is intended to be useful to
the developer and not necessarily recommended for heavily loaded CI
systems. Avoid warnings by doubling the deadline. If we continue to
see problems, we can revisit disabling (deadline=None) or a longer
deadline.

HypothesisWorks/hypothesis#3713
https://hypothesis.readthedocs.io/en/latest/settings.html#hypothesis.settings.deadline
https://lists.openembedded.org/g/openembedded-core/topic/104640034#196437

Fixes:
"""
Unreliable test timings! On an initial run, this test took 268.29ms,
which exceeded the deadline of 200.00ms, but on a subsequent run it
took 2.63 ms, which did not. If you expect this sort of variability in
your test timings, consider turning deadlines off for this test by
setting deadline=None.
"""

Signed-off-by: Tim Orling <[email protected]>
@moto-timo moto-timo force-pushed the disable-hypothesis-deadline branch 2 times, most recently from 009871d to 83bfdda Compare March 2, 2024 06:03
@moto-timo
Copy link
Contributor Author

Added timedelta import.

@hynek hynek enabled auto-merge March 2, 2024 06:20
Copy link
Member

@hynek hynek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@hynek hynek added this pull request to the merge queue Mar 2, 2024
Merged via the queue into python-attrs:main with commit 3eab45c Mar 2, 2024
20 checks passed
daregit pushed a commit to daregit/yocto-combined that referenced this pull request May 22, 2024
The deadline is by default 200ms, but this is intended to be useful to
the developer and not necessarily recommended for heavily loaded CI
systems. Avoid warnings by disabling the deadline completely.

HypothesisWorks/hypothesis#3713
https://hypothesis.readthedocs.io/en/latest/settings.html#hypothesis.settings.deadline
https://lists.openembedded.org/g/openembedded-core/topic/104640034#196437
python-attrs/attrs#1252

Fixes:
"""
Unreliable test timings! On an initial run, this test took 268.29ms,
which exceeded the deadline of 200.00ms, but on a subsequent run it
took 2.63 ms, which did not. If you expect this sort of variability in
your test timings, consider turning deadlines off for this test by
setting deadline=None.
"""

[YOCTO #15350]

(From OE-Core rev: f6064e573b68104d57565c57bfe43f0d708a14f6)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
halstead pushed a commit to yoctoproject/poky that referenced this pull request Aug 13, 2024
* Drop 0001-test_funcs-skip-test_unknown-for-pytest-8.patch
  fixed upstream in python-attrs/attrs#1249
* Drop 0001-conftest.py-disable-deadline.patch upstream wanted to try
  doubling the deadline time python-attrs/attrs#1252
  from 200 ms default to 400 ms (we saw some times a bit greater than 200 ms)

https://www.attrs.org/en/stable/changelog.html

24.2.0 - 2024-08-06
  * Deprecations
    - Given the amount of warnings raised in the broader ecosystem, we’ve
	  decided to only soft-deprecate the hash argument to @define / @attr.s.
	  Please don’t use it in new code, but we don’t intend to remove it
	  anymore. #1330

  * Changes
    - attrs.converters.pipe() (and its syntactic sugar of passing a list
	  for attrs.field()’s / attr.ib()’s converter argument) works again when
	  passing attrs.setters.convert to on_setattr (which is default for
	  attrs.define). #1328
    - Restored support for PEP 649 / 749-implementing Pythons – currently
	  3.14-dev. #1329

24.1.0 - 2024-08-03
  * Backwards-incompatible Changes
    - attrs.evolve() doesn’t accept the inst argument as a keyword argument
	  anymore. Pass it as the first positional argument instead. #1264
    - attrs.validators.provides() has been removed. The removed code is
	  available as a gist for convenient copy and pasting. #1265
    - All packaging metadata except from __version__ and __version_info__
	  has been removed from the attr and attrs modules (for example,
	  attrs.__url__).
    - Please use importlib.metadata or importlib-metadata instead. #1268
    - The generated __eq__ methods have been sped up significantly by
	  generating a chain of attribute comparisons instead of constructing and
	  comparing tuples. This change arguably makes the behavior more correct,
	  but changes it if an attribute compares equal by identity but not value,
	  like float('nan'). #1310

  * Deprecations
    - The repr_ns argument to attr.s is now deprecated. It was a workaround
	  for nested classes in Python 2 and is pointless in Python 3. #1263
    - The hash argument to @attr.s, @attrs.define, and make_class() is now
	  deprecated in favor of unsafe_hash, as defined by PEP 681. #1323

  * Changes
    - Allow original slotted functools.cached_property classes to be cleaned
	  by garbage collection. Allow super() calls in slotted cached properties.
	  #1221
    - Our type stubs now use modern type notation and are organized such that
	  VS Code’s quick-fix prefers the attrs namespace. #1234
    - Preserve AttributeError raised by properties of slotted classes with
	  functools.cached_properties. #1253
    - It is now possible to wrap a converter into an attrs.Converter and get
	  the current instance and/or the current field definition passed into the
	  converter callable.
    - Note that this is not supported by any type checker, yet. #1267
    - attrs.make_class() now populates the __annotations__ dict of the
	  generated class, so that attrs.resolve_types() can resolve them. #1285
    - Added the attrs.validators.or_() validator. #1303
    - The combination of a __attrs_pre_init__ that takes arguments, a kw-only
	  field, and a default on that field does not crash anymore. #1319
    - attrs.validators.in_() now transforms certain unhashable options to
	  tuples to keep the field hashable.
    - This allows fields that use this validator to be used with, for example,
	  attrs.filters.include(). #1320
    - If a class has an inherited method called __attrs_init_subclass__, it
	  is now called once the class is done assembling.
    - This is a replacement for Python’s __init_subclass__ and useful for
	  registering classes, and similar. #1321

(From OE-Core rev: 3f80c082ebaac69675680fc026dd0369119d151f)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Aug 13, 2024
* Drop 0001-test_funcs-skip-test_unknown-for-pytest-8.patch
  fixed upstream in python-attrs/attrs#1249
* Drop 0001-conftest.py-disable-deadline.patch upstream wanted to try
  doubling the deadline time python-attrs/attrs#1252
  from 200 ms default to 400 ms (we saw some times a bit greater than 200 ms)

https://www.attrs.org/en/stable/changelog.html

24.2.0 - 2024-08-06
  * Deprecations
    - Given the amount of warnings raised in the broader ecosystem, we’ve
	  decided to only soft-deprecate the hash argument to @define / @attr.s.
	  Please don’t use it in new code, but we don’t intend to remove it
	  anymore. #1330

  * Changes
    - attrs.converters.pipe() (and its syntactic sugar of passing a list
	  for attrs.field()’s / attr.ib()’s converter argument) works again when
	  passing attrs.setters.convert to on_setattr (which is default for
	  attrs.define). #1328
    - Restored support for PEP 649 / 749-implementing Pythons – currently
	  3.14-dev. #1329

24.1.0 - 2024-08-03
  * Backwards-incompatible Changes
    - attrs.evolve() doesn’t accept the inst argument as a keyword argument
	  anymore. Pass it as the first positional argument instead. #1264
    - attrs.validators.provides() has been removed. The removed code is
	  available as a gist for convenient copy and pasting. #1265
    - All packaging metadata except from __version__ and __version_info__
	  has been removed from the attr and attrs modules (for example,
	  attrs.__url__).
    - Please use importlib.metadata or importlib-metadata instead. #1268
    - The generated __eq__ methods have been sped up significantly by
	  generating a chain of attribute comparisons instead of constructing and
	  comparing tuples. This change arguably makes the behavior more correct,
	  but changes it if an attribute compares equal by identity but not value,
	  like float('nan'). #1310

  * Deprecations
    - The repr_ns argument to attr.s is now deprecated. It was a workaround
	  for nested classes in Python 2 and is pointless in Python 3. #1263
    - The hash argument to @attr.s, @attrs.define, and make_class() is now
	  deprecated in favor of unsafe_hash, as defined by PEP 681. #1323

  * Changes
    - Allow original slotted functools.cached_property classes to be cleaned
	  by garbage collection. Allow super() calls in slotted cached properties.
	  #1221
    - Our type stubs now use modern type notation and are organized such that
	  VS Code’s quick-fix prefers the attrs namespace. #1234
    - Preserve AttributeError raised by properties of slotted classes with
	  functools.cached_properties. #1253
    - It is now possible to wrap a converter into an attrs.Converter and get
	  the current instance and/or the current field definition passed into the
	  converter callable.
    - Note that this is not supported by any type checker, yet. #1267
    - attrs.make_class() now populates the __annotations__ dict of the
	  generated class, so that attrs.resolve_types() can resolve them. #1285
    - Added the attrs.validators.or_() validator. #1303
    - The combination of a __attrs_pre_init__ that takes arguments, a kw-only
	  field, and a default on that field does not crash anymore. #1319
    - attrs.validators.in_() now transforms certain unhashable options to
	  tuples to keep the field hashable.
    - This allows fields that use this validator to be used with, for example,
	  attrs.filters.include(). #1320
    - If a class has an inherited method called __attrs_init_subclass__, it
	  is now called once the class is done assembling.
    - This is a replacement for Python’s __init_subclass__ and useful for
	  registering classes, and similar. #1321

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
halstead pushed a commit to yoctoproject/poky that referenced this pull request Aug 14, 2024
* Drop 0001-test_funcs-skip-test_unknown-for-pytest-8.patch
  fixed upstream in python-attrs/attrs#1249
* Drop 0001-conftest.py-disable-deadline.patch upstream wanted to try
  doubling the deadline time python-attrs/attrs#1252
  from 200 ms default to 400 ms (we saw some times a bit greater than 200 ms)

https://www.attrs.org/en/stable/changelog.html

24.2.0 - 2024-08-06
  * Deprecations
    - Given the amount of warnings raised in the broader ecosystem, we’ve
	  decided to only soft-deprecate the hash argument to @define / @attr.s.
	  Please don’t use it in new code, but we don’t intend to remove it
	  anymore. #1330

  * Changes
    - attrs.converters.pipe() (and its syntactic sugar of passing a list
	  for attrs.field()’s / attr.ib()’s converter argument) works again when
	  passing attrs.setters.convert to on_setattr (which is default for
	  attrs.define). #1328
    - Restored support for PEP 649 / 749-implementing Pythons – currently
	  3.14-dev. #1329

24.1.0 - 2024-08-03
  * Backwards-incompatible Changes
    - attrs.evolve() doesn’t accept the inst argument as a keyword argument
	  anymore. Pass it as the first positional argument instead. #1264
    - attrs.validators.provides() has been removed. The removed code is
	  available as a gist for convenient copy and pasting. #1265
    - All packaging metadata except from __version__ and __version_info__
	  has been removed from the attr and attrs modules (for example,
	  attrs.__url__).
    - Please use importlib.metadata or importlib-metadata instead. #1268
    - The generated __eq__ methods have been sped up significantly by
	  generating a chain of attribute comparisons instead of constructing and
	  comparing tuples. This change arguably makes the behavior more correct,
	  but changes it if an attribute compares equal by identity but not value,
	  like float('nan'). #1310

  * Deprecations
    - The repr_ns argument to attr.s is now deprecated. It was a workaround
	  for nested classes in Python 2 and is pointless in Python 3. #1263
    - The hash argument to @attr.s, @attrs.define, and make_class() is now
	  deprecated in favor of unsafe_hash, as defined by PEP 681. #1323

  * Changes
    - Allow original slotted functools.cached_property classes to be cleaned
	  by garbage collection. Allow super() calls in slotted cached properties.
	  #1221
    - Our type stubs now use modern type notation and are organized such that
	  VS Code’s quick-fix prefers the attrs namespace. #1234
    - Preserve AttributeError raised by properties of slotted classes with
	  functools.cached_properties. #1253
    - It is now possible to wrap a converter into an attrs.Converter and get
	  the current instance and/or the current field definition passed into the
	  converter callable.
    - Note that this is not supported by any type checker, yet. #1267
    - attrs.make_class() now populates the __annotations__ dict of the
	  generated class, so that attrs.resolve_types() can resolve them. #1285
    - Added the attrs.validators.or_() validator. #1303
    - The combination of a __attrs_pre_init__ that takes arguments, a kw-only
	  field, and a default on that field does not crash anymore. #1319
    - attrs.validators.in_() now transforms certain unhashable options to
	  tuples to keep the field hashable.
    - This allows fields that use this validator to be used with, for example,
	  attrs.filters.include(). #1320
    - If a class has an inherited method called __attrs_init_subclass__, it
	  is now called once the class is done assembling.
    - This is a replacement for Python’s __init_subclass__ and useful for
	  registering classes, and similar. #1321

(From OE-Core rev: 334d4dfadfb6339167ccc87a6967df8475f67f6c)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Aug 14, 2024
* Drop 0001-test_funcs-skip-test_unknown-for-pytest-8.patch
  fixed upstream in python-attrs/attrs#1249
* Drop 0001-conftest.py-disable-deadline.patch upstream wanted to try
  doubling the deadline time python-attrs/attrs#1252
  from 200 ms default to 400 ms (we saw some times a bit greater than 200 ms)

https://www.attrs.org/en/stable/changelog.html

24.2.0 - 2024-08-06
  * Deprecations
    - Given the amount of warnings raised in the broader ecosystem, we’ve
	  decided to only soft-deprecate the hash argument to @define / @attr.s.
	  Please don’t use it in new code, but we don’t intend to remove it
	  anymore. #1330

  * Changes
    - attrs.converters.pipe() (and its syntactic sugar of passing a list
	  for attrs.field()’s / attr.ib()’s converter argument) works again when
	  passing attrs.setters.convert to on_setattr (which is default for
	  attrs.define). #1328
    - Restored support for PEP 649 / 749-implementing Pythons – currently
	  3.14-dev. #1329

24.1.0 - 2024-08-03
  * Backwards-incompatible Changes
    - attrs.evolve() doesn’t accept the inst argument as a keyword argument
	  anymore. Pass it as the first positional argument instead. #1264
    - attrs.validators.provides() has been removed. The removed code is
	  available as a gist for convenient copy and pasting. #1265
    - All packaging metadata except from __version__ and __version_info__
	  has been removed from the attr and attrs modules (for example,
	  attrs.__url__).
    - Please use importlib.metadata or importlib-metadata instead. #1268
    - The generated __eq__ methods have been sped up significantly by
	  generating a chain of attribute comparisons instead of constructing and
	  comparing tuples. This change arguably makes the behavior more correct,
	  but changes it if an attribute compares equal by identity but not value,
	  like float('nan'). #1310

  * Deprecations
    - The repr_ns argument to attr.s is now deprecated. It was a workaround
	  for nested classes in Python 2 and is pointless in Python 3. #1263
    - The hash argument to @attr.s, @attrs.define, and make_class() is now
	  deprecated in favor of unsafe_hash, as defined by PEP 681. #1323

  * Changes
    - Allow original slotted functools.cached_property classes to be cleaned
	  by garbage collection. Allow super() calls in slotted cached properties.
	  #1221
    - Our type stubs now use modern type notation and are organized such that
	  VS Code’s quick-fix prefers the attrs namespace. #1234
    - Preserve AttributeError raised by properties of slotted classes with
	  functools.cached_properties. #1253
    - It is now possible to wrap a converter into an attrs.Converter and get
	  the current instance and/or the current field definition passed into the
	  converter callable.
    - Note that this is not supported by any type checker, yet. #1267
    - attrs.make_class() now populates the __annotations__ dict of the
	  generated class, so that attrs.resolve_types() can resolve them. #1285
    - Added the attrs.validators.or_() validator. #1303
    - The combination of a __attrs_pre_init__ that takes arguments, a kw-only
	  field, and a default on that field does not crash anymore. #1319
    - attrs.validators.in_() now transforms certain unhashable options to
	  tuples to keep the field hashable.
    - This allows fields that use this validator to be used with, for example,
	  attrs.filters.include(). #1320
    - If a class has an inherited method called __attrs_init_subclass__, it
	  is now called once the class is done assembling.
    - This is a replacement for Python’s __init_subclass__ and useful for
	  registering classes, and similar. #1321

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
halstead pushed a commit to yoctoproject/poky that referenced this pull request Aug 14, 2024
* Drop 0001-test_funcs-skip-test_unknown-for-pytest-8.patch
  fixed upstream in python-attrs/attrs#1249
* Drop 0001-conftest.py-disable-deadline.patch upstream wanted to try
  doubling the deadline time python-attrs/attrs#1252
  from 200 ms default to 400 ms (we saw some times a bit greater than 200 ms)

https://www.attrs.org/en/stable/changelog.html

24.2.0 - 2024-08-06
  * Deprecations
    - Given the amount of warnings raised in the broader ecosystem, we’ve
	  decided to only soft-deprecate the hash argument to @define / @attr.s.
	  Please don’t use it in new code, but we don’t intend to remove it
	  anymore. #1330

  * Changes
    - attrs.converters.pipe() (and its syntactic sugar of passing a list
	  for attrs.field()’s / attr.ib()’s converter argument) works again when
	  passing attrs.setters.convert to on_setattr (which is default for
	  attrs.define). #1328
    - Restored support for PEP 649 / 749-implementing Pythons – currently
	  3.14-dev. #1329

24.1.0 - 2024-08-03
  * Backwards-incompatible Changes
    - attrs.evolve() doesn’t accept the inst argument as a keyword argument
	  anymore. Pass it as the first positional argument instead. #1264
    - attrs.validators.provides() has been removed. The removed code is
	  available as a gist for convenient copy and pasting. #1265
    - All packaging metadata except from __version__ and __version_info__
	  has been removed from the attr and attrs modules (for example,
	  attrs.__url__).
    - Please use importlib.metadata or importlib-metadata instead. #1268
    - The generated __eq__ methods have been sped up significantly by
	  generating a chain of attribute comparisons instead of constructing and
	  comparing tuples. This change arguably makes the behavior more correct,
	  but changes it if an attribute compares equal by identity but not value,
	  like float('nan'). #1310

  * Deprecations
    - The repr_ns argument to attr.s is now deprecated. It was a workaround
	  for nested classes in Python 2 and is pointless in Python 3. #1263
    - The hash argument to @attr.s, @attrs.define, and make_class() is now
	  deprecated in favor of unsafe_hash, as defined by PEP 681. #1323

  * Changes
    - Allow original slotted functools.cached_property classes to be cleaned
	  by garbage collection. Allow super() calls in slotted cached properties.
	  #1221
    - Our type stubs now use modern type notation and are organized such that
	  VS Code’s quick-fix prefers the attrs namespace. #1234
    - Preserve AttributeError raised by properties of slotted classes with
	  functools.cached_properties. #1253
    - It is now possible to wrap a converter into an attrs.Converter and get
	  the current instance and/or the current field definition passed into the
	  converter callable.
    - Note that this is not supported by any type checker, yet. #1267
    - attrs.make_class() now populates the __annotations__ dict of the
	  generated class, so that attrs.resolve_types() can resolve them. #1285
    - Added the attrs.validators.or_() validator. #1303
    - The combination of a __attrs_pre_init__ that takes arguments, a kw-only
	  field, and a default on that field does not crash anymore. #1319
    - attrs.validators.in_() now transforms certain unhashable options to
	  tuples to keep the field hashable.
    - This allows fields that use this validator to be used with, for example,
	  attrs.filters.include(). #1320
    - If a class has an inherited method called __attrs_init_subclass__, it
	  is now called once the class is done assembling.
    - This is a replacement for Python’s __init_subclass__ and useful for
	  registering classes, and similar. #1321

(From OE-Core rev: 334d4dfadfb6339167ccc87a6967df8475f67f6c)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
brainhoard-github pushed a commit to distro-core-curated-mirrors/poky-contrib that referenced this pull request Aug 15, 2024
* Drop 0001-test_funcs-skip-test_unknown-for-pytest-8.patch
  fixed upstream in python-attrs/attrs#1249
* Drop 0001-conftest.py-disable-deadline.patch upstream wanted to try
  doubling the deadline time python-attrs/attrs#1252
  from 200 ms default to 400 ms (we saw some times a bit greater than 200 ms)

https://www.attrs.org/en/stable/changelog.html

24.2.0 - 2024-08-06
  * Deprecations
    - Given the amount of warnings raised in the broader ecosystem, we’ve
	  decided to only soft-deprecate the hash argument to @define / @attr.s.
	  Please don’t use it in new code, but we don’t intend to remove it
	  anymore. #1330

  * Changes
    - attrs.converters.pipe() (and its syntactic sugar of passing a list
	  for attrs.field()’s / attr.ib()’s converter argument) works again when
	  passing attrs.setters.convert to on_setattr (which is default for
	  attrs.define). #1328
    - Restored support for PEP 649 / 749-implementing Pythons – currently
	  3.14-dev. #1329

24.1.0 - 2024-08-03
  * Backwards-incompatible Changes
    - attrs.evolve() doesn’t accept the inst argument as a keyword argument
	  anymore. Pass it as the first positional argument instead. #1264
    - attrs.validators.provides() has been removed. The removed code is
	  available as a gist for convenient copy and pasting. #1265
    - All packaging metadata except from __version__ and __version_info__
	  has been removed from the attr and attrs modules (for example,
	  attrs.__url__).
    - Please use importlib.metadata or importlib-metadata instead. #1268
    - The generated __eq__ methods have been sped up significantly by
	  generating a chain of attribute comparisons instead of constructing and
	  comparing tuples. This change arguably makes the behavior more correct,
	  but changes it if an attribute compares equal by identity but not value,
	  like float('nan'). #1310

  * Deprecations
    - The repr_ns argument to attr.s is now deprecated. It was a workaround
	  for nested classes in Python 2 and is pointless in Python 3. #1263
    - The hash argument to @attr.s, @attrs.define, and make_class() is now
	  deprecated in favor of unsafe_hash, as defined by PEP 681. #1323

  * Changes
    - Allow original slotted functools.cached_property classes to be cleaned
	  by garbage collection. Allow super() calls in slotted cached properties.
	  #1221
    - Our type stubs now use modern type notation and are organized such that
	  VS Code’s quick-fix prefers the attrs namespace. #1234
    - Preserve AttributeError raised by properties of slotted classes with
	  functools.cached_properties. #1253
    - It is now possible to wrap a converter into an attrs.Converter and get
	  the current instance and/or the current field definition passed into the
	  converter callable.
    - Note that this is not supported by any type checker, yet. #1267
    - attrs.make_class() now populates the __annotations__ dict of the
	  generated class, so that attrs.resolve_types() can resolve them. #1285
    - Added the attrs.validators.or_() validator. #1303
    - The combination of a __attrs_pre_init__ that takes arguments, a kw-only
	  field, and a default on that field does not crash anymore. #1319
    - attrs.validators.in_() now transforms certain unhashable options to
	  tuples to keep the field hashable.
    - This allows fields that use this validator to be used with, for example,
	  attrs.filters.include(). #1320
    - If a class has an inherited method called __attrs_init_subclass__, it
	  is now called once the class is done assembling.
    - This is a replacement for Python’s __init_subclass__ and useful for
	  registering classes, and similar. #1321

(From OE-Core rev: 6b26bbfa95c44d96442303c7799e159fa493a69a)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
halstead pushed a commit to yoctoproject/poky that referenced this pull request Aug 15, 2024
* Drop 0001-test_funcs-skip-test_unknown-for-pytest-8.patch
  fixed upstream in python-attrs/attrs#1249
* Drop 0001-conftest.py-disable-deadline.patch upstream wanted to try
  doubling the deadline time python-attrs/attrs#1252
  from 200 ms default to 400 ms (we saw some times a bit greater than 200 ms)

https://www.attrs.org/en/stable/changelog.html

24.2.0 - 2024-08-06
  * Deprecations
    - Given the amount of warnings raised in the broader ecosystem, we’ve
	  decided to only soft-deprecate the hash argument to @define / @attr.s.
	  Please don’t use it in new code, but we don’t intend to remove it
	  anymore. #1330

  * Changes
    - attrs.converters.pipe() (and its syntactic sugar of passing a list
	  for attrs.field()’s / attr.ib()’s converter argument) works again when
	  passing attrs.setters.convert to on_setattr (which is default for
	  attrs.define). #1328
    - Restored support for PEP 649 / 749-implementing Pythons – currently
	  3.14-dev. #1329

24.1.0 - 2024-08-03
  * Backwards-incompatible Changes
    - attrs.evolve() doesn’t accept the inst argument as a keyword argument
	  anymore. Pass it as the first positional argument instead. #1264
    - attrs.validators.provides() has been removed. The removed code is
	  available as a gist for convenient copy and pasting. #1265
    - All packaging metadata except from __version__ and __version_info__
	  has been removed from the attr and attrs modules (for example,
	  attrs.__url__).
    - Please use importlib.metadata or importlib-metadata instead. #1268
    - The generated __eq__ methods have been sped up significantly by
	  generating a chain of attribute comparisons instead of constructing and
	  comparing tuples. This change arguably makes the behavior more correct,
	  but changes it if an attribute compares equal by identity but not value,
	  like float('nan'). #1310

  * Deprecations
    - The repr_ns argument to attr.s is now deprecated. It was a workaround
	  for nested classes in Python 2 and is pointless in Python 3. #1263
    - The hash argument to @attr.s, @attrs.define, and make_class() is now
	  deprecated in favor of unsafe_hash, as defined by PEP 681. #1323

  * Changes
    - Allow original slotted functools.cached_property classes to be cleaned
	  by garbage collection. Allow super() calls in slotted cached properties.
	  #1221
    - Our type stubs now use modern type notation and are organized such that
	  VS Code’s quick-fix prefers the attrs namespace. #1234
    - Preserve AttributeError raised by properties of slotted classes with
	  functools.cached_properties. #1253
    - It is now possible to wrap a converter into an attrs.Converter and get
	  the current instance and/or the current field definition passed into the
	  converter callable.
    - Note that this is not supported by any type checker, yet. #1267
    - attrs.make_class() now populates the __annotations__ dict of the
	  generated class, so that attrs.resolve_types() can resolve them. #1285
    - Added the attrs.validators.or_() validator. #1303
    - The combination of a __attrs_pre_init__ that takes arguments, a kw-only
	  field, and a default on that field does not crash anymore. #1319
    - attrs.validators.in_() now transforms certain unhashable options to
	  tuples to keep the field hashable.
    - This allows fields that use this validator to be used with, for example,
	  attrs.filters.include(). #1320
    - If a class has an inherited method called __attrs_init_subclass__, it
	  is now called once the class is done assembling.
    - This is a replacement for Python’s __init_subclass__ and useful for
	  registering classes, and similar. #1321

(From OE-Core rev: b8c45e8accdb7d74646fa15b775034eb3dcbdcd1)

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Aug 15, 2024
* Drop 0001-test_funcs-skip-test_unknown-for-pytest-8.patch
  fixed upstream in python-attrs/attrs#1249
* Drop 0001-conftest.py-disable-deadline.patch upstream wanted to try
  doubling the deadline time python-attrs/attrs#1252
  from 200 ms default to 400 ms (we saw some times a bit greater than 200 ms)

https://www.attrs.org/en/stable/changelog.html

24.2.0 - 2024-08-06
  * Deprecations
    - Given the amount of warnings raised in the broader ecosystem, we’ve
	  decided to only soft-deprecate the hash argument to @define / @attr.s.
	  Please don’t use it in new code, but we don’t intend to remove it
	  anymore. #1330

  * Changes
    - attrs.converters.pipe() (and its syntactic sugar of passing a list
	  for attrs.field()’s / attr.ib()’s converter argument) works again when
	  passing attrs.setters.convert to on_setattr (which is default for
	  attrs.define). #1328
    - Restored support for PEP 649 / 749-implementing Pythons – currently
	  3.14-dev. #1329

24.1.0 - 2024-08-03
  * Backwards-incompatible Changes
    - attrs.evolve() doesn’t accept the inst argument as a keyword argument
	  anymore. Pass it as the first positional argument instead. #1264
    - attrs.validators.provides() has been removed. The removed code is
	  available as a gist for convenient copy and pasting. #1265
    - All packaging metadata except from __version__ and __version_info__
	  has been removed from the attr and attrs modules (for example,
	  attrs.__url__).
    - Please use importlib.metadata or importlib-metadata instead. #1268
    - The generated __eq__ methods have been sped up significantly by
	  generating a chain of attribute comparisons instead of constructing and
	  comparing tuples. This change arguably makes the behavior more correct,
	  but changes it if an attribute compares equal by identity but not value,
	  like float('nan'). #1310

  * Deprecations
    - The repr_ns argument to attr.s is now deprecated. It was a workaround
	  for nested classes in Python 2 and is pointless in Python 3. #1263
    - The hash argument to @attr.s, @attrs.define, and make_class() is now
	  deprecated in favor of unsafe_hash, as defined by PEP 681. #1323

  * Changes
    - Allow original slotted functools.cached_property classes to be cleaned
	  by garbage collection. Allow super() calls in slotted cached properties.
	  #1221
    - Our type stubs now use modern type notation and are organized such that
	  VS Code’s quick-fix prefers the attrs namespace. #1234
    - Preserve AttributeError raised by properties of slotted classes with
	  functools.cached_properties. #1253
    - It is now possible to wrap a converter into an attrs.Converter and get
	  the current instance and/or the current field definition passed into the
	  converter callable.
    - Note that this is not supported by any type checker, yet. #1267
    - attrs.make_class() now populates the __annotations__ dict of the
	  generated class, so that attrs.resolve_types() can resolve them. #1285
    - Added the attrs.validators.or_() validator. #1303
    - The combination of a __attrs_pre_init__ that takes arguments, a kw-only
	  field, and a default on that field does not crash anymore. #1319
    - attrs.validators.in_() now transforms certain unhashable options to
	  tuples to keep the field hashable.
    - This allows fields that use this validator to be used with, for example,
	  attrs.filters.include(). #1320
    - If a class has an inherited method called __attrs_init_subclass__, it
	  is now called once the class is done assembling.
    - This is a replacement for Python’s __init_subclass__ and useful for
	  registering classes, and similar. #1321

Signed-off-by: Tim Orling <[email protected]>
Signed-off-by: Alexandre Belloni <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
daregit pushed a commit to daregit/yocto-combined that referenced this pull request Aug 15, 2024
* Drop 0001-test_funcs-skip-test_unknown-for-pytest-8.patch
  fixed upstream in python-attrs/attrs#1249
* Drop 0001-conftest.py-disable-deadline.patch upstream wanted to try
  doubling the deadline time python-attrs/attrs#1252
  from 200 ms default to 400 ms (we saw some times a bit greater than 200 ms)

https://www.attrs.org/en/stable/changelog.html

24.2.0 - 2024-08-06
  * Deprecations
    - Given the amount of warnings raised in the broader ecosystem, we’ve
	  decided to only soft-deprecate the hash argument to define / attr.s.
	  Please don’t use it in new code, but we don’t intend to remove it
	  anymore. #1330

  * Changes
    - attrs.converters.pipe() (and its syntactic sugar of passing a list
	  for attrs.field()’s / attr.ib()’s converter argument) works again when
	  passing attrs.setters.convert to on_setattr (which is default for
	  attrs.define). #1328
    - Restored support for PEP 649 / 749-implementing Pythons – currently
	  3.14-dev. #1329

24.1.0 - 2024-08-03
  * Backwards-incompatible Changes
    - attrs.evolve() doesn’t accept the inst argument as a keyword argument
	  anymore. Pass it as the first positional argument instead. #1264
    - attrs.validators.provides() has been removed. The removed code is
	  available as a gist for convenient copy and pasting. #1265
    - All packaging metadata except from __version__ and __version_info__
	  has been removed from the attr and attrs modules (for example,
	  attrs.__url__).
    - Please use importlib.metadata or importlib-metadata instead. #1268
    - The generated __eq__ methods have been sped up significantly by
	  generating a chain of attribute comparisons instead of constructing and
	  comparing tuples. This change arguably makes the behavior more correct,
	  but changes it if an attribute compares equal by identity but not value,
	  like float('nan'). #1310

  * Deprecations
    - The repr_ns argument to attr.s is now deprecated. It was a workaround
	  for nested classes in Python 2 and is pointless in Python 3. #1263
    - The hash argument to attr.s, attrs.define, and make_class() is now
	  deprecated in favor of unsafe_hash, as defined by PEP 681. #1323

  * Changes
    - Allow original slotted functools.cached_property classes to be cleaned
	  by garbage collection. Allow super() calls in slotted cached properties.
	  #1221
    - Our type stubs now use modern type notation and are organized such that
	  VS Code’s quick-fix prefers the attrs namespace. #1234
    - Preserve AttributeError raised by properties of slotted classes with
	  functools.cached_properties. #1253
    - It is now possible to wrap a converter into an attrs.Converter and get
	  the current instance and/or the current field definition passed into the
	  converter callable.
    - Note that this is not supported by any type checker, yet. #1267
    - attrs.make_class() now populates the __annotations__ dict of the
	  generated class, so that attrs.resolve_types() can resolve them. #1285
    - Added the attrs.validators.or_() validator. #1303
    - The combination of a __attrs_pre_init__ that takes arguments, a kw-only
	  field, and a default on that field does not crash anymore. #1319
    - attrs.validators.in_() now transforms certain unhashable options to
	  tuples to keep the field hashable.
    - This allows fields that use this validator to be used with, for example,
	  attrs.filters.include(). #1320
    - If a class has an inherited method called __attrs_init_subclass__, it
	  is now called once the class is done assembling.
    - This is a replacement for Python’s __init_subclass__ and useful for
	  registering classes, and similar. #1321

(From OE-Core rev: b8c45e8accdb7d74646fa15b775034eb3dcbdcd1)

Signed-off-by: Tim Orling <tim.orlingkonsulko.com>
Signed-off-by: Alexandre Belloni <alexandre.bellonibootlin.com>
Signed-off-by: Richard Purdie <richard.purdielinuxfoundation.org>
daregit pushed a commit to daregit/yocto-combined that referenced this pull request Aug 18, 2024
* Drop 0001-test_funcs-skip-test_unknown-for-pytest-8.patch
  fixed upstream in python-attrs/attrs#1249
* Drop 0001-conftest.py-disable-deadline.patch upstream wanted to try
  doubling the deadline time python-attrs/attrs#1252
  from 200 ms default to 400 ms (we saw some times a bit greater than 200 ms)

https://www.attrs.org/en/stable/changelog.html

24.2.0 - 2024-08-06
  * Deprecations
    - Given the amount of warnings raised in the broader ecosystem, we’ve
	  decided to only soft-deprecate the hash argument to define / attr.s.
	  Please don’t use it in new code, but we don’t intend to remove it
	  anymore. #1330

  * Changes
    - attrs.converters.pipe() (and its syntactic sugar of passing a list
	  for attrs.field()’s / attr.ib()’s converter argument) works again when
	  passing attrs.setters.convert to on_setattr (which is default for
	  attrs.define). #1328
    - Restored support for PEP 649 / 749-implementing Pythons – currently
	  3.14-dev. #1329

24.1.0 - 2024-08-03
  * Backwards-incompatible Changes
    - attrs.evolve() doesn’t accept the inst argument as a keyword argument
	  anymore. Pass it as the first positional argument instead. #1264
    - attrs.validators.provides() has been removed. The removed code is
	  available as a gist for convenient copy and pasting. #1265
    - All packaging metadata except from __version__ and __version_info__
	  has been removed from the attr and attrs modules (for example,
	  attrs.__url__).
    - Please use importlib.metadata or importlib-metadata instead. #1268
    - The generated __eq__ methods have been sped up significantly by
	  generating a chain of attribute comparisons instead of constructing and
	  comparing tuples. This change arguably makes the behavior more correct,
	  but changes it if an attribute compares equal by identity but not value,
	  like float('nan'). #1310

  * Deprecations
    - The repr_ns argument to attr.s is now deprecated. It was a workaround
	  for nested classes in Python 2 and is pointless in Python 3. #1263
    - The hash argument to attr.s, attrs.define, and make_class() is now
	  deprecated in favor of unsafe_hash, as defined by PEP 681. #1323

  * Changes
    - Allow original slotted functools.cached_property classes to be cleaned
	  by garbage collection. Allow super() calls in slotted cached properties.
	  #1221
    - Our type stubs now use modern type notation and are organized such that
	  VS Code’s quick-fix prefers the attrs namespace. #1234
    - Preserve AttributeError raised by properties of slotted classes with
	  functools.cached_properties. #1253
    - It is now possible to wrap a converter into an attrs.Converter and get
	  the current instance and/or the current field definition passed into the
	  converter callable.
    - Note that this is not supported by any type checker, yet. #1267
    - attrs.make_class() now populates the __annotations__ dict of the
	  generated class, so that attrs.resolve_types() can resolve them. #1285
    - Added the attrs.validators.or_() validator. #1303
    - The combination of a __attrs_pre_init__ that takes arguments, a kw-only
	  field, and a default on that field does not crash anymore. #1319
    - attrs.validators.in_() now transforms certain unhashable options to
	  tuples to keep the field hashable.
    - This allows fields that use this validator to be used with, for example,
	  attrs.filters.include(). #1320
    - If a class has an inherited method called __attrs_init_subclass__, it
	  is now called once the class is done assembling.
    - This is a replacement for Python’s __init_subclass__ and useful for
	  registering classes, and similar. #1321

(From OE-Core rev: b8c45e8accdb7d74646fa15b775034eb3dcbdcd1)

Signed-off-by: Tim Orling <tim.orlingkonsulko.com>
Signed-off-by: Alexandre Belloni <alexandre.bellonibootlin.com>
Signed-off-by: Richard Purdie <richard.purdielinuxfoundation.org>
daregit pushed a commit to daregit/yocto-combined that referenced this pull request Aug 18, 2024
* Drop 0001-test_funcs-skip-test_unknown-for-pytest-8.patch
  fixed upstream in python-attrs/attrs#1249
* Drop 0001-conftest.py-disable-deadline.patch upstream wanted to try
  doubling the deadline time python-attrs/attrs#1252
  from 200 ms default to 400 ms (we saw some times a bit greater than 200 ms)

https://www.attrs.org/en/stable/changelog.html

24.2.0 - 2024-08-06
  * Deprecations
    - Given the amount of warnings raised in the broader ecosystem, we’ve
	  decided to only soft-deprecate the hash argument to define / attr.s.
	  Please don’t use it in new code, but we don’t intend to remove it
	  anymore. #1330

  * Changes
    - attrs.converters.pipe() (and its syntactic sugar of passing a list
	  for attrs.field()’s / attr.ib()’s converter argument) works again when
	  passing attrs.setters.convert to on_setattr (which is default for
	  attrs.define). #1328
    - Restored support for PEP 649 / 749-implementing Pythons – currently
	  3.14-dev. #1329

24.1.0 - 2024-08-03
  * Backwards-incompatible Changes
    - attrs.evolve() doesn’t accept the inst argument as a keyword argument
	  anymore. Pass it as the first positional argument instead. #1264
    - attrs.validators.provides() has been removed. The removed code is
	  available as a gist for convenient copy and pasting. #1265
    - All packaging metadata except from __version__ and __version_info__
	  has been removed from the attr and attrs modules (for example,
	  attrs.__url__).
    - Please use importlib.metadata or importlib-metadata instead. #1268
    - The generated __eq__ methods have been sped up significantly by
	  generating a chain of attribute comparisons instead of constructing and
	  comparing tuples. This change arguably makes the behavior more correct,
	  but changes it if an attribute compares equal by identity but not value,
	  like float('nan'). #1310

  * Deprecations
    - The repr_ns argument to attr.s is now deprecated. It was a workaround
	  for nested classes in Python 2 and is pointless in Python 3. #1263
    - The hash argument to attr.s, attrs.define, and make_class() is now
	  deprecated in favor of unsafe_hash, as defined by PEP 681. #1323

  * Changes
    - Allow original slotted functools.cached_property classes to be cleaned
	  by garbage collection. Allow super() calls in slotted cached properties.
	  #1221
    - Our type stubs now use modern type notation and are organized such that
	  VS Code’s quick-fix prefers the attrs namespace. #1234
    - Preserve AttributeError raised by properties of slotted classes with
	  functools.cached_properties. #1253
    - It is now possible to wrap a converter into an attrs.Converter and get
	  the current instance and/or the current field definition passed into the
	  converter callable.
    - Note that this is not supported by any type checker, yet. #1267
    - attrs.make_class() now populates the __annotations__ dict of the
	  generated class, so that attrs.resolve_types() can resolve them. #1285
    - Added the attrs.validators.or_() validator. #1303
    - The combination of a __attrs_pre_init__ that takes arguments, a kw-only
	  field, and a default on that field does not crash anymore. #1319
    - attrs.validators.in_() now transforms certain unhashable options to
	  tuples to keep the field hashable.
    - This allows fields that use this validator to be used with, for example,
	  attrs.filters.include(). #1320
    - If a class has an inherited method called __attrs_init_subclass__, it
	  is now called once the class is done assembling.
    - This is a replacement for Python’s __init_subclass__ and useful for
	  registering classes, and similar. #1321

(From OE-Core rev: b8c45e8accdb7d74646fa15b775034eb3dcbdcd1)

Signed-off-by: Tim Orling <tim.orlingkonsulko.com>
Signed-off-by: Alexandre Belloni <alexandre.bellonibootlin.com>
Signed-off-by: Richard Purdie <richard.purdielinuxfoundation.org>
daregit pushed a commit to daregit/yocto-combined that referenced this pull request Aug 19, 2024
* Drop 0001-test_funcs-skip-test_unknown-for-pytest-8.patch
  fixed upstream in python-attrs/attrs#1249
* Drop 0001-conftest.py-disable-deadline.patch upstream wanted to try
  doubling the deadline time python-attrs/attrs#1252
  from 200 ms default to 400 ms (we saw some times a bit greater than 200 ms)

https://www.attrs.org/en/stable/changelog.html

24.2.0 - 2024-08-06
  * Deprecations
    - Given the amount of warnings raised in the broader ecosystem, we’ve
	  decided to only soft-deprecate the hash argument to define / attr.s.
	  Please don’t use it in new code, but we don’t intend to remove it
	  anymore. #1330

  * Changes
    - attrs.converters.pipe() (and its syntactic sugar of passing a list
	  for attrs.field()’s / attr.ib()’s converter argument) works again when
	  passing attrs.setters.convert to on_setattr (which is default for
	  attrs.define). #1328
    - Restored support for PEP 649 / 749-implementing Pythons – currently
	  3.14-dev. #1329

24.1.0 - 2024-08-03
  * Backwards-incompatible Changes
    - attrs.evolve() doesn’t accept the inst argument as a keyword argument
	  anymore. Pass it as the first positional argument instead. #1264
    - attrs.validators.provides() has been removed. The removed code is
	  available as a gist for convenient copy and pasting. #1265
    - All packaging metadata except from __version__ and __version_info__
	  has been removed from the attr and attrs modules (for example,
	  attrs.__url__).
    - Please use importlib.metadata or importlib-metadata instead. #1268
    - The generated __eq__ methods have been sped up significantly by
	  generating a chain of attribute comparisons instead of constructing and
	  comparing tuples. This change arguably makes the behavior more correct,
	  but changes it if an attribute compares equal by identity but not value,
	  like float('nan'). #1310

  * Deprecations
    - The repr_ns argument to attr.s is now deprecated. It was a workaround
	  for nested classes in Python 2 and is pointless in Python 3. #1263
    - The hash argument to attr.s, attrs.define, and make_class() is now
	  deprecated in favor of unsafe_hash, as defined by PEP 681. #1323

  * Changes
    - Allow original slotted functools.cached_property classes to be cleaned
	  by garbage collection. Allow super() calls in slotted cached properties.
	  #1221
    - Our type stubs now use modern type notation and are organized such that
	  VS Code’s quick-fix prefers the attrs namespace. #1234
    - Preserve AttributeError raised by properties of slotted classes with
	  functools.cached_properties. #1253
    - It is now possible to wrap a converter into an attrs.Converter and get
	  the current instance and/or the current field definition passed into the
	  converter callable.
    - Note that this is not supported by any type checker, yet. #1267
    - attrs.make_class() now populates the __annotations__ dict of the
	  generated class, so that attrs.resolve_types() can resolve them. #1285
    - Added the attrs.validators.or_() validator. #1303
    - The combination of a __attrs_pre_init__ that takes arguments, a kw-only
	  field, and a default on that field does not crash anymore. #1319
    - attrs.validators.in_() now transforms certain unhashable options to
	  tuples to keep the field hashable.
    - This allows fields that use this validator to be used with, for example,
	  attrs.filters.include(). #1320
    - If a class has an inherited method called __attrs_init_subclass__, it
	  is now called once the class is done assembling.
    - This is a replacement for Python’s __init_subclass__ and useful for
	  registering classes, and similar. #1321

(From OE-Core rev: b8c45e8accdb7d74646fa15b775034eb3dcbdcd1)

Signed-off-by: Tim Orling <tim.orlingkonsulko.com>
Signed-off-by: Alexandre Belloni <alexandre.bellonibootlin.com>
Signed-off-by: Richard Purdie <richard.purdielinuxfoundation.org>
daregit pushed a commit to daregit/yocto-combined that referenced this pull request Sep 22, 2024
* Drop 0001-test_funcs-skip-test_unknown-for-pytest-8.patch
  fixed upstream in python-attrs/attrs#1249
* Drop 0001-conftest.py-disable-deadline.patch upstream wanted to try
  doubling the deadline time python-attrs/attrs#1252
  from 200 ms default to 400 ms (we saw some times a bit greater than 200 ms)

https://www.attrs.org/en/stable/changelog.html

24.2.0 - 2024-08-06
  * Deprecations
    - Given the amount of warnings raised in the broader ecosystem, we’ve
	  decided to only soft-deprecate the hash argument to define / attr.s.
	  Please don’t use it in new code, but we don’t intend to remove it
	  anymore. #1330

  * Changes
    - attrs.converters.pipe() (and its syntactic sugar of passing a list
	  for attrs.field()’s / attr.ib()’s converter argument) works again when
	  passing attrs.setters.convert to on_setattr (which is default for
	  attrs.define). #1328
    - Restored support for PEP 649 / 749-implementing Pythons – currently
	  3.14-dev. #1329

24.1.0 - 2024-08-03
  * Backwards-incompatible Changes
    - attrs.evolve() doesn’t accept the inst argument as a keyword argument
	  anymore. Pass it as the first positional argument instead. #1264
    - attrs.validators.provides() has been removed. The removed code is
	  available as a gist for convenient copy and pasting. #1265
    - All packaging metadata except from __version__ and __version_info__
	  has been removed from the attr and attrs modules (for example,
	  attrs.__url__).
    - Please use importlib.metadata or importlib-metadata instead. #1268
    - The generated __eq__ methods have been sped up significantly by
	  generating a chain of attribute comparisons instead of constructing and
	  comparing tuples. This change arguably makes the behavior more correct,
	  but changes it if an attribute compares equal by identity but not value,
	  like float('nan'). #1310

  * Deprecations
    - The repr_ns argument to attr.s is now deprecated. It was a workaround
	  for nested classes in Python 2 and is pointless in Python 3. #1263
    - The hash argument to attr.s, attrs.define, and make_class() is now
	  deprecated in favor of unsafe_hash, as defined by PEP 681. #1323

  * Changes
    - Allow original slotted functools.cached_property classes to be cleaned
	  by garbage collection. Allow super() calls in slotted cached properties.
	  #1221
    - Our type stubs now use modern type notation and are organized such that
	  VS Code’s quick-fix prefers the attrs namespace. #1234
    - Preserve AttributeError raised by properties of slotted classes with
	  functools.cached_properties. #1253
    - It is now possible to wrap a converter into an attrs.Converter and get
	  the current instance and/or the current field definition passed into the
	  converter callable.
    - Note that this is not supported by any type checker, yet. #1267
    - attrs.make_class() now populates the __annotations__ dict of the
	  generated class, so that attrs.resolve_types() can resolve them. #1285
    - Added the attrs.validators.or_() validator. #1303
    - The combination of a __attrs_pre_init__ that takes arguments, a kw-only
	  field, and a default on that field does not crash anymore. #1319
    - attrs.validators.in_() now transforms certain unhashable options to
	  tuples to keep the field hashable.
    - This allows fields that use this validator to be used with, for example,
	  attrs.filters.include(). #1320
    - If a class has an inherited method called __attrs_init_subclass__, it
	  is now called once the class is done assembling.
    - This is a replacement for Python’s __init_subclass__ and useful for
	  registering classes, and similar. #1321

(From OE-Core rev: b8c45e8accdb7d74646fa15b775034eb3dcbdcd1)

Signed-off-by: Tim Orling <tim.orlingkonsulko.com>
Signed-off-by: Alexandre Belloni <alexandre.bellonibootlin.com>
Signed-off-by: Richard Purdie <richard.purdielinuxfoundation.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants