How to determine the name of an egg for a Python package on Github?
distribute, egg, pip, python
Solution
Look at the git repo, find the `setup.py`, `setup.cfg` or `pyproject.toml` file in the root and find what name has been set.
- In `setup.py`, look for the `name` keyword in the `setup()` function call.
- In `setup.cfg`, look for the `name` entry under the `[metadata]` section.
- If there is only a `pyproject.toml` file, then look for a `[tool.poetry]` or `[tool.flit.metadata]` or `[project]` section, and the `name` entry under that section. (Which section exactly depends on the packaging tool used; flint and poetry expect different sections and there may be other projects using `pyproject.toml` to create Python packages in future).
For example, the Pyramid project has a `setup.py` file, which has:
setup(
name='pyramid',
so you'd use:
$ pip install -e git+https://github.com/Pylons/pyramid.git#egg=pyramid
Or, if you look at the FastAPI repository, then you'd find a `pyproject.toml` file with:
[tool.flit.metadata]
module = "fastapi"
and so you'd use
$ pip install -e git+https://github.com/tiangolo/fastapi.git#egg=fastapi
Problem
I know I can install with ``` $ pip install -e git+https://git.repo/some_pkg#egg=SomePackage ``` but -- when I'm trying to use somebody else's package -- how do I determine what the name of the egg is?