Opened 3 years ago

Last modified 11 days ago

#28752 new task

Meta-ticket: Make sagelib pip-installable in a conda environment — at Version 14

Reported by: Matthias Köppe Owned by:
Priority: major Milestone: sage-9.8
Component: build Keywords: conda, sd111
Cc: Isuru Fernando, Julian Rüth, Dima Pasechnik, Erik Bray, Timo Kaufmann, Travis Scrimshaw Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: #28745 Stopgaps:

Status badges

Description (last modified by Matthias Köppe)

The goal of this ticket is to make sagelib (i.e., subdirectory SAGEROOT/src) pip-installable when all required packages are provided by the conda distribution -- just through SAGEROOT/src/setup.py and completely bypassing all sage-the-distribution scripts (top-level SAGEROOT/Makefile and SAGEROOT/build.

In Sage 9.2, this already works after ./configure.

Tickets merged in Sage 9.2 or earlier:

  • #21559: Move sage-the-distribution scripts from src/bin to build/bin
  • #21569: Install src/bin/* scripts via setup.py (scripts, console_scripts)
  • #21785: Installation of SAGE_SRC/ext/ in SAGE_LOCAL/share/sage/ext/ should be done by setup.py, not build/make/Makefile

Additional steps for Sage 9.3:

  • #28745: Add SAGEROOT/src/environment.yml - describes all conda packages needed for installing sagelib for doing sagelib development (this is a superset of SAGEROOT/environment.yml, also introduced in #28745)
  • #29850 Install sage-env-config as part of sage_conf; make sage-env-config optional
  • #21707: Meta-ticket: Split sage-env into 5 to clean up sage configuration

Optional steps:

  • #21570: Move non-scripts of src/bin/ elsewhere (and also move their install location)
  • #21573: Make sure src/setup.py respects --install-base and --root
  • #21654: src/setup.py: Disentangle cleaning of stale installed files in build directory and in install directory
  • #21678: Testsuite for src/setup.py
  • #22655: Support package_data-like of non-Python resource files in Python packages
  • #23747: Rename SAGE_ROOT/build to SAGE_ROOT/sage-distro, SAGE_ROOT/src to SAGE_ROOT/sagelib

(see also earlier task ticket #21507: Make sagelib a pip-installable Python source package, listed on PyPI.)

Change History (14)

comment:1 Changed 3 years ago by Matthias Köppe

Cc: Timo Kaufmann Travis Scrimshaw added
Description: modified (diff)

comment:2 Changed 3 years ago by Erik Bray

Milestone: sage-9.0sage-9.1

Ticket retargeted after milestone closed

comment:3 Changed 3 years ago by Matthias Köppe

Keywords: Anaconda added

comment:4 Changed 3 years ago by Matthias Köppe

Keywords: conda added

comment:5 Changed 3 years ago by Matthias Köppe

Keywords: Anaconda removed

comment:6 Changed 2 years ago by Matthias Köppe

Milestone: sage-9.1sage-9.2

comment:7 Changed 2 years ago by Matthias Köppe

This might work already with the pip-installable tarball generated by ./sage -sh -c build/pkgs/sagelib/spkg-src in #29950

comment:8 Changed 2 years ago by Matthias Köppe

Milestone: sage-9.2sage-9.3

comment:9 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:10 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:11 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:12 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:13 Changed 2 years ago by Matthias Köppe

Description: modified (diff)
Summary: Make sagelib pip-installable in a conda environmentMeta-ticket: Make sagelib pip-installable in a conda environment

comment:14 Changed 2 years ago by Matthias Köppe

Description: modified (diff)
Note: See TracTickets for help on using tickets.