Commit Graph

1594 Commits

Author SHA1 Message Date
Filipe Brandenburger e21793e90a
Allow converter.optional to take a Converter such as converter.pipe as its argument (#1372)
* Allow converter.optional to take a converter such as converter.pipe as its argument

* Only turn optional into a Converter if needed

* Move call to Converter constructor to the end of optional()

The constructor consumes __annotations__, so move the constructor call to after those have been set on the optional_converter function

* Update tests/test_converters.py

* Update tests/test_converters.py

---------

Co-authored-by: Hynek Schlawack <hs@ox.cx>
2024-11-17 11:15:26 +00:00
Hynek Schlawack ee0f19b696
Update Ruff 2024-11-16 10:59:51 +01:00
Hynek Schlawack cf6af79d9b
Remove stale comment
ref
https://github.com/python-attrs/attrs/pull/1310#issuecomment-2480152650
2024-11-16 10:59:32 +01:00
pre-commit-ci[bot] 13e9a6aaea
[pre-commit.ci] pre-commit autoupdate (#1370)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.6.9 → v0.7.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.6.9...v0.7.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-11-05 06:12:56 +00:00
Hynek Schlawack 9c3b379b32
Harden CI (#1368) 2024-11-02 08:24:37 +00:00
Douglas Griffith 4580a74fc9
update frozen post-init example to use frozen (#1367) 2024-10-29 14:34:22 +00:00
Thomas Grainger 1921da6eac
allow __suppress_context__ and __notes__ to be mutated on frozen exceptions (#1365)
* allow __suppress_context__ to be mutated on frozen exceptions

* add changelog

* and __notes__! lets' not forget that.

* add notes to news

* add tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix improt

* fix test

* fix tests again

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-10-26 11:20:44 +00:00
esteevens 58cd3ae112
Fix tiny typo in glossary.md (#1363) 2024-10-25 06:17:00 +00:00
Hynek Schlawack 5eea939b64
Install pytest-mypy-plugins on 3.13 2024-10-14 15:33:12 +02:00
Hynek Schlawack 88c39b3faf
Make local pre-commit faster 2024-10-14 08:46:51 +02:00
Hynek Schlawack 348cc252cc
The Python used for coverage is new enough for toml 2024-10-14 08:45:51 +02:00
Hynek Schlawack d68f0cdce9
PyPy 3.9 is not supported anymore 2024-10-10 07:54:43 +02:00
Hynek Schlawack 6c20fc0aee
Use 3.13 in dev 2024-10-09 14:18:47 +02:00
pre-commit-ci[bot] 8535b1ead3
[pre-commit.ci] pre-commit autoupdate (#1356)
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.6.3 → v0.6.9](https://github.com/astral-sh/ruff-pre-commit/compare/v0.6.3...v0.6.9)
- [github.com/pre-commit/pre-commit-hooks: v4.6.0 → v5.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.6.0...v5.0.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-10-07 23:05:00 +00:00
Tim Stumbaugh 0e8e82a7a0
Remove mention of cmp= from next gen docs (#1355)
`attrs.define` and `attrs.field` do not actually accept `cmp=`
anymore, but the docs still discuss them
2024-10-04 05:12:03 +00:00
Hynek Schlawack a59c5d7292
docs: fix intersphinx links 2024-09-27 05:56:55 +02:00
Geoffrey Thomas 2afd663bf4
Document how to handle class variables/constants in typed syntax (#1352)
* Document how to handle class variables/constants in typed syntax

This is mentioned very briefly in the API docs for `auto_attrib` but
it's not easy to find if you don't already know about `typing.ClassVar`.

* Fix typo

* 2 empty lines before headers

---------

Co-authored-by: Hynek Schlawack <hs@ox.cx>
2024-09-23 04:24:03 +00:00
Geoffrey Thomas a785e6b4ae
Rephrase the "Private Attributes and Aliases" section (#1351)
It took me a bit to figure out what was meant by the link to the
characteristic issue and why there is no such thing as a private
argument. Incorporate (my understanding of) the meaning inline and also
provide an example of how to work around the _1 syntax error.
2024-09-23 04:16:08 +00:00
Hynek Schlawack 0d7e434065
Lint first, format then
As recced by Astral
2024-09-18 13:46:02 +02:00
Hynek Schlawack ec5bc55caf
Stop installing into CI's system (#1346)
* Stop installing into CI's system

We're starting to get permission denied errors when installing with
--system.

* Pin Pyright

* Simplify

* Fix typo
2024-09-14 14:59:01 +02:00
Hynek Schlawack 2f1014aa60
Black dropped us 5 years ago
31f4105731
2024-09-05 09:02:00 +02:00
Sviatoslav Sydorenko (Святослав Сидоренко) 62fb657709
Opt into uploading PEP 740 digital publish attestations to PyPI once again (#1345)
Opt into uploading PEP 740 digital publish attestations to PyPI

https://github.com/pypa/gh-action-pypi-publish/pull/236

Co-authored-by: Hynek Schlawack <hs@ox.cx>
2024-09-03 09:15:33 +00:00
Hynek Schlawack d13c897406
Revert "Opt into uploading PEP 740 digital publish attestations to PyPI (#1342)"
This reverts commit 3fb6f56458.
2024-09-03 07:05:57 +02:00
Sviatoslav Sydorenko (Святослав Сидоренко) e671aa5306
Clean up a double "your" in `PULL_REQUEST_TEMPLATE.md` (#1343)
Co-authored-by: Hynek Schlawack <hs@ox.cx>
2024-09-03 05:00:13 +00:00
Sviatoslav Sydorenko (Святослав Сидоренко) 3fb6f56458
Opt into uploading PEP 740 digital publish attestations to PyPI (#1342)
https://github.com/pypa/gh-action-pypi-publish/pull/236

Co-authored-by: Hynek Schlawack <hs@ox.cx>
2024-09-03 04:59:58 +00:00
Hynek Schlawack 558c83523b
Fix action/upload's incompatible minor update (#1344) 2024-09-03 06:42:25 +02:00
Hynek Schlawack 64ff5a9fa5
pyright: remove experimental flag
fixes #1341
2024-09-02 08:56:53 +02:00
Hynek Schlawack a8e24b0186
Drop Python 3.7 (#1340)
* Drop Python 3.7

* Add news fragment

* update Ruff
2024-08-29 17:35:04 +02:00
Hynek Schlawack 5c3af47603
Actually add 2024-08-26 07:09:33 +02:00
Hynek Schlawack 9a11b57e8c
Add Polar.sh 2024-08-26 07:09:06 +02:00
Hynek Schlawack 5e679bc674
Update Ruff 2024-08-25 08:28:37 +02:00
Hynek Schlawack 2d514bbe1a
docs: make TL link more accessible 2024-08-25 08:28:23 +02:00
Hynek Schlawack 1a54815b1b
Work around tox bug 2024-08-25 08:27:47 +02:00
Sviatoslav Sydorenko (Святослав Сидоренко) da2333cd37
📦 Make Git archives reproducible (#1338)
Some time ago, it was discovered that Git archives having
`ref-names: $Format:%D$` in `.git_archival.txt` may change when
references existing in the repository change over time [[1]]. This
means that downloading an archive for a commit from an immutable URL
may start yielding slightly different results. This hurts the ability
of downstreams to source projects from Git archive URLs.

With that in mind, modern `setuptools-scm` advises against having this
entry in the `.git_archival.txt` template [[2]]. And this patch
implements said recommendation.

[1]: https://github.com/pypa/setuptools_scm/issues/806
[2]: https://setuptools-scm.readthedocs.io/en/latest/usage/#git-archives
2024-08-24 05:13:16 +00:00
Matthias Schoettle 31db9c781d
Fix license definition in project metadata (#1337) 2024-08-23 21:50:30 +00:00
Hynek Schlawack ae7340966c
Cull Ruff ignores 2024-08-16 07:23:14 +02:00
Hynek Schlawack 993d654066
Update Ruff 2024-08-16 07:10:48 +02:00
Hynek Schlawack 6771a04893
Prepare 24.2.0 2024-08-06 16:27:33 +02:00
Hynek Schlawack b6dc1f1f41
ouch 2024-08-06 16:26:22 +02:00
Hynek Schlawack dec3017351
docs 2024-08-06 16:23:29 +02:00
Hynek Schlawack 5d6d21aa5e
Make Converter (including pipe) correctly infer the return type (#1331)
When running in adapter mode.
2024-08-06 14:01:28 +00:00
Hynek Schlawack 876528893a
docs: better wording 2024-08-06 13:58:27 +02:00
Hynek Schlawack c8c274e9ac
docs: minor changelog fixes 2024-08-06 13:57:50 +02:00
Hynek Schlawack 6fda0a4e08
Make Converter a kind of adapter, fix converters.pipe (#1328)
* Make Converter a kind of adapter, fix converters.pipe

* Fix import cycle on 3.7/8

* stray space

* Create static __call__ on Converter instantiation

* Add tests for adapters doing passing correct args

* Add news fragment
2024-08-06 13:49:43 +02:00
Hynek Schlawack 53e632c521
Try fitting 4 logos per line on PyPI 2024-08-06 13:40:17 +02:00
Hynek Schlawack 7373d88f9b
Restore basic functionality on 3.14[sic] (#1329)
* Restore basic functionality on 3.14[sic]

Essentially switch to PEP 649 / 749 for annotations. Some tests need to
be skipped for now, but the rest is working.

Fixes #1326

* Add news fragment

* We have not 3.14 CI yet

* Use imprerative xfails instead of skips
2024-08-06 13:37:35 +02:00
Hynek Schlawack f520d9a89f
Only soft-deprecate hash (#1330)
* Only soft-deprecate hash

Given the amount of warnings in the eco-system, make the deprection
soft. We won't remove it.

* news fragment
2024-08-06 13:30:30 +02:00
Hynek Schlawack 69d6fd1c6a
Remove stale footnote 2024-08-05 17:06:48 +02:00
Hynek Schlawack 6d0e01f5e4
Start new development cycle 2024-08-03 16:44:20 +02:00
Hynek Schlawack 556ca7c919
Prepare 24.1.0 2024-08-03 16:14:36 +02:00