this post was submitted on 11 Feb 2025
16 points (100.0% liked)

Python

6683 readers
1 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

πŸ“… Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
πŸ’“ Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 2 years ago
MODERATORS
all 11 comments
sorted by: hot top controversial new old
[–] logging_strict 1 points 3 days ago

How to separate requirements handling and build backend

then drain-swamp (+drain-swamp-action) which supports build plugins with built in plugin for specifying semantic version.

Prefer to tell the builder the desired version rather than to be told. Options: 'tag', 'current', or specify the version. Version bump is silly.

This way can set the semantic version before tagging a release.

Warning

This is hardcore. Not for noobs, the faint of heart, or wise guys. If you don't need build plugins then maybe drain-swamp is not for you. If you are doing something in setup.py, that you can't live without, then might have a looksie at drain-swamp.

[–] [email protected] 4 points 1 week ago (3 children)

There should be one-- and preferably only one --obvious way to do it.

[–] logging_strict 2 points 6 days ago* (last edited 6 days ago) (1 children)

There are very few one package to rule them all in Python. There are always various similar yet different packages.

Gotta breakdown what you are trying to accomplish. And find packages that do only that. Packages which combine many things into one, might lead to not understanding how it's doing what it's doing.

desired build backend features

  • supports build plugins

  • bypasses the pip limitation of not being able to pass build configs options thru to the build backend subprocess

deal breaker (bad) in a build backend:

  • deals with requirements

  • written in a coding another language you are not familiar with (Rust or node or Go)

[–] [email protected] 1 points 3 days ago (1 children)

Sure, but the Zen isn't saying there must be only one. Just that to get stuff done the first trial shouldn't be evaluate 20 different ways. There should be an obvious choice, with alternatives for the corner cases.

Packaging is so fundamental to a project that you almost need to choose what you're doing before a single line of code is written.

[–] logging_strict 1 points 2 days ago

Packaging seems to be a separate skill. Separate from coding. Lots of people are good at coding. Then hit the packaging roadblock.

Can step in and white knight, but too many projects are like that.

[–] logging_strict 1 points 6 days ago (1 children)

Disagree with you.

Isn't the entire point of Python adding support for roll your own build backend, so we can have many different build backends?

btw i wrote my own

[–] [email protected] 5 points 6 days ago (1 children)

It's not me you disagree with. It's PEP 20 - The Zen of Python

[–] logging_strict 1 points 6 days ago

There already exists multiple build backends. So adding one more can't be violating some rule.

Are there gatekeepers who say it's ok for them but not for anyone else? Do i have to bribe them to be in the in crowd? Am i lower class or an outcast?

This reminds me of proof of stake (1998) with it's master nodes. Which are nodes run by elites where pleb nodes are lessor.

bitcoin (2009) solved that

[–] logging_strict 0 points 6 days ago* (last edited 6 days ago)

What a bunch of nonsense.

How many requirements related libraries are there?!

A standard or package which encourages plugins, but writing a plugin is bad?!

... weird. I don't understand how you can argue that with a straight face

[–] [email protected] 2 points 1 week ago

Maturin got top 5! Way to go Rust! πŸŽ‰