Joungkyun / python-chardet

Python Universal Character Encoding Detector C-binding module (Compatible and faster than py-chardet)
Other
2 stars 0 forks source link

PyPI #2

Open jayvdb opened 5 years ago

jayvdb commented 5 years ago

I couldnt find this published on PyPI.

That is a prerequisite for packaging in most distros, as their package naming convention usually names the package after the PyPI name.

openSUSE has libchardet packages, so publishing this Python package should be really easy.

Joungkyun commented 5 years ago

The purpose of this python module (python-chardet) is to improve performance by modifying only the module without changing the code.

This means that anyone who wants to use this module wants to improve performance without changing the code.

Therefore, this module crashes when it is installed at the same time with PyPI's chardet. Moreover, PyPI's chardet is so famous.

For this reason, I can not register with PyPI.

jayvdb commented 5 years ago

You can register it under a different name.

Distros often have conflicting packages. Rpm has a tag in the .spec to indicate conflicts.

Joungkyun commented 5 years ago

Distros can be packaged without registering at PyPI. I think this is an other issue.

The reason for not registering at PyPI are as follows:

  1. It has the same namespace and apis as PyPI chardet.
  2. Because of the above reasons, a conflict may occur when installing with PIP.
jayvdb commented 5 years ago

https://en.opensuse.org/openSUSE:Packaging_Python see Naming policy

If you only upload a sdist, and not a wheel, the setup.py is always executed. setup.py can refuse to install if the system already has a chardet module.

I have it mostly packaged at https://build.opensuse.org/package/show/home:jayvdb:py-new/python-chardet-c , but I can not submit it as an alternative to the original chardet until it has registered a name. I also fixed up the lib https://build.opensuse.org/request/show/720085

Joungkyun commented 5 years ago

Well. It seems to be talking differently.

What I worry about is that when I register this extension with PyPI, it crashes because of the same API, namesapce as the existing chardet.

Distros is not my worry yet.

jayvdb commented 5 years ago

What about renaming the dso to _chardet_c and the python code to namespace chardet_c ?

Then it can co-exist with all of the similar libraries https://build.opensuse.org/package/show/home:jayvdb:py-new/python-cchardet https://build.opensuse.org/package/show/home:jayvdb:py-new/python-pychardet