Opened 2 years ago

Last modified 4 months ago

#28752 new task

Meta-ticket: Make sagelib pip-installable in a conda environment

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.5
Component: build Keywords: conda, sd111
Cc: isuruf, saraedum, dimpase, embray, gh-timokau, tscrim Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: #28745 Stopgaps:

Status badges

Description (last modified by mkoeppe)

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)
  • #30845 GH Actions: Add test for conda without SPKG
  • #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 (18)

comment:1 Changed 2 years ago by mkoeppe

  • Cc gh-timokau tscrim added
  • Description modified (diff)

comment:2 Changed 2 years ago by embray

  • Milestone changed from sage-9.0 to sage-9.1

Ticket retargeted after milestone closed

comment:3 Changed 2 years ago by mkoeppe

  • Keywords Anaconda added

comment:4 Changed 2 years ago by mkoeppe

  • Keywords conda added

comment:5 Changed 2 years ago by mkoeppe

  • Keywords Anaconda removed

comment:6 Changed 20 months ago by mkoeppe

  • Milestone changed from sage-9.1 to sage-9.2

comment:7 Changed 18 months ago by mkoeppe

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

comment:8 Changed 14 months ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:9 Changed 13 months ago by mkoeppe

  • Description modified (diff)

comment:10 Changed 13 months ago by mkoeppe

  • Description modified (diff)

comment:11 Changed 13 months ago by mkoeppe

  • Description modified (diff)

comment:12 Changed 13 months ago by mkoeppe

  • Description modified (diff)

comment:13 Changed 13 months ago by mkoeppe

  • Description modified (diff)
  • Summary changed from Make sagelib pip-installable in a conda environment to Meta-ticket: Make sagelib pip-installable in a conda environment

comment:14 Changed 13 months ago by mkoeppe

  • Description modified (diff)

comment:15 Changed 13 months ago by mkoeppe

  • Description modified (diff)

comment:16 Changed 12 months ago by mkoeppe

  • Keywords sd111 added

Hoping we can make progress on this ticket this week - https://wiki.sagemath.org/days111

comment:17 Changed 8 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.4

comment:18 Changed 4 months ago by mkoeppe

  • Milestone changed from sage-9.4 to sage-9.5
Note: See TracTickets for help on using tickets.