pylint-dev / pylint

It's not just a linter that annoys you!
https://pylint.readthedocs.io/en/latest/
GNU General Public License v2.0
5.34k stars 1.14k forks source link

Create separate repositories for pyreverse, spelling and testutils #8535

Open Pierre-Sassoulas opened 1 year ago

Pierre-Sassoulas commented 1 year ago

Some pylint users do not use pyreverse, the dependencies of pylint-spelling are not handled well, and most of our user are not lib maintainer requiring our test utils. Now that we have an organization dedicated to pylint's development it's not unexpected that we would have a multi-repositories approach. Moving them to another repository would mean:

We can also filter the git history like what was done for epylint in the emacs orphanage (or testutils in a private PyCQA repository). The only negative I see with that is that we would need to do more releases (because right now everything is embedded in pylint). Releases aren't that hard to do and we would not need a maintenance branch for pyreverse, spelling or testutil, imo. We also need to decide how the transition is going to happen (optional way to install pyreverse/testutil like we did for spelling ?).

Opening this issue to gather feedback.

mbyrnepr2 commented 1 year ago

Makes perfect sense to me!

DudeNr33 commented 1 year ago

I thought about this for pyreverse as well. Do you know if we could publish it on PyPI under this name? There already exists a package with this name, as it seems that anno 2005 pyreverse was once standalone and afterwards migrated into pylint.

As for the dependencies between pylint and pyreverse separating them should be possible. The ImportsChecker supports creating import graphs in dot format, but it uses pylint/graph.py to do so. graph.py was once also used by pyreverse, but after we have added the new output formats and refactored all Printer related stuff it no longer has any connections to it.

DanielNoord commented 1 year ago

I think being able to get the PyPI name should indeed be a blocker. Andreas you can try emailing either Logilab or the other maintainer?

Pierre-Sassoulas commented 1 year ago

I'm not sure that's a true blocker, we could also use pylint-pyreverse. It would be nice to have pyreverse though. I created pylint-pyreverse, pylint-spelling, pylint-core and pylint-testutils just to guarantee those are not squatted. (I contacted Emmanuel Breton to ask about this via LinkedIn, it was a task well suited for a french person 😄).

DudeNr33 commented 1 year ago

Thanks for taking care of this Pierre!

Pierre-Sassoulas commented 1 year ago

Providing the following relevant link if we want to pursue the pyreverse namespace in the future: https://peps.python.org/pep-0541/#how-to-request-a-name-transfer. Not sure if applicable here as I'm pretty sure I contacted the current owner on LinkedIn (they did not answer yet).