I have a project idea, but before I start it I need to make sure that I 
have the high-order steps necessary to go from `pip install pip=9.0.1` to 
it actually ending up on disk. Now I'm only considered with 
modern/bleeding-edge, spec-based stuff, so PEP 517/518 and no setup.py, etc.

Anyway, if people can point out any steps the below outline is missing I 
would appreciate it. Thanks!

   1. Specify package requirement
      1. Translate name to PyPI-compatible name
      2. Tease out requirement details (e.g. version, markers, etc.)
   2. Check if package is already installed
   3. Check PyPI for package
   4. Choose appropriate file
      1. Get list of files
      2. Calculate best-fitting wheel
      3. Fallback to .tar.gz sdist
   5. Download file
   6. If sdist:
      1. Extract
      2. Read pyproject.toml
      3. Create venv
      4. Install build dependencies
      5. Build wheel
   7. Cache wheel
   8. Get dependency requirements
   9. Check if dependencies are already installed
   10. Install missing dependencies
   11. Install wheel
      1. To appropriate location (e.g. user, venv, etc.)
      2. Library, scripts, etc. to appropriate locations
   12. Record the installation

Reply via email to