• logging_strict
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      11 days ago

      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)

      • wewbull@feddit.uk
        link
        fedilink
        English
        arrow-up
        1
        ·
        7 days ago

        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
          link
          fedilink
          arrow-up
          1
          ·
          6 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
      link
      fedilink
      arrow-up
      1
      ·
      11 days ago

      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

        • logging_strict
          link
          fedilink
          arrow-up
          1
          ·
          11 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
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      edit-2
      11 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

  • logging_strict
    link
    fedilink
    arrow-up
    1
    ·
    7 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.