id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,merged,author,reviewer,upstream,work_issues,branch,commit,dependencies,stopgaps
21507,Make sagelib a PyPI package,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 first steps:
- #21480: Make `sagelib setup.py` self-contained, independent of `SAGE_ROOT`
- #21508: Clean up src/setup.py to bring it to standard distutils behavior
- #21516: Fix sagelib sdist (src/setup.py sdist)
- #21535: Make src/setup.py independent of SAGE_CYTHONIZED
- #21527: Fix symbolic link to thebe.js
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 the environment variable 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:
- Remove the dependency on the SAGE_LOCAL environment variable.
This defines '''milestone 3'''. If SAGE_LOCAL is not set, then sagelib will discover system packages and Python packages installed in standard places.
{{{
python setup.py install # or pip install .
}}}
At this point, sagelib will be ready for upload to PyPI.",task,new,major,sage-7.5,build,,,jdemeyer was vbraun vdelecroix dimpase fbissey embray leif,,,,N/A,,,,,