unioslo / mreg-cli

Command Line Interface for Mreg
GNU General Public License v3.0
2 stars 7 forks source link

Add authors to pyproject.toml #263

Closed pederhan closed 3 months ago

pederhan commented 3 months ago

There is no clear definition for authors and maintainers. I would like to have historical authors included as well, but it would be preferable that the active maintainers of the project are the ones to show up first on PyPI.

https://packaging.python.org/en/latest/specifications/pyproject-toml/#authors-maintainers https://discuss.python.org/t/the-author-maintainer-distinction-problem-and-pep-621/4562/14 https://discuss.python.org/t/the-author-maintainer-distinction-problem-and-pep-621/4562/23 (+ answer below)

We can try to add historical authors to authors, and active maintainers to maintainers and see what happens on PyPI?

terjekv commented 3 months ago

The people or organizations considered to be the “authors” of the project. The exact meaning is open to interpretation — it may list the original or primary authors, current maintainers, or owners of the package. The “maintainers” key is similar to “authors” in that its exact meaning is open to interpretation.

Honestly...

We can try to add historical authors to authors, and active maintainers to maintainers and see what happens on PyPI?

Yeah, that works. My only concern is that inactive contributors get automated or even manual spam, but it feels wrong to not mention people who have contributed.

pederhan commented 3 months ago

Yeah, that works. My only concern is that inactive contributors get automated or even manual spam, but it feels wrong to not mention people who have contributed.

Yeah, that was part of my concern.

pederhan commented 3 months ago
$ git shortlog --summary --numbered --email
   216  Øyvind Kolbu <oyvind.kolbu@usit.uio.no>
    49  magnus <mhmorgan42@gmail.com>
    43  Terje Kvernes <terjekv@users.noreply.github.com>
    41  Safet A <amedov@usit.uio.no>
    39  Terje Kvernes <terje@kvernes.no>
    32  Magnus Hirth <mhmorgan42@gmail.com>
    29  Peder Hovdan Andresen <107681714+pederhan@users.noreply.github.com>
    27  Nico <nicolaydmohebi@gmail.com>
    22  Øyvind Hagberg <oyvind.hagberg@usit.uio.no>
    12  Marius Bakke <marius.bakke@usit.uio.no>
    11  pederhan <pederhan@uio.no>
     9  Dmytro Karpenko <dmytrok-drift@dmytrok-mreg-utv.hpc.uio.no>
     9  Peder Hovdan Andresen <pederhan@uio.no>
     6  MHmorgan <mhmorgan42@gmail.com>
     6  pederhan <pederhan@usit.uio.no>
     6  Øyvind Kolbu <oyvind@kolbu.ws>
     3  Fredrik Larsen <fredrik.larsen@usit.uio.no>
     3  Paal Braathen <paal.braathen@usit.uio.no>
     2  Magnus Hirth <magnuhi@stewie.uio.no>
     2  Nils Hiorth <nils@nls.me>
     2  Øyvind Hagberg <oyvind.hagberg@gmail.com>
     1  Dmytro Karpenko <dmytrok@usit.uio.no>
     1  Terje Kvernes <terjekv@nommo.uio.no>
     1  magnuhho <39699842+magnuhho@users.noreply.github.com>
     1  nicolactic <nicolaydmohebi@gmail.com>
terjekv commented 3 months ago

Gah. How to pick names and email addresses... We can go with what we have now and also make it perfectly clear we will accept PRs for adding people upon request?

pederhan commented 3 months ago

I've tried to eliminate duplicates and preferred the most actively used email addresses for those contributors. No matter what, this is better than the previous implementation anyway (no author attribution outside of Git).

I'm not sure if a single commit fixing a typo warrants inclusion in the project metadata though: https://github.com/unioslo/mreg-cli/commit/d8d705ace63bfec5e41cfac8a70baf6491544f21

pederhan commented 3 months ago

Also, author shows up before maintainer on PyPI, and it only lists 1 author and 1 maintainer: https://test.pypi.org/project/mreg-cli/1.0.0a11/ (scroll down to Unverified details).

image

It seems like because we are using a trusted publisher workflow, it only adds the user that made the commit to the list of verified maintainers?

terjekv commented 3 months ago

Well, that's bloody awful. If we actually give it a list of authors and maintainers, how about at least using all of those in the "Unverified details" section? Gah.

pederhan commented 3 months ago

Merging this now. This seems to be the best we can do right now in terms of pyproject.toml modifications.

pederhan commented 3 months ago

Took a page out of pytest's book and added an AUTHORS file like they have:

https://github.com/pytest-dev/pytest/blob/ff7598013581b5820dd83253df7d0cc46f785020/AUTHORS

Which they reference in their pyproject.toml:

https://github.com/pytest-dev/pytest/blob/ff7598013581b5820dd83253df7d0cc46f785020/pyproject.toml#L24

Thus, new contributors can be added to the AUTHORS file without having to add them to the project's metadata. Once someone becomes an active contributor, they can be added to the maintainers table in pyproject.toml (out of scope for this PR).