Next | Query returned 33 messages, browsing 1 to 10 | Previous

History of commit frequency

CVS Commit History:


   2025-01-27 10:41:49 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-attrs: updated to 25.1.0

25.1.0
This release only ensures correct PyPI licensing metadata.
   2024-12-24 17:06:13 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-attrs: updated to 24.3.0

24.3.0

Backwards-incompatible Changes

- Python 3.7 has been dropped.

Changes

- Introduce `attrs.NothingType`, for annotating types consistent with \ 
`attrs.NOTHING`.
- Allow mutating `__suppress_context__` and `__notes__` on frozen exceptions.
- `attrs.converters.optional()` works again when taking \ 
`attrs.converters.pipe()` or another Converter as its argument.
- *attrs* instances now support \ 
[`copy.replace()`](https://docs.python.org/3/library/copy.html#copy.replace).
- `attrs.validators.instance_of()`'s type hints now allow for union types.
  For example: `instance_of(str | int)`
   2024-08-07 22:12:10 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-attrs: updated to 24.2.0

24.2.0

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.

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`).
- Restored support for PEP [649](https://peps.python.org/pep-0649/) / \ 
[749](https://peps.python.org/pep-0749/)-implementing Pythons -- currently \ 
3.14-dev.
   2024-08-04 08:40:25 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-attrs: updated to 24.1.0

24.1.0

Backwards-incompatible Changes

- `attrs.evolve()` doesn't accept the *inst* argument as a keyword argument anymore.
  Pass it as the first positional argument instead.
- `attrs.validators.provides()` has been removed.
  The removed code is available as a \ 
[gist](https://gist.github.com/hynek/9eaaaeb659808f3519870dfa16d2b6b2) for \ 
convenient copy and pasting.
- 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`](https://docs.python.org/3/library/importlib.metadata.html) \ 
or [*importlib_metadata*](https://pypi.org/project/importlib-metadata/) instead.
- Speed up the generated `__eq__` methods 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')`.

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.
- The *hash* argument to `@attr.s`, `@attrs.define`, and `make_class()` is now \ 
deprecated in favor of *unsafe_hash*, as defined by PEP 681.

Changes

- Allow original slotted `functools.cached_property` classes to be cleaned by \ 
garbage collection.
  Allow `super()` calls in slotted cached properties.
- Our type stubs now use modern type notation and are organized such that VS \ 
Code's quick-fix prefers the `attrs` namespace.
- Preserve `AttributeError` raised by properties of slotted classes with \ 
`functools.cached_properties`.
- 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.
- `attrs.make_class()` now populates the `__annotations__` dict of the generated \ 
class, so that `attrs.resolve_types()` can resolve them.
- Added the `attrs.validators.or_()` validator.
- The combination of a `__attrs_pre_init__` that takes arguments, a kw-only \ 
field, and a default on that field does not crash anymore.
- `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()`.
- 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.
   2023-12-31 09:01:32 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-attrs: updated to 23.2.0

23.2.0

Changes

- The type annotation for `attrs.resolve_types()` is now correct.
- Type stubs now use `typing.dataclass_transform` to decorate dataclass-like \ 
decorators, instead of the non-standard `__dataclass_transform__` special form, \ 
which is only supported by Pyright.
- Fixed serialization of namedtuple fields using `attrs.asdict/astuple()` with \ 
`retain_collection_types=True`.
- `attrs.AttrsInstance` is now a `typing.Protocol` in both type hints and code.
  This allows you to subclass it along with another `Protocol`.
- If *attrs* detects that `__attrs_pre_init__` accepts more than just `self`, it \ 
will call it with the same arguments as `__init__` was called.
  This allows you to, for example, pass arguments to `super().__init__()`.
- Slotted classes now transform `functools.cached_property` decorated methods to \ 
support equivalent semantics.
- Added *class_body* argument to `attrs.make_class()` to provide additional \ 
attributes for newly created classes.
  It is, for example, now possible to attach methods.
   2023-10-28 21:57:26 by Thomas Klausner | Files touched by this commit (516) | Package updated
Log message:
python/wheel.mk: simplify a lot, and switch to 'installer' for installation

This follows the recommended bootstrap method (flit_core, build, installer).

However, installer installs different files than pip, so update PLISTs
for all packages using wheel.mk and bump their PKGREVISIONs.
   2023-07-30 17:32:50 by Adam Ciarcinski | Files touched by this commit (19)
Log message:
Remove dependencies for Python 3.7
   2023-06-18 07:39:38 by Adam Ciarcinski | Files touched by this commit (20)
Log message:
py-ZopeInterface: moved to py-zope.interface
   2023-04-30 15:14:49 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
py-attrs: update to 23.1.0.

##  - 2023-04-16

### Backwards-incompatible Changes

- Python 3.6 has been dropped and packaging switched to static package data using .

### Deprecations

- The support for *zope-interface* via the `attrs.validators.provides` validator \ 
is now deprecated and will be removed in, or after, April 2024.

  The presence of a C-based package in our developement dependencies has caused \ 
headaches and we're not under the impression it's used a lot.

  Let us know if you're using it and we might publish it as a separate package.

### Changes

- `attrs.filters.exclude()` and `attrs.filters.include()` now support the \ 
passing of attribute names as strings.

- `attrs.has()` and `attrs.fields()` now handle generic classes correctly.

- Fix frozen exception classes when raised within e.g. \ 
`contextlib.contextmanager`, which mutates their `__traceback__` attributes.

- `@frozen` now works with type checkers that implement .

- Restored ability to unpickle instances pickled before 22.2.0.

- `attrs.asdict()`'s and `attrs.astuple()`'s type stubs now accept the \ 
`attrs.AttrsInstance` protocol.

- Fix slots class cellvar updating closure in CPython 3.8+ even when `__code__` \ 
introspection is unavailable.

- `attrs.resolve_types()` can now pass `include_extras` to \ 
`typing.get_type_hints()` on Python 3.9+, and does so by default.

- Added instructions for pull request workflow to `CONTRIBUTING.md`.

- Added *type* parameter to `attrs.field()` function for use with \ 
`attrs.make_class()`.

  Please note that type checkers ignore type metadata passed into \ 
`make_class()`, but it can be useful if you're wrapping _attrs_.

- It is now possible for `attrs.evolve()` (and `attr.evolve()`) to change fields \ 
named `inst` if the instance is passed as a positional argument.

  Passing the instance using the `inst` keyword argument is now deprecated and \ 
will be removed in, or after, April 2024.

- `attrs.validators.optional()` now also accepts a tuple of validators (in \ 
addition to lists of validators).

##  - 2022-12-21

### Backwards-incompatible Changes

- Python 3.5 is not supported anymore.

### Deprecations

- Python 3.6 is now deprecated and support will be removed in the next release.

### Changes

- `attrs.field()` now supports an *alias* option for explicit `__init__` \ 
argument names.

  Get `__init__` signatures matching any taste, peculiar or plain!
  The  *alias* option can be use to override private attribute name mangling, or \ 
add other arbitrary field argument name overrides.

- `attrs.NOTHING` is now an enum value, making it possible to use with e.g. .

- Added missing re-import of `attr.AttrsInstance` to the `attrs` namespace.

- Fix slight performance regression in classes with custom `__setattr__` and \ 
speedup even more.

- Class-creation performance improvements by switching performance-sensitive \ 
templating operations to f-strings.

  You can expect an improvement of about 5% -- even for very simple classes.

- `attrs.has()` is now a  for `AttrsInstance`.
  That means that type checkers know a class is an instance of an `attrs` class \ 
if you check it using `attrs.has()` (or `attr.has()`) first.

- Made `attrs.AttrsInstance` stub available at runtime and fixed type errors \ 
related to the usage of `attrs.AttrsInstance` in *Pyright*.

- On Python 3.10 and later, call  on dict classes after creation.
  This improves the detection of abstractness.

- *attrs*'s pickling methods now use dicts instead of tuples.
  That is safer and more robust across different versions of a class.

- Added `attrs.validators.not_(wrapped_validator)` to logically invert \ 
*wrapped_validator* by accepting only values where *wrapped_validator* rejects \ 
the value with a `ValueError` or `TypeError` (by default, exception types \ 
configurable).

- The type stubs for `attrs.cmp_using()` now have default values.

- To conform with ` now accept *unsafe_hash* in addition to *hash*.

##  - 2022-07-28

### Backwards-incompatible Changes

- Python 2.7 is not supported anymore.

  Dealing with Python 2.7 tooling has become too difficult for a volunteer-run \ 
project.

  We have supported Python 2 more than 2 years after it was officially \ 
discontinued and feel that we have paid our dues.
  All version up to 21.4.0 from December 2021 remain fully functional, of course.

- The deprecated `cmp` attribute of `attrs.Attribute` has been removed.
  This does not affect the *cmp* argument to `attr.s` that can be used as a \ 
shortcut to set *eq* and *order* at the same time.

### Changes

- Instantiation of frozen slotted classes is now faster.

- If an `eq` key is defined, it is also used before hashing the attribute.

- Added `attrs.validators.min_len()`.

- `attrs.validators.deep_iterable()`'s *member_validator* argument now also \ 
accepts a list of validators and wraps them in an `attrs.validators.and_()`.

- Added missing type stub re-imports for `attrs.converters` and `attrs.filters`.

- Added missing stub for `attr(s).cmp_using()`.

- `attrs.validators._in()`'s `ValueError` is not missing the attribute, expected \ 
options, and the value it got anymore.

- Python 3.11 is now officially supported.
   2023-04-30 14:12:52 by Thomas Klausner | Files touched by this commit (1)
Log message:
py-attrs: add test status, comment out test dependency

py-ZopeInterface will shortly stop supporting python 2.x, and it's an
optional here.

Next | Query returned 33 messages, browsing 1 to 10 | Previous