Question

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?

Was it helpful?

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
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top