Avatar for the python-attrs user
python-attrs
attrs
BlogDocsChangelog

Performance History

Latest Results

build(deps): bump the github-actions group with 5 updates Bumps the github-actions group with 5 updates: | Package | From | To | | --- | --- | --- | | [re-actors/alls-green](https://github.com/re-actors/alls-green) | `1.2.2` | `1.3.0` | | [github/codeql-action/init](https://github.com/github/codeql-action) | `4.37.4` | `4.37.8` | | [github/codeql-action/autobuild](https://github.com/github/codeql-action) | `4.37.4` | `4.37.8` | | [github/codeql-action/analyze](https://github.com/github/codeql-action) | `4.37.4` | `4.37.8` | | [CodSpeedHQ/action](https://github.com/codspeedhq/action) | `5.0.1` | `5.2.1` | Updates `re-actors/alls-green` from 1.2.2 to 1.3.0 - [Release notes](https://github.com/re-actors/alls-green/releases) - [Commits](https://github.com/re-actors/alls-green/compare/05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe...b5b5b37504aa4183270bd3d855c52a67f212be35) Updates `github/codeql-action/init` from 4.37.4 to 4.37.8 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/f205ea1c3313d32999d8d6a48b4f6530d4437b38...db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28) Updates `github/codeql-action/autobuild` from 4.37.4 to 4.37.8 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/f205ea1c3313d32999d8d6a48b4f6530d4437b38...db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28) Updates `github/codeql-action/analyze` from 4.37.4 to 4.37.8 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/f205ea1c3313d32999d8d6a48b4f6530d4437b38...db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28) Updates `CodSpeedHQ/action` from 5.0.1 to 5.2.1 - [Release notes](https://github.com/codspeedhq/action/releases) - [Changelog](https://github.com/CodSpeedHQ/action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codspeedhq/action/compare/88472375d0a4572cf70a9f1fe3a4e0ab8da1b924...373d6868929f444bc08d901fd0eb0ad52a8875ea) --- updated-dependencies: - dependency-name: re-actors/alls-green dependency-version: 1.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: github/codeql-action/init dependency-version: 4.37.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: github/codeql-action/autobuild dependency-version: 4.37.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: github/codeql-action/analyze dependency-version: 4.37.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: CodSpeedHQ/action dependency-version: 5.2.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot/github_actions/github-actions-ef93c4a3de
15 hours ago
add pr update fragment
RHammond2:feature/eq-validator
20 days ago
Add `dataclass_compatible` flag Short of having some [stdlib fields interface](https://discuss.python.org/t/add-a-fields-interface/108364), the de facto standard for marking a class as "some non-opaque class that you can iterate over the fields of" is the presence of `__dataclass_fields__`. One example of this de facto standard (and the motivation for this PR) is in Pydantic. Pydantic will happily use dataclass definitions for (de)serialization, both in the case of nested definitions, and when using `pydantic.TypeAdapter(T)`. The only way it can tell if something is a dataclass is using `dataclasses.is_dataclass`, which itself just checks for the presence of `__dataclass_fields__`. An `attrs` class masquerading as a dataclass via `__dataclass_fields__` works just fine. Using `pydantic.TypeAdapter` at the edges and normal `attrs` in the core application avoids @tinche's concerns around things like: > Is it really necessary to re-validate all your objects while reading > them from a trusted database? that this PR's author [largely agrees with](https://leontrolski.github.io/pydantic-wrong.html). Another example would be a "map over everything" function like the following: ```python def map_[T](o: T, f: Callable[[T], T]) -> T: if isinstance(o, list): return [map_(v, f) for v in o] # ditto for tuple, set, frozenset, dict, then, if has_fields(o): kwargs = {k: map_(getattr(o, field.name), f) for field in dataclasses.fields(o)} return copy.replace(o, **kwargs) return o ``` With `dataclass_compatible=True` set, functions like this will work without having to muck around checking for the installation of `attrs` and using the subtly different `attrs.fields` function.
leontrolski:add-dataclass-compatible
27 days ago

Latest Branches

CodSpeed Performance Gauge
0%
build(deps): bump the github-actions group with 5 updates#1617
15 hours ago
88cb228
dependabot/github_actions/github-actions-ef93c4a3de
CodSpeed Performance Gauge
0%
fix: compare `Attribute` instances by identity in `include`/`exclude`#1616
3 days ago
cb32540
TrueFurina:fix/filter-attribute-identity
CodSpeed Performance Gauge
0%
7 days ago
7e6bd76
gyanu2507:fix/these-leftover-ib-sentinels
© 2026 CodSpeed Technology
Home Terms Privacy Docs