Opened 3 years ago

Last modified 8 weeks ago

#21507 new task

Make sagelib a PyPI package — at Version 1

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-7.6
Component: build Keywords: pip, PyPI
Cc: jdemeyer, was, vbraun, vdelecroix, dimpase, fbissey, embray, leif, aenge, nthiery, mmarco, klee, robertwb, infinity0, thansen, defeo, slelievre, gh-timokau, klui Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by mkoeppe)

This is a task ticket organizing the steps necessary to eventually provide sagelib via PyPI.

It would be used by a Python user as follows. Let's assume a user has already installed every package that sage-the-distribution provides on their distribution. Then a simple

  pip install sagelib

would install sagelib in the user's Python installation. Then the user could do from sage.all import *.

Here are the steps:

  • #21480: Make sagelib setup.py self-contained, independent of SAGE_ROOT, and handle --build-base
  • Make setup.py sdist work
  • Clean up setup.py so that setup.py --help always works etc.
  • ...

This defines milestone 1. sagelib is now a well-behaved Python package. It can be built and installed as follows (without invoking sage -sh):

export SAGE_LOCAL=/path/to/local/hierarchy/populated/by/sage/distribution
export SAGE_PKGS=/path/to/sage/distribution/source/directory/build/pkgs
python setup.py install   # or pip install . 

Next steps:

  • Remove the dependency on SAGE_PKGS (#20382, ...)

This defines milestone 2. sagelib can now be built and installed as follows (without invoking sage -sh):

export SAGE_LOCAL=/path/to/local/hierarchy/populated/by/sage/distribution
python setup.py install   # or pip install . 

Next steps:

  • ...

Change History (1)

comment:1 Changed 3 years ago by mkoeppe

  • Cc was vbraun vdelecroix dimpase added
  • Description modified (diff)
Note: See TracTickets for help on using tickets.