Package name conflict with pyserial

Issue #1 resolved
Peter Gibson created an issue

The pyserial package (https://pypi.org/project/pyserial/) also occupies the "serial" package namespace (and has done since 2003).

This has the potential to confuse users who are looking to install one package and get the other one instead, and the errors that result are vague as the package initially imports fine but then is used in an incorrect manner. See this Stack Overflow answer from just last year with quite a lot of votes of people looking to install pyserial and accidentally getting this package instead.

It also makes it difficult for users to use both packages at the same time.

Depending on your userbase, perhaps you would consider either renaming the package itself or the Pypi page for it. Maybe you could operate an alias in parallel for a while and warn users to change over.

This issue for python-dateutil mentions that it might be possible to rename the package so that users who are upgrading are transitioned automatically.

Obviously you are the best person to decide whether this impact is acceptable or not for your users, but I hope you'll give it some consideration. Ideally Pypi would warn users when this kind of conflict exists from the beginning, but unfortunately I don't think that is the case.

Comments (4)

  1. David Belais repo owner

    I added a check in setup.py, last month, to prevent the most common (only, to my findings so far) conflict scenario. It looks like users, having previously installed pyserial, were accidentally running the command pip install serial —upgrade when intending to run pip install pyserial —upgrade (or a dependency had been incorrectly referenced in another package’s setup.py to the same effect).

  2. David Belais repo owner

    I added a check in setup.py, last month, to prevent the most common (only, to my findings so far) conflict scenario. It looks like users, having previously installed pyserial, were accidentally running the command pip install serial —upgrade when intending to run pip install pyserial —upgrade (or a dependency had been incorrectly referenced in another package’s setup.py to the same effect).

  3. Log in to comment