Skip to content

release: publish as tlgr-cli, because PyPI will not take tlgr (2.0.1) - #20

Merged
erfnzdeh merged 1 commit into
mainfrom
chore/pypi-name
Sep 10, 2026
Merged

release: publish as tlgr-cli, because PyPI will not take tlgr (2.0.1)#20
erfnzdeh merged 1 commit into
mainfrom
chore/pypi-name

Conversation

@erfnzdeh

Copy link
Copy Markdown
Collaborator

PyPI refuses the name tlgr:

This project name is too similar to an existing project

The project it means is tlgrm, first
published 2026-06-14, one letter away, describing itself as a command-line
client and webhook daemon for Telegram built on Telethon. tlgr's own 1.0.0 is
tagged 2026-03-06, so the name here is not shadowing anything, but the
similarity check does not weigh dates. A separate request to PyPI asking for
tlgr to be permitted can run on its own time; this is so there is a working
install line today.

The distribution name is the only thing that moves

It is not the import name and it is not the command:

  • nothing in tlgr/ or tests/ reads the distribution name (no
    importlib.metadata, no pkg_resources);
  • [project.scripts] is keyed on tlgr.cli:cli;
  • [tool.setuptools.package-data] is keyed on the package tlgr.

Verified on the built wheel:

distribution: tlgr-cli 2.0.1
import package: tlgr 2.0.1
tlgr, version 2.0.1

So import tlgr works, tlgr --version works, every module path is
untouched, and the wheel installs the same commands it did yesterday. What
changes is pip install tlgr becoming pip install tlgr-cli.

Why 2.0.1 and not a re-tag of 2.0.0

2.0.0 is released and its artefacts are named tlgr-2.0.0. A distribution
cannot be renamed under a version that already exists, and the wheel PyPI
serves has to be the wheel the release page carries.

Docs

Corrected in the same commit rather than after it. They said tlgr was not on
PyPI, which was true when written this morning and stops being true with this
release; README's pip install tlgr was wrong for the whole of 1.x.
docs/UPGRADING.md now also says plainly that pipx upgrade tlgr does not
work for a v1 install, and to uninstall the old one only after the new one
answers --version — both provide the same tlgr command and must not sit
side by side.

Verification

Locally against this branch: ruff clean, mypy clean (139 files), docs and
parity regenerate to no diff, tools/release_notes.py v2.0.1 agrees, and
both artefacts build as tlgr_cli-2.0.1. Full suite running alongside CI.

PyPI refuses the name `tlgr`: "This project name is too similar to an
existing project". The project it means is `tlgrm`, first published
2026-06-14, one letter away and describing itself as a command-line client
and webhook daemon for Telegram built on Telethon. tlgr's own 1.0.0 is tagged
2026-03-06, so the name here is not shadowing anything, but the similarity
check does not weigh dates and there is no reason to wait on an appeal to
have a working install line.

The distribution name is the only thing that moves. It is not the import name
and not the command: nothing in the source reads it, `[project.scripts]` is
keyed on `tlgr.cli:cli`, and `[tool.setuptools.package-data]` is keyed on the
package. So `import tlgr` still works, `tlgr --version` still works, every
module path is untouched, and the wheel installs the same 951 commands it did
yesterday. What changes is `pip install tlgr` becoming `pip install tlgr-cli`.

The version goes to 2.0.1 rather than re-tagging 2.0.0, because 2.0.0 is
released and its artefacts are named `tlgr-2.0.0`. A distribution cannot be
renamed under a version that already exists; the wheel PyPI serves has to be
the wheel the release page carries.

The install docs are corrected in the same commit rather than after it. They
said tlgr was not on PyPI, which was true when it was written this morning
and stops being true with this release, and README's `pip install tlgr` was
wrong for the whole of 1.x. docs/UPGRADING.md now also says plainly that
`pipx upgrade tlgr` does not work for a v1 install, and to uninstall the old
one only after the new one answers `--version`: both provide the same `tlgr`
command and must not sit side by side.
@erfnzdeh
erfnzdeh merged commit 9e68adf into main Sep 10, 2026
11 of 22 checks passed
@erfnzdeh
erfnzdeh deleted the chore/pypi-name branch September 10, 2026 21:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant