Python attribute and pnames should be normalized according to https://packaging.python.org/en/latest/specifications/name-normalization/#normalization .
The following list of names, that need work, was provided by @adisbladis in the nixpkgs python room.
Cc'ing people who are currently doing the work in the python ecosystem.
@dotlambda @fabaff @SuperSandro2000 @tjni @natsukium
The workflow would be to
Normalize pname in the derivation
Normalize the directory name
Normalize attribute name and path in pkgs/top-level/python-packages.nix
Update all references to the old attribute name treewide
Create an alias in pkgs/top-level/python-aliases.nix for the old attribute name
Commit python311Packages.newname: rename from oldname
Polygon3 python310Packages.polygon3: rename from Polygon3 #248010
ViennaRNA viennarna: rename from ViennaRNA #250922
amazon_kclpy python310Packages.amazon-kclpy: rename from amazon_kclpy #248014
async_generator python3.pkgs.async-generator: rename from async_generator #248081
async_stagger python3.pkgs.async-stagger: rename from async_stagger #248082
async-timeout python3.pkgs.async-timeout: rename folder to match attribute name #248083
asyncio-mqtt python310Packages.asyncio-mqtt: rename file and add wheel dependency #248084
atsim_potentials python311Packages.atsim-potentials: rename from atsim_potentials #259675
backports_csv python310Packages.backports_*: remove #245894
backports_functools_lru_cache python310Packages.backports_*: remove #245894
backports_tempfile python310Packages.backports_*: remove #245894
backports_unittest-mock python310Packages.backports_*: remove #245894
backports_weakref python310Packages.backports_*: remove #245894
bash_kernel python311Packages.bash-kernel: rename from bash_kernel #266657
beancount_docverif python311Packages.beancount-docverif: rename from beancount_docverif #259679
bip_utils python311Packages.bip-utils: 2.7.0 -> 2.7.1; rename from bip_utils #260567
btsmarthub_devicelist python311Packages.btsmarthub-devicelist: rename from btsmarthub_devicelist #278382
clr-loader python3.pkgs.clr-loader: add build dependencies #247295
covCore python311Packages.cov-core: rename from covCore #278385
cx_Freeze python3.pkgs.cx-freeze: switch to pyproject and rename #246900
cx_oracle python311Packages.cx-oracle: rename from cx_oracle #278560
deep_merge python311Packages.deep_merge: remove #259944
distutils_extra python311Packages.distutils-extra: rename from distutils_extra #260573
django_classytags Django attribute/dirname/pname normalization #245390
django_colorful Django attribute/dirname/pname normalization #245390
django_compat Django attribute/dirname/pname normalization #245390
django_contrib_comments Django attribute/dirname/pname normalization #245390
django_nose Django attribute/dirname/pname normalization #245390
django_silk Django attribute/dirname/pname normalization #245390
django_tagging Django attribute/dirname/pname normalization #245390
django_treebeard Django attribute/dirname/pname normalization #245390
docker_pycreds python311Packages.docker-pycreds: rename from docker_pycreds #278553
et_xmlfile python311Packages.et-xmlfile: rename from et_xmlfile #261328
eyeD3 python311Packages.eyed3: rename from eyeD3 #278556
factory_boy python311Packages.factory-boy: rename from factory_boy #259729
fastnlo_toolkit fastnlo-toolkit,python311Packages.fastnlo-toolkit: rename from fastnlo_toolkit #278569
filebrowser_safe python311Packages.filebrowser-safe: rename from filebrowser_safe #278565
flask_assets python310Packages.flask_*: rename #250993
flask_elastic python310Packages.flask_*: rename #250993
flask_mail python310Packages.flask_*: rename #250993
flask_marshmallow python310Packages.flask-marshmallow: 0.14.0 -> 0.15.0 #249441
flask_migrate python310Packages.flask_*: rename #250993
flask_principal python310Packages.flask_*: rename #250993
flask_script python310Packages.flask_*: rename #250993
flowlogs_reader python311Packages.flowlogs-reader: rename from flowlogs_reader #278585
flufl_bounce python311Packages.flufl-lock: 7.1.1 -> 8.0.2; python311Packages.flufl-i18n: 4.1.1 -> 5.0.2; rename #265198 python311Packages.{flufl-lock,flufl-i18n}: rename from flufl_lock,flufl_i18n #285868
flufl_i18n python311Packages.flufl-lock: 7.1.1 -> 8.0.2; python311Packages.flufl-i18n: 4.1.1 -> 5.0.2; rename #265198 python311Packages.{flufl-lock,flufl-i18n}: rename from flufl_lock,flufl_i18n #285868
flufl_lock python311Packages.flufl-lock: 7.1.1 -> 8.0.2; python311Packages.flufl-i18n: 4.1.1 -> 5.0.2; rename #265198 python311Packages.{flufl-lock,flufl-i18n}: rename from flufl_lock,flufl_i18n #285868
github3_py python311Packages.github3-py: rename from github3_py #278786
gradient_statsd python311Packages.gradient-statsd: rename from gradient_statsd #279201
grappelli_safe python311Packages.grappelli-safe: rename from grappelli_safe #259732
groestlcoin_hash python311Packages.groestlcoin-hash: rename from groestlcoin_hash #279214
guzzle_sphinx_theme python311Packages.guzzle-sphinx-theme: rename from guzzle_sphinx_theme #261330
hcs_utils python311Packages.hcs-utils: rename from hcs_utils #279221
ipython_genutils python311Packages.ipython-genutils: rename from ipython_genutils #260593
jinja2_pluralize python311Packages.jinja2-pluralize: rename from jinja2_pluralize #264721
jsonpath_rw python311Packages.jsonpath-rw: rename from jsonpath_rw #279223
jupyter_console python310Packages.jupyter-console: 6.6.1 -> 6.6.3; rename from jupyter_console #253281
jupyterlab_launcher python311Packages.jupyterlab_launcher: remove #266803
jupyterlab_server python311Packages.jupyterlab-server: 2.25.0 -> 2.25.1; rename from jupyterlab_server #267010
keepkey_agent keepkey-agent,python311Packages.keepkey-agent: rename from keepkey_agent #279225
lazr_config python311Packages.lazr-config: 2.2.3 -> 3.0; python311Packages.lazr-delegates: 2.0.4 -> 2.1.0; rename #265243
lazr_delegates python311Packages.lazr-config: 2.2.3 -> 3.0; python311Packages.lazr-delegates: 2.0.4 -> 2.1.0; rename #265243
lazy_import python311Packages.lazy-import: rename from lazy_import #279255
lazy_imports python311Packages.lazy-imports: rename from lazy_imports #261332
lcov_cobertura python311Packages.lcov-cobertura: rename from lcov_cobertura #279256
ledger_agent python311Packages.ledger-agent: rename from ledger_agent #279257
line_profiler python311Packages.line-profiler: 4.0.2 -> 4.1.2; rename from line_profiler #265256
linear_operator python311Packages.linear-operator: rename from linear_operator #279258
ludios_wpull {grab-site,python38Packages.ludios_wpull}: remove #267001
mac_alias python311Packages.mac-alias: rename from mac_alias #279332
memory_profiler python311Packages.memory-profiler: rename from memory_profiler #259952
mir_eval python311Packages.mir-eval: rename from mir_eval #279334
multi_key_dict python311Packages.multi-key-dict: rename from multi_key_dict #265582
nose_warnings_filters python311Packages.nose-warnings-filters: rename from nose_warnings_filters #279336
opsdroid_get_image_size python311Packages.opsdroid-get-image-size: rename from opsdroid_get_image_size #261334
posix_ipc python311Packages.posix-ipc: rename from posix_ipc #279338
proxy_tools python311Packages.proxy-tools: rename from proxy_tools #265587
pyRFC3339 python311Packages.pyrfc3339: rename from pyRFC3339 #279466
pySmartDL python311Packages.pysmartdl: rename from pySmartDL #260345
py_scrypt python311Packages.py-scrypt: rename from py_scrypt #279350
py_stringmatching python311Packages.py-stringmatching: rename from py_stringmatching #266983
pygame_sdl2 python311Packages.pygame-sdl2: rename from pygame_sdl2 #279396
pymaging_png python311Packages.{pymaging,pymaging_png}: remove #265260
pyqt5_sip python311Packages.pyqt5-sip: rename from pyqt5_sip #279395
pyqt5_with_qtmultimedia python311Packages.pyqt5-multimedia: rename from pyqt5_with_qtmultimedia #279394
pyqt5_with_qtwebkit python311Packages.pyqt5-webkit: rename from pyqt5_with_qtwebkit #279392
pyramid_beaker python310Packages.pyramid_*: rename #250999
pyramid_chameleon python310Packages.pyramid_*: rename #250999
pyramid_exclog python310Packages.pyramid_*: rename #250999
pyramid_mako python310Packages.pyramid_*: rename #250999
pyramid_multiauth python310Packages.pyramid_*: rename #250999
pysideShiboken 9a87752
pysideTools 9a87752
python_docs_theme python311Packages.python-docs-theme: rename from python_docs_theme #265377
python_fedora python311Packages.python-fedora: rename from python_fedora #267482
python_openzwave python311Packages.python-openzwave: rename from python_openzwave #279388
qds_sdk python311Packages.qds-sdk: rename from qds_sdk #262430
querystring_parser python311Packages.querystring-parser: rename from querystring_parser #279390
radicale_infcloud python311Packages.radicale-infcloud: rename from radicale_infcloud #279389
radio_beam python311Packages.radio-beam: 0.3.4 -> 0.3.6; rename from radio_beam #265383
rank_bm25 Init haystack #265845
readme_renderer python311Packages.readme-renderer: rename from readme_renderer #279385
recaptcha_client python311Packages.recaptcha_client: remove #262244
recursivePthLoader python311Packages.recursive-pth-loader: rename from recursivePthLoader #279384
repoze_lru python311Packages.repoze-{lru,sphinx-autointerface,who}: rename from repoze_{lru,sphinx_autointerface,who} #266822
repoze_sphinx_autointerface python311Packages.repoze-{lru,sphinx-autointerface,who}: rename from repoze_{lru,sphinx_autointerface,who} #266822
repoze_who python311Packages.repoze-{lru,sphinx-autointerface,who}: rename from repoze_{lru,sphinx_autointerface,who} #266822
requests_download python311Packages.requests-download: rename from requests_download #279380
requests_ntlm python311Packages.requests-ntlm: rename from requests_ntlm #279378
restructuredtext_lint python311Packages.restructuredtext-lint: rename from restructuredtext_lint #265269
retry_decorator python311Packages.retry-decorator: rename from retry_decorator #279369
setuptoolsTrial python311Packages.setuptools-trial: rename from setuptoolsTrial #266826
sip_4 python311Packages.sip4: rename from sip_4 #279367
sorl_thumbnail python311Packages.sorl-thumbnail: 12.9.0 -> 12.10.0; rename from sorl_thumbnail #266978
spark_parser python311Packages.spark-parser: rename from spark_parser #279358
sphinx_pypi_upload python311Packages.sphinx-pypi-upload: remove #260349
sphinxcontrib_httpdomain sphinx: 5.3.0 -> 7.2.6 #259350
sphinxcontrib_newsfeed sphinx: 5.3.0 -> 7.2.6 #259350
supervise_api python311Packages.supervise-api: rename from supervise_api #260353
sysv_ipc python311Packages.sysv-ipc: rename from sysv_ipc #279355
thumborPexif python311Packages.thumborPexif: remove #279356
torrent_parser python311Packages.torrent-parser: rename from torrent_parser #265386
trezor_agent python311Packages.trezor-agent: rename from trezor_agent #279353
tvdb_api python311Packages.tvdb-api: rename from tvdb_api #262250
ufoLib2 python311Packages.ufolib2: rename from ufoLib2 #279352
update_checker python311Packages.update-checker: rename from update_checker #279351
vega_datasets python311Packages.vega-datasets: rename from vega_datasets #265390
wxPython_4_2 python311Packages.wxpython: rename from wxPython_4_2 #279359
x11_hash python311Packages.x11-hash: rename from x11_hash #265580
zc_lockfile python311Packages.zc-lockfile: rename from zc_lockfile #279227
zope_broken python310Packages.zope_broken: remove #245467
zope_component python310Packages.zope-component: 5.1.0 -> 6.0 #245808
zope_configuration python311Packages.zope-configuration: 4.4.1 -> 5.0; rename frome zope_configuration #266888
zope_contenttype python311Packages.zope-contenttype: 4.6 -> 5.1; rename from zope_contenttype #260333
zope_copy python311Packages.zope-*: rename from zope_* #279208
zope_deprecation python311Packages.zope-deprecation: 4.4.0 -> 5.0; rename from zope_deprecation #259576
zope_dottedname python311Packages.zope-dottedname: 5.0 -> 6.0; rename from zope_dottedname #266889
zope_event python311Packages.zope-event: 4.6 -> 5.0; rename from zope_event #265392
zope_exceptions python311Packages.zope-exceptions: 4.6 -> 5.0.1; rename from zope_exceptions #266973
zope_filerepresentation python311Packages.zope-*: rename from zope_* #279208
zope_i18nmessageid python310Packages.zope-i18nmessageid: 5.1.1 -> 6.0.1; rename #246044
zope_interface python311Packages.zope-*: rename from zope_* #279208
zope_lifecycleevent python311Packages.zope-lifecycleevent: 4.4 -> 5.0; rename from zope_lifecycleevent #260342
zope_location python311Packages.zope-*: rename from zope_* #279208
zope_proxy python311Packages.zope-proxy: 5.0.0 -> 5.1; rename from zope_proxy #259591
zope_schema python311Packages.zope-*: rename from zope_* #279208
zope_size python311Packages.zope-*: rename from zope_* #279208
zope_testing python311Packages.zope-testing: rename from zope_testing #266970
zope_testrunner python311Packages.zope-*: rename from zope_* #279208
zxing_cpp python311Packages.zxing-cpp: rename from zxing_cpp #265575
Python attribute and pnames should be normalized according to https://packaging.python.org/en/latest/specifications/name-normalization/#normalization.
The following list of names, that need work, was provided by @adisbladis in the nixpkgs python room.
Cc'ing people who are currently doing the work in the python ecosystem.
@dotlambda @fabaff @SuperSandro2000 @tjni @natsukium
The workflow would be to
pkgs/top-level/python-packages.nixpkgs/top-level/python-aliases.nixfor the old attribute namepython311Packages.newname: rename from oldnamepysideShiboken9a87752pysideTools9a87752