python-attrs / cattrs

Composable custom class converters for attrs, dataclasses and friends.
https://catt.rs
MIT License
818 stars 113 forks source link

PDM switch #371

Closed Tinche closed 1 year ago

codecov-commenter commented 1 year ago

Codecov Report

Merging #371 (9f720e3) into main (1183328) will increase coverage by 1.91%. The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

@@            Coverage Diff             @@
##             main     #371      +/-   ##
==========================================
+ Coverage   93.97%   95.88%   +1.91%     
==========================================
  Files          26       26              
  Lines        2140     2140              
==========================================
+ Hits         2011     2052      +41     
+ Misses        129       88      -41     

see 3 files with indirect coverage changes

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

JWCook commented 11 months ago

@Tinche Just curious, what motivated you to switch from poetry to PDM?

I've also been looking into other packaging tools recently, and what I'd really like is something like poetry + PEP 621 support, or hatch + lockfile support. PDM looks appealing, and I'd be interested to hear what you think of it so far.

Tinche commented 11 months ago

I find that PDM has better defaults (poetry's ~ operator imposes an upper bound which I think is to be discouraged for library dependencies), follows standards more closely and is better maintained.

Hatch + a lockfile would be a strong contender though. I also enjoy that PDM has development dependencies that aren't extras, so they don't get published to PyPI. Also a cool feature is that PDM can be used with the hatchling backend, so hatch(ling) plugins can be used (as cattrs does). I think that's neat and composable.

JWCook commented 11 months ago

Ah, I wasn't aware it could use other build backends and their plugins. Cool! Thanks for the info.