Library name is not always the name of installed package. For the pypng it is just png, as noted in the documentation.
In case, if the documentation does not provide enough info, you could use pip show in order to list all installed files for specified package:
$ python -m pip show -f pypng
Metadata-Version: 2.0
Name: pypng
Version: 0.0.18
Summary: Pure Python PNG image encoder/decoder
Home-page: https://github.com/drj11/pypng
Author: David Jones
Author-email: drj@pobox.com
License: UNKNOWN
Location: /usr/lib/python3.5/site-packages
Requires:
Files:
__pycache__/png.cpython-35.pyc
png.py
pypng-0.0.18.dist-info/DESCRIPTION.rst
pypng-0.0.18.dist-info/INSTALLER
pypng-0.0.18.dist-info/METADATA
pypng-0.0.18.dist-info/RECORD
pypng-0.0.18.dist-info/WHEEL
pypng-0.0.18.dist-info/metadata.json
pypng-0.0.18.dist-info/top_level.txt
As you can see, there is png.py file, which is being imported with import png.