Flit doesn’t seem to support names with . at all, but it does lowercase the produced wheel names.
Poetry produces wheels with a . in their name and caps:
Building Foo.bar (0.1.0)
- Building sdist
- Built Foo.bar-0.1.0.tar.gz
- Building wheel
- Built Foo.bar-0.1.0-py3-none-any.whl
Hatch normalizes fully:
[sdist]
dist/foo_bar-0.0.1.tar.gz
[wheel]
dist/foo_bar-0.0.1-py3-none-any.whl
Setuptools does not.
Hatch only can work to release to PyPI because it doesn’t actually let you have a . in your name either, it hard normalizes all names and removes the concept of display names completely.