Skip to content

Reserved names for projects in Fedora packages #355

Closed
@encukou

Description

@encukou

Edit: This issue was changed after first reported; see the original first message below.

Various projects are not (yet) registered on PyPI. Typically these require specialized installation – for example, wrappers around (or plugin support for) non-Python software that isn't distributed on PyPI. Or they just pre-date PyPI and haven't switched yet.

However, these projects use metadata such as Name and Requires-Dist. Despite not being installed form PyPI, they use the same namespace when installed.
If the name on PyPI was taken by a different project, users and tools could become quite confused.

To prevent this confusion and mistakes, we're reserving ~250 such names we found in the Fedora Linux distro for the respective projects. Maintainers of these projects can claim the names whenever they're ready to release on PyPI.

If you're a maintainer/member of one of these projects and want the name on PyPI, please file an issue and mention me (@encukou) in it. We'll unblock the name so you can claim it.

Original message:

TL;DR: I want to squat ~250 names on PyPI before opening discussions on how to handle them properly.

(This may be out of place, but I don't know of a better way to reach PyPI moderators. Please let me know if I should post elsewhere.)

Hello,
As PyPI has become the de-facto canonical namespace for freely redistributable Python packages, I would like to encourage maintainers of packages in the Fedora Linux distro to synchronize their Distribution Package names with PyPI – effectively, to merge Fedora's namespace into PyPI's.

This was not yet discussed either on the Fedora side nor on the PyPA one. I plan to kick off those two discussions soon.

But just before kicking off the discussions, I'd like to register distributon names from Fedora that aren't on PyPI yet, so that:

  • good faith actors are advised that the name is taken in some sense (though not in the PEP 541 sense), so using the name for a different purpose might confuse users, and
  • bad-faith actors can't snatch the names that easily.

As PyPI doesn't have a dedicated mechanism to do this, I plan to squat about 250 package names on PyPI. That is, upload non-installable packages with an informative description inspired by the existing microsoft and fedora name squats.
I know well that this is against current regulations. I'm of course prepared to hand ownership to the software authors and/or maintainers when they are ready to publish to PyPI. I'm also prepared to delete all the projects if the discussions don't go my way. I plan to use a version like to 0.0.0.1.dev0 to avoid polluting that space.

Please let me know if you believe I should not attempt this, either here or privately at [email protected].
If there is automation to prevent me from doing this, I would be grateful to get an exception for the PyPI account pviktori (which is currently empty). Provided you aren't opposed to the idea, of course.

cc @hroncok

The list of packages:
2ping
apx
arandr
azote
b43-debug-tools
babeltrace
blivet
blivet-gui
bmap-tools
brd
brial
brlapi
brz-etckeeper
bt2
bubblemail
cantoolz
catfish
ccsm
cdapplet
cdbashapplet
ceph
ceph-volume
cephfs
cephfs-shell
chrome-gnome-shell
classification-banner
cloud-init
clufter
cmdline-todocli
collectd-systemd
commctl
compose-utils
conda-package-handling
congruity
connplotter
copr-keygen
copr-rpmbuild
coverage-test-runner
cptrace
cupshelpers
cxx
cxxtest
ddiskit
dionaea
dnf-etckeeper
dxf2gcode
electron-cash
evic
execdb
fail2ban
fedora-business-cards
fedora-gather-easyfix
fedora-review
fedpkg
fenics-dolfin
fim
firkin
fros
fusion-icon
gajim
ganeshactl
gateway-addon
gaupol
gdeploy
gensim-addons
gfal2-util
gnome-gmail
go2rpm
gphotoframe
gpodder
gradunwarp
gramps
gv
gzipstream
helpersdt
holland-backup-mariabackup
holland-backup-mongodump
holland-backup-mysql-lvm
holland-backup-mysqldump
holland-backup-pgdump
holland-backup-xtrabackup
holland-commvault
holland-lib-common
holland-lib-lvm
holland-lib-mysql
iep
include-server
initial-setup
iotop
ipahealthcheck
ipgetter
is-it-in-rhel
jabber-py
javapackages
jobtriggers
jsmva
jupyroot
kapidox
keylime
kismon
koan
koji-containerbuild
koschei
krop
lazygal
lensfun
lib389
libconcord
libfdt
libiio
libssh2-python
libtaskotron
lightdm-gtk-greeter-settings
lutris
mailnag
marisa
mate-menu
me-cleaner
mgarepo
minigalaxy
mir-perf-framework
mirrormanager2
mnemosyne
nanovnasaver
nemo-audio-tab
nemo-compare
nemo-emblems
nemo-pastebin
nemo-terminal
netsnmp-python
netstat-monitor
nfoview
nfsometer
nftables
nordugrid-arc-nagios-plugins
nototools
novaagent
nvmetcli
oct2spec
ogr2osm
onboard
onionshare
openscap-daemon
oraculum
pagure
pciutils
pcp2pdf
pdfarranger
perf
persepolis
phyghtmap
pkihealthcheck
prelude-correlator
preludedb
printrun
prunerepo
pulsecaster
pwquality
pyaff
pybugz
pyev
pyflowtools
pygpu
pygrub
pyhepmc3
pyhepmc3-rootio
pyhepmc3-search
pyhoca-cli
pyhoca-gui
pyiscsi
pylibxc
pyoptical
pypam
pyqt4-sip
pyrpmmd
pysolfc
pythia8
python-cjdns
python-cpio
python-distutils-extra
python-dmidecode
python-linux-procfs
python-meh
python-xapp
python3-lxc
python3-simplepam
qhexedit
qhexedit-qt5
qpid-dispatch
quasselgrep
quodlibet
r2spec
rabbitvcs
rados
rapid-photo-downloader
rbd
recoll
recollchm
rednotebook
relval
resalloc
resalloc-openstack
resultsdb
resultsdb-frontend
rgw
rhythmbox-ampache
rpkg-util
rpl
rpm2swidtag
rpmautospec
rpmconf
rust2rpm
sagetex
sanlock-python
schedutils
scudcloud
sepolicy
sepolicy-analysis
setroubleshoot
sgtk-menu
shiboken2-generator
simple-ccsm
simpleline
slip-dbus
smartcols
smbcmp
sos-collector
specan
sssdconfig
stgit
stompest-twisted
stratis-cli
suricata
syspurpose
system-storage-manager
targetd
tito
tksnack
torbrowser-launcher
totpcgi
transtats-cli
ufw
ulauncher
urjtag
variety
vevents
virt-bootstrap
virt-who
visionegg-quest
walinuxagent
webthing-ws-api
whipper
whipper-plugin-eaclogger
wofftools
wordxtr
wx-siplib
wxglade
x2go
xen
zanata-python-client
zezere
zim
zinnia-python

Metadata

Metadata

Assignees

Labels

supportUsers asking for help using PyPI

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions