Opened 21 months ago

Last modified 5 days ago

#29705 new task

Meta-ticket: Modularize sagelib into separate distributions (pip-installable packages) sagemath-...

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.6
Component: refactoring Keywords: sd109, sd110, sd111
Cc: vdelecroix, mjo, fbissey, isuruf, tscrim, gh-kliem, jhpalmieri, gh-tobiasdiez, defeo, gh-thierry-FreeBSD Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by mkoeppe)

(From https://groups.google.com/d/msg/sage-devel/M9QTWtln6zU/UHwkrmTKBQAJ)

Modularize sagelib into separate distributions (pip-installable packages), so that these can be built and run with a much smaller set of libraries. The packages can be made available individually on PyPI using the naming scheme sagemath-....

The goal is do this without changing the overall structure of the source tree.

  1. In particular, create a package sagemath-objects that makes Sage objects, the element/parent framework, categories, the coercion system and the related metaclasses available. This package would, for example, not provide or know about integers, polynomials, or matrices (thus avoiding all the dependencies on the various libraries implementing these). Ideally it would only have a build dependency on Cython and no runtime dependencies.

(Doctesting sagemath-objects would still need more of Sage, but some it could also be done by mocking instead of with the real classes.)

a) These facilities could see a wider use in the mathematical Python community, and in this way we could hope to benefit from a larger developer base. For example, we would hope that sagemath-objects could be ported for use with PyPy instead of CPython.

b) Building and deploying a user package would be easier if it could depend on a small package such as sagemath-objects only instead of the whole multigigabyteness of Sage.

  1. Remove the mechanism of OptionalExtensions from sagelib.

Currently, a user would install, for example, the optional package tdlib and then rebuild sagelib so that the OptionalExtension sage.graphs.graph_decompositions.tdlib is built and installed.

With this ticket, the user would instead install a new optional package sagemath-tdlib (which has tdlib as a dependency); this installs the Extension sage.graphs.graph_decompositions.tdlib (as a namespace package).

This has been completed in Sage 9.2 (#29701).

Not within the scope of this ticket:

  • We will not change the overall structure of the source tree (SAGE_ROOT/src/sage). We will achieve this by using the mechanism of native namespace packages introduced in Python 3.3 (PEP 420, see https://trac.sagemath.org/ticket/28925).
  • It is not a prerequisite to fight against all circular imports. In particular, a parent class and its corresponding element class would certainly not be separated into separate distribution packages.

Constraints and challenges:

  • Inconsistent handling of symlinks by pip/setuptools. We cannot simply create a distribution of a subset of the files in src by creating a flock of symlinks (see #29850) and expect everything to work; notably, pip fails because of longstanding issues with installs from local directories (see discussion in #29854).

Solution (implemented in Sage 9.2, #29500): Do not use pip for installations from local source directories. Use setup.py bdist_wheel, followed by pip install of the wheel. pip 21.1's --use-feature=in-tree-build makes this workaround unnecessary (#32046, Sage 9.5).

  • The category framework can not really be separated from the Parent/Element/CategoryObject (e.g. coercion is involved in comparisons and binary operations).

Solution: These should therefore be in the same package sagemath-objects.

  • The category framework cannot live without the integers (e.g. the output of .cardinality() expects an integer).

Possible solution: The coercion system already has the notion of a global coercion model - which is determined at runtime, not compile time (sage.structure.element.get_coercion_model). When methods in sagemath-objects need to create an integer, they should obtain the appropriate class of integers in the same way. An existing function provides this interface already (but has a static implementation):

sage: py_scalar_parent(int)
Integer Ring

#29875 will make this implementation dynamic.

  • Imports in sage.categories:
      bimodules imports QQ, RR
      classical_crystals imports SR
      finite_coxeter_groups imports QQbar
    

One can try to not populate the whole category system.

Tickets for Sage 9.2:

  • #29411: make sagelib a script package
  • #29702: Move all code from src/setup.py to sage_setup
  • #29706, #29720, #29721, #29785, #29786, #29790, #29791: Move Extension options from src/module_list.py to distutils: directives in the individual files
  • #29701 (depends on all of the above): Replace use of module_list and OptionalExtension by extending sage_setup.find_python_sources
  • #28197: upgrade to ipython 7 (old ipython completer crashes on namespace packages)
  • #29803: Upgrade setuptools, setuptools_scm, pip (2020-06), add package wheel; remove zope_interface
  • #21559: Install src/bin scripts by sagelib's setup.py, not make
  • #29950: Build sagelib from build/pkgs/sagelib/src, fix setup.py sdist, add spkg-src and tox.ini (supersedes: #21516: Fix sagelib sdist (src/setup.py sdist), #13190: make sagelib use setuptools instead of distutils)
  • #29869, #29873, #29892, #29883, #16351, #29881, #29880, #29916, #29922: Improve/repair filtered structure of sagelib.
  • #29171: Move giacpy_sage into sage source code
  • #30332: Merge sage_brial into sagelib
  • #29500 Install all Python packages via pip wheel, store wheels in $SAGE_LOCAL/var/lib/sage/wheels
  • #30606: sage.features.Feature.resolution: If SAGE_ROOT is available, recommend system packages
  • #30616: Replace use of sage.misc.package.PackageNotFoundError (2); lazy_import: Add keyword argument 'feature'

Tickets for Sage 9.3:

  • #30715 Remove a few .all imports
  • #30739 Remove a few more .all imports
  • #30784 sage.matrix: Resolve circular imports without using __init__.py
  • #30779 Duplicate src/setup.py
  • #30780 sage_setup: Separate installing and cleaning
  • #30579 Clean up sage_setup.library_order
  • #30580 sage_setup: Remove import-time dependency (setup_requires) on pkgconfig, numpy
  • #29355 Sagelib's scripts in src/bin should not use build/bin/sage-system-python; remove sage-pypkg-location
  • #30780 sage_setup: Separate installing and cleaning
  • #30719 Add build/pkgs/SPKG/install-requires.txt for all Python packages, remove some unneeded packages
  • #29951 src/bin/sage-env: Make SAGE_ROOT and SAGE_LOCAL optional
  • #29852 sage: Determine SAGE_LOCAL, SAGE_ROOT via sage-config if it exists
  • #22731: Replace $SAGE_LOCAL/bin by more specific variables to make Sage easier to package, use in venvs
  • #30013: src/bin/sage-env: Make sure $SAGE_VENV/bin is at the beginning of the PATH
  • #30587: Remove import of ppl at startup
  • #31261: Update pplpy to 0.8.6
  • #29850: Install sage-env-config as part of sage_conf
  • #31025: FPLLL 5.4.0 and FPyLLL 0.5.4
  • #31058: src/bin/sage-venv-config: Do not fail if sage_conf is not available
  • #31218: bootstrap: Fix "sage-venv-config: /doesnotexist/python3: bad interpreter"
  • #31270: Remove sage-location's "sage-force-relocate" mechanism, fix script to work without SAGE_ROOT
  • #31321: build/pkgs: Add some missing install-requires metadata, add some documentation to the developer's guide
  • #30912: sagelib: Update metadata for PyPI deployment as distribution sagemath-standard
  • #31357: Fixup src/VERSION.txt added in #30912
  • #31332: sage.misc.persist: Import SAGE_DB on need only
  • #31334: sage.doctest.control: Do not fail if sage.libs.arb cannot be imported
  • #30984: sage_setup: Replace imports from distutils by setuptools
  • #31365: Add NTL to cython_aliases and sage.misc.cython library search dirs
  • #31279: Add package argon2-cffi (dependency of Jupyter notebook)
  • #31362: make build-local, make build-venv
  • #31377 ./configure --enable-editable
  • #31045: pip, wheel, setuptools: Make wheels available in SAGE_SPKG_WHEELS
  • #30010: Split sage_setup.docbuild out to a separate distribution sage-docbuild
  • #31278: widgetsnbextension should not depend on notebook
  • #30383: Add configure --disable-notebook; show descriptions of optional packages in configure --help
  • #31523: Fix dependencies of ipywidgets
  • #31409: Make it possible to disable build of r, rpy2 using ./configure --disable-r

Tickets for Sage 9.4:

  • #30913: Generate pyproject.toml and setup.cfg [install_requires], requirements.txt, Pipfile, and src/Pipfile (supersedes #30578, #30581)
  • #31384: cython_aliases: Do not fail if one of the listed libraries is not known to pkgconfig
  • #29013: Add configure option --with-sage-venv=SAGE_VENV to create venv there instead of in SAGE_LOCAL
  • #31593: configure: Paths within $SAGE_LOCAL ($prefix) for sage_conf
  • #31338: sage_setup: Use paths within SAGE_LOCAL when provided via sage_conf
  • #31562: Patch giac so that libintl from /usr/local does not leak in on macOS
  • #28890: Install fewer static libraries
  • #32045 sage-env, sage.env: Remove unused environment and Python variables SAGE_ETC, SAGE_INC
  • #32036 sage.env: Remove direct uses of SAGE_LOCAL from the Sage library
  • #32057 sage_setup.setenv: Only set ...PATH variables and LDFLAGS if SAGE_LOCAL differs from SAGE_VENV
  • #31577: Move SAGE_ROOT/build/pkgs/*/src to SAGE_ROOT/pkgs/*
  • #31333: sage.env.sage_include_directories: Remove hard dependency on numpy
  • #32073: Remove sage.libs.readline

Tickets for Sage 9.5:

  • #32046 Use pip --use-feature=in-tree-build, replace use of sdh_setup_bdist_wheel by sdh_pip_install
  • #29847: Install sage_setup with setuptools as a build prerequisite for building/installing sagelib. Deploy distribution sage-setup to PyPI.
  • #32371 ptyprocess: Pin version to 0.5.1 in install-requires.txt
  • #31031 Change sage_setup: distribution headers from sage-... to sagemath-...
  • #32386 Merge pynac sources as src/sage/symbolic/ginac (supersedes #30534)
  • #32412: Deprecate sage.libs.primecount/sage.interfaces.primecount
  • #32373: sage_setup.library_order: Skip libraries that were not detected
  • #32501: Meta-ticket: Clear out __init__.py files in preparation for namespace packages
  • #32414 Meta-ticket: New modules providing abstract base classes to enable modularization
    • #32566/#32610/#32612/#32660/#32750 sage.rings.abc
    • #32600 sage.arith: Use sage.rings.abc and move some module-level imports into methods
    • #32606 Replace is_IntegerModRing by isinstance with new class sage.rings.abc.IntegerModRing
    • #32742 Use sage.rings.abc.RealField, sage.rings.abc.ComplexField more
  • #32534/#32591/#32620/#32734/#32733: Remove .all imports
  • #32442 ./configure: Make --with-sage-venv=auto the default
  • #32062: GH Actions: Deploy sdists to PyPI
  • #29039: pip-installable version of package sage-conf - installs non-Python bits of the Sage distribution in ~/.sage/
  • #32601: Modularization of sagelib: Break out a separate package sagemath-standard-no-symbolics
    • #32411/#32413/#32415/#32416: Remove unnecessary uses of SR and symbolic functions
    • #32599: sage.structure, sage.sets: Remove hard dependencies on the symbolic ring / polynomial rings
    • #32593: sage.modules, sage.matrix: Remove import-time dependencies on the symbolic ring
    • #32638: sage.structure.element: Add abc Expression; deprecate is_Expression etc.
    • #32665: Deprecate is_[Callable]SymbolicExpressionRing, remove use of is_Symbolic{Equation,Variable}, is_CallableSymbolicExpression
    • #32708: sage.tensor.modules: remove dependency on sage.manifolds
    • #32712: sage.tensor.modules: make doctests involving SR optional
    • #32725: Modularization changes in sage.modules, sage.matrix
    • #32730: Import Expression from sage.structure.element
    • #32717: Move sage.functions.other.sqrt to sage.misc.functional
    • #32731: Avoid ceil, floor from sage.functions.other in non-symbolic uses
  • #32585 sage.doctest: Eliminate hard dependency on RealIntervalField
  • #32614 Features and optional tags for sage modules provided by separate distributions
  • #30778 sage.doctest.control: Exclude doctests in files via file-level directives
  • #32649 Replace sage.doctest.external.has_* functions by Features
  • #32650 sage.misc.latex: Replace have_... functions by Features
  • #32619 lazy_import: Muffle diagnostic messages for at_startup
  • #32432: Modularization of sagelib: Break out a separate package sagemath-polyhedra
    • #30022/#32441/#32455/#32775/#32701 Remove compile-time dependency on cypari2 and flint from some modules
    • #32592 sage.geometry.polyhedron: Split out backend_cdd_rdf from backend_cdd
    • #32628 ConvexSet_base, Polyhedron_base: In _test methods, do not fail if some modules are unavailable
    • #32634 sage.misc.latex, sage.repl.display.fancy_repr: Make imports more local
    • #32652/#32653/#32732 sage.geometry.polyhedron: Mark doctests # optional - sage.rings.number_field etc.
    • #32635 sage.matrix.matrix_space: Import element classes on demand, fall back to generic on ImportError
    • #32666 Polyhedron_base.vertex_adjacency_matrix: Do not use face_lattice
    • #32677 sage.rings.real_double: Move methods using GSL to a separate extension module
    • #32625 Parent._is_numerical, _is_real_numerical - remove hard dependency on real_mpfr, complex_mpfr
    • #32641 Decentralize sage.rings.numbers_abc
    • #32769 sage.categories.coxeter_groups: Remove module-level imports from sage.rings, sage.graphs
    • #32777 Allow some imports of RLF to fail
    • #32780 sage.geometry.polyhedron.library: Delay import of rings
    • #32778 sage.rings.infinity: Remove hard dependency on real_lazy and real_mpfi
  • #31386: Move list of scripts from setup.py to setup.cfg
  • #32899: Developer's guide: Add section on modularization
  • #25009/#32894: Split out sage.libs.primecount/sage.interfaces.primecount as a separate Python library

Tickets for Sage 9.6:

  • #29865: Modularization of sagelib: Prepare experimental subset distributions sagemath-objects, sagemath-categories, depending on Cython, pkgconfig, cysignals, gmpy2. Use them as a testsuite for testing the filtered structure of sagelib.
  • #31013 Remove unused class from sage_setup.optional_extension
  • #32846 sage.geometry: More # optional
  • #32847 Use lazy_import for module-level import from sage.plot (outside of sage.plot)
  • #31306 sage.repl: Replace use of SAGE_EXTCODE by importlib.resources
  • #32986 sage.misc.temporary_file: Move SAGE_TMP implementation here
  • #32881/#32888 Feature for sage.rings.padics etc.
  • #32893 Feature for palp
  • #32989/#32999/#33000/#33007/#33146/#33199/#33202 Remove imports from sage.*.all
  • #29941: Modularization of sagelib: Break out a separate packages sagemath-environment, sagemath-repl
  • #32927 build/pkgs/sagelib: Invoke install cleaner explicitly, remove it from pkgs/sagemath-standard/setup.py
  • #32874 Remove use of setup.py install for sagelib
  • #32406: Make ./configure --enable-editable the default
  • #33033 Prepare sage.doctest for namespace packages
  • #28925 Modify find_python_sources to support modularization of sagelib by native namespace packages (PEP 420), rework sagemath-objects, sagemath-categories as namespace packages
  • #33011 Remove __init__.py files for packages designated to be namespace packages
  • #33017 LazyImport.__instancecheck__, __subclasscheck__: Return False on ImportError
  • #29870: Move sage.structure.formal_sum to sage.modules
  • #32360 Merge cypari, cypari2; replace cysignal's optional PARI dependency by a general hook
    • #32431 cysignals: Replace compile-time dependency on pari by run-time dispatch
  • #33029 Feature and doctest tag for runtime cython
  • #30746 sage.doctest.control: Replace use of sage.misc.package.list_packages
  • #30848 sage.doctest.control, sage_setup: Do not check versions of installed packages
  • #30748 Convert startup methods to context manager
  • #32601: Modularization of sagelib: Break out a separate package sagemath-standard-no-symbolics
    • #32609 Remove more unnecessary uses of SR and symbolic functions in sage.combinat
    • #32718 Remove module-level imports from sage.symbolic etc. (outside of sage.symbolic, sage.calculus etc.)
    • #32721 Remove abuse of predefined x in doctests
  • #32432: Modularization of sagelib: Break out a separate package sagemath-polyhedra
    • #32433 Refactor sage.matrix.misc
    • #32465 Refactor {Matrix,Vector}_double_dense through ..._numpy_dense, add ..._numpy_integer_dense
  • #33037 Remove use of SAGE_LIB variable
  • #30911: src/tox.ini: Add "develop" environment
  • #29868: pip-installable packages sagemath-doc-...
  • #31396: relocatable wheel version of package sage-conf
  • possibly move pkgs/sage-conf/sage_conf.py[.in] into src/, mark it (and also src/bin/sage-env-config[.in]) # sage_setup: distribution = sage-conf.
  • #31543: Eliminate use of patches for Python packages
  • #30666 Add "sage_setup: distribution" directives to all Cython modules needing external libraries
  • #30036: sage_conf-pypi: API for incremental builds
  • #29041 sage_bootstrap: Add command sage -package list --output={install-requires,requirements,pipfile,debian,....}
  • #30647: Make lazy_import more friendly to pyflakes and other static checkers
  • #30152: sage_setup: Modify clean_stale_files to support out-of-tree namespace packages
  • #32586: Prepare use of sage.all in sage.structure.factory.lookup_global for modularized distributions
  • Deploy mildly modularized distributions sagemath-core, sagemath-tdlib, ... to PyPI.
    • #32700: Modularization of sagelib: Distribution sagemath-gsl
    • #30151: Modularization of sagelib: Break out a separate package sagemath-meataxe
    • #29864: Modularization of sagelib: Break out a separate package sagemath-tdlib
    • sagemath-giac (ex giacpy_sage in sage.libs.giac + dependency on libgiac)
    • sagemath-brial (ex sage-brial in sage.rings.polynomial.pbori + sage.libs.polybori, sage.crypto.boolean_function)
    • #30716 Towards making Arb library optional
  • Further modularization:
    • #32702 Modularization of sagelib: Distribution sagemath-plot
    • #29912: Modularization of sagelib: Break out a separate package sagemath-ntl
    • Modularization of sagelib: Break out a separate package sage-flint-arb-e_antic-singular
    • #31444 Modularization of sagelib: Break out separate package sagemath-linbox
    • #31695 Modularization of sagelib: Break out separate package sagemath-symbolics (depends on ecl and maxima, packages sage.interfaces.maxima*, sage.libs.ecl)
  • Perhaps move the top-level scripts (sage, sage-env) to a separate package sagemath-scripts. This will allow users to run, for example, sage -sh before sagelib is installed.
  • #32613: pynac: Replace direct use of singular's libfactory by a Python call
  • #32908 Eliminate use of FLINT's NTL interface
  • #30371: In-place (editable) installs of sagelib in a venv

Wishlist tickets, loose ends

  • #30527: Create PEP 503 simple repository for wheels built during installation
  • #29877: sage.categories: Replace import of ZZ by py_scalar_parent(int)
  • #29875: sage.structure.coerce.py_scalar_parent, py_scalar_to_element: Make dynamic
  • #29874: Mock integer class
  • #29845: PEP 517 buildapi for sage_setup
  • #31602: modularized relocatable wheel version of sage_conf
  • #30896: ./configure --with-sage-venv=none

Related:

  • #21508 Meta-ticket: Clean up src/setup.py to bring it to standard distutils behavior
  • https://wiki.sagemath.org/CodeSharingWorkflow
  • #30914 Meta-ticket: Create upstream repositories, pip-installable packages for database packages
  • #30922 Meta-ticket: Fix dependencies of upstream Python packages
  • #30818 Meta-ticket: Set environment for subprocesses invoked by Sage
    • #31041 Set environment for sage.misc.cython
    • #31296 sage.features.Executable: Prepend $SAGE_VENV/bin:$SAGE_LOCAL/bin to PATH
  • #31251 Meta-ticket: Distribution as wheels

Change History (198)

comment:1 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:2 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:3 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:4 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:5 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:6 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:7 Changed 20 months ago by mkoeppe

  • Keywords sd109 added

comment:8 Changed 20 months ago by mkoeppe

  • Branch set to u/mkoeppe/META-modularize-sagelib

comment:9 Changed 20 months ago by mkoeppe

  • Cc gh-kliem jhpalmieri added
  • Commit set to 06a59119edb6d28e9b7cf8ca1bb192d7991ed5d5

Last 10 new commits:

47cb578is_package_or_namespace_package_dir: Recognize namespace packages by file 'namespace'
381a507src/module_list.py: Remove explicit list of sage.numerical.backends extensions
4c51133sage_setup/command/sage_install.py: WIP: Disable cleaning
c0a2ed7src/module_list.py: Remove explicit listing of sage.graphs.graph_decompositions extensions
acaa409Merge branch 't/28925/modify_find_python_sources__clean_stale_files_to_support_modularization_of_sagelib_by_native_namespace_packages__pep_420_' into HEAD
6909e23build/pkgs/coxeter3/distros/fedora.txt: New
2b060aesrc/module_list.py: Move OptionalExtension options for sage.libs.coxeter3.coxeter to distutils directive
4f0d07dsrc/sage/libs/coxeter3/decl.pxd: Add coxeter/ prefix to all header includes; src/module_list.py: remove include_dirs option
1497f3fbuild/pkgs/coxeter3/spkg-configure.m4: New
06a5911Merge branch 't/29721/spkg_configure_m4_for_coxeter3' into HEAD

comment:10 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:11 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:12 Changed 20 months ago by git

  • Commit changed from 06a59119edb6d28e9b7cf8ca1bb192d7991ed5d5 to 4365e5d772cabee22c9eb269b44eeed5788ae5ea

Branch pushed to git repo; I updated commit sha1. New commits:

55bd7basrc/module_list.py: Move options for Extensions in sage.graphs to distutils directives
4365e5dMerge branch 't/29790/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_5__sage_graphs_' into t/29705/META-modularize-sagelib

comment:13 Changed 20 months ago by git

  • Commit changed from 4365e5d772cabee22c9eb269b44eeed5788ae5ea to 7d94648a8904b499a5d76df4a44e006927467bb4

Branch pushed to git repo; I updated commit sha1. New commits:

7d94648src/module_list.py: Move options for Extensions in sage.libs to distutils directives

comment:14 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:15 Changed 20 months ago by git

  • Commit changed from 7d94648a8904b499a5d76df4a44e006927467bb4 to b3d3d2f3baa0e1700c51b7df58a5af1aeba5acc4

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

9dc7022Merge branch 't/29706/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files' into t/29791/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_6__last_
f78b06dsrc/module_list.py: Move options for Extensions in sage.libs to distutils directives
1b0e29dsrc/module_list.py: Move options for Extensions in sage.matrix to distutils directives
6421e2csrc/module_list.py: Move remaining options for Extensions in sage.libs, sage.rings to distutils directives
b3d3d2fMerge branch 't/29791/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_6__last_' into t/29705/META-modularize-sagelib

comment:16 Changed 20 months ago by git

  • Commit changed from b3d3d2f3baa0e1700c51b7df58a5af1aeba5acc4 to 891d12aeacd439cd72e31d42399826f48dae624f

Branch pushed to git repo; I updated commit sha1. New commits:

2821934Fix sage_setup directives: Use distribution, not package
9052db4Merge branch 't/29720/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_2___optionalextensions_' into t/29705/META-modularize-sagelib
ff710eesrc/sage_setup/optional_extension.py (is_package_installed_and_updated): Factor out from OptionalExtension
891d12asrc/setup.py: Remove use of module_list.py; filter by distributions

comment:17 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:18 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:19 Changed 20 months ago by mkoeppe

  • Summary changed from Meta-ticket: Modularize sagelib into separate distutils packages to Meta-ticket: Modularize sagelib into separate distributions (distutils packages)

comment:20 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:21 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:22 Changed 20 months ago by git

  • Commit changed from 891d12aeacd439cd72e31d42399826f48dae624f to bd26ddfc501e27f8c0544833358ce9887b023b9d

Branch pushed to git repo; I updated commit sha1. New commits:

0295c8fsrc/module_list.py: Move options for Extensions in sage.graphs.graph_decompositions to distutils directives
b582789src/sage_setup/find.py: Filter by directive 'sage_setup: distribution = PKG', find Cython modules
63c64d5Merge branches 't/29720/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_2___optionalextensions_', 't/29721/spkg_configure_m4_for_coxeter3', 't/29785/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_3__get_rid_of_uname_specific_', 't/29786/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_4__sage_rings_', 't/29790/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_5__sage_graphs_' and 't/29791/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_6__last_' into t/29701/replace_use_of_module_list_optionalextension
ae70c81src/sage_setup/optional_extension.py (is_package_installed_and_updated): Factor out from OptionalExtension
ec7e9c5src/setup.py: Remove use of module_list.py; filter by distributions
bd26ddfMerge branch 't/29701/replace_use_of_module_list_optionalextension' into t/29705/META-modularize-sagelib

comment:23 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:24 Changed 20 months ago by git

  • Commit changed from bd26ddfc501e27f8c0544833358ce9887b023b9d to 26b557545a62fbcea64df8391be097098e6dbaa1

Branch pushed to git repo; I updated commit sha1. New commits:

38b6bcfMerge tag '9.2.beta0' into t/29411/make_sagelib_a_script_package
f9a30f6build/pkgs/sagelib/spkg-install: Fix up error exits
00a1d57Merge branch 't/29411/make_sagelib_a_script_package' into t/29702/move_all_code_from_src_setup_py__src_fpickle_setup_py_to_sage_setup
25a2340Merge branch 't/29702/move_all_code_from_src_setup_py__src_fpickle_setup_py_to_sage_setup' into t/29701/replace_use_of_module_list_optionalextension
d7bd69eMerge branch 't/29701/replace_use_of_module_list_optionalextension' into t/29705/META-modularize-sagelib
2d866a3src/sage/graphs/graph_decompositions/tdlib.pyx: Fixup
14f488fMerge branch 't/29701/replace_use_of_module_list_optionalextension' into t/29705/META-modularize-sagelib
0d9f653WIP: Add sage_tdlib package
26b5575Use sage_install

comment:25 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:26 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:27 Changed 20 months ago by git

  • Commit changed from 26b557545a62fbcea64df8391be097098e6dbaa1 to 7dd469fdf92a45b80049cd0583c75550ce1032ff

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:

29327d3build/pkgs/entrypoints: Do not provide setup.py, not needed for entrypoints 0.3
bcc79a5build/pkgs/entrypoints/spkg-install.in: Remove pyproject.toml so that setup.py is used
361b98bbuild/pkgs/terminado/spkg-install.in: Remove pyproject.toml so that setup.py is used
5040d7ebuild/pkgs/testpath/spkg-install.in: Remove pyproject.toml so that setup.py is used
371ede6build/pkgs/zope_interface: Change to a dummy script package
b7c63dfMerge branch 't/29803/upgrade_setuptools__pip__2020_06_' into t/29705/META-modularize-sagelib
5f33436src/setup.py: from setuptools import setup
93bbbfeAdd src/setup.cfg
a7de6c0Merge branch 't/13190/make_sagelib_use_setuptools_instead_of_distutils' into t/29705/META-modularize-sagelib
7dd469fWIP: Add sage_tdlib package, use symlinks for sagelib package

comment:28 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:29 Changed 20 months ago by git

  • Commit changed from 7dd469fdf92a45b80049cd0583c75550ce1032ff to 24e9b30a3a67069dcd4374da9c2fef57a1127d3c

Branch pushed to git repo; I updated commit sha1. New commits:

24e9b30build/pkgs/sage_tdlib/src/MANIFEST.in: New

comment:30 Changed 20 months ago by git

  • Commit changed from 24e9b30a3a67069dcd4374da9c2fef57a1127d3c to 9b59435fd22b5dc984d0f069919662a60064d096

Branch pushed to git repo; I updated commit sha1. New commits:

9b59435fixup symlinks

comment:31 Changed 20 months ago by git

  • Commit changed from 9b59435fd22b5dc984d0f069919662a60064d096 to 19e061d300198bb387b9f057af7b1128dcd23e90

Branch pushed to git repo; I updated commit sha1. New commits:

60ed86csrc/setup.py: WIP: Do not use sage_install
19e061dbuild/pkgs/sage_tdlib/src/sage_setup: Remove, we use the installed one

comment:32 Changed 20 months ago by git

  • Commit changed from 19e061d300198bb387b9f057af7b1128dcd23e90 to c3593b2c75a5930108bea71ee4143301487ed65d

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

c3593b2build/pkgs/sage_tdlib/src/sage_setup: Remove, we use the installed one

comment:33 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:34 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:35 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:36 Changed 20 months ago by git

  • Commit changed from c3593b2c75a5930108bea71ee4143301487ed65d to 458d8514eec1cfdaaf351d61e667636e6cd0b025

Branch pushed to git repo; I updated commit sha1. New commits:

2612091Use setup.py install --single-version-externally-managed
458d851build/pkgs/sage_tdlib/spkg-src: New

comment:37 Changed 20 months ago by git

  • Commit changed from 458d8514eec1cfdaaf351d61e667636e6cd0b025 to 70425649041b04e5d2a04d755f7577f4e8ff1237

Branch pushed to git repo; I updated commit sha1. New commits:

5d4e8e7build/pkgs/sage_tdlib/dependencies: Add sagelib, python toolchain
7042564build/pkgs/sagelib/spkg-src: New

comment:38 Changed 20 months ago by git

  • Commit changed from 70425649041b04e5d2a04d755f7577f4e8ff1237 to 90b33d8a76b22ddada6c5be808c7720da8b803a9

Branch pushed to git repo; I updated commit sha1. New commits:

90b33d8Install sagelib, sage_tdlib via sdist defined by MANIFEST.in

comment:39 Changed 20 months ago by git

  • Commit changed from 90b33d8a76b22ddada6c5be808c7720da8b803a9 to 2ccf6b72ab85e3818053608514350b6049a9ca31

Branch pushed to git repo; I updated commit sha1. New commits:

2ccf6b7Merge tag '9.2.beta1' into t/29705/META-modularize-sagelib

comment:40 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:41 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:42 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:43 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:44 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:45 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:46 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:47 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:48 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:49 Changed 19 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.2

comment:50 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:51 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:52 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:53 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:54 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:55 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:56 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:57 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:58 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:59 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:60 Changed 18 months ago by mkoeppe

  • Branch u/mkoeppe/META-modularize-sagelib deleted
  • Commit 2ccf6b72ab85e3818053608514350b6049a9ca31 deleted
  • Description modified (diff)

comment:61 Changed 18 months ago by mkoeppe

  • Cc gh-tobiasdiez added

comment:62 Changed 17 months ago by mkoeppe

  • Description modified (diff)
  • Milestone changed from sage-9.2 to sage-9.3

comment:63 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:64 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:65 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:66 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:67 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:68 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:69 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:70 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:71 Changed 16 months ago by mkoeppe

  • Description modified (diff)

comment:72 Changed 16 months ago by mkoeppe

  • Description modified (diff)

comment:73 Changed 16 months ago by mkoeppe

  • Description modified (diff)

comment:74 Changed 16 months ago by mkoeppe

  • Description modified (diff)

comment:75 Changed 16 months ago by mkoeppe

  • Description modified (diff)

comment:76 Changed 16 months ago by mkoeppe

  • Description modified (diff)

comment:77 Changed 16 months ago by mkoeppe

  • Description modified (diff)

comment:78 Changed 16 months ago by mkoeppe

  • Description modified (diff)

comment:79 Changed 15 months ago by mkoeppe

  • Description modified (diff)
  • Keywords sd110 added

comment:80 Changed 15 months ago by defeo

  • Cc defeo added

comment:81 Changed 15 months ago by mkoeppe

  • Description modified (diff)

comment:82 Changed 15 months ago by mkoeppe

  • Description modified (diff)

comment:83 Changed 15 months ago by mkoeppe

  • Description modified (diff)

comment:84 Changed 15 months ago by mkoeppe

  • Description modified (diff)

comment:85 Changed 15 months ago by mkoeppe

  • Description modified (diff)

comment:86 Changed 15 months ago by mkoeppe

  • Description modified (diff)

comment:87 Changed 15 months ago by mkoeppe

  • Description modified (diff)

comment:88 Changed 15 months ago by mkoeppe

  • Description modified (diff)

comment:89 Changed 15 months ago by mkoeppe

  • Description modified (diff)

comment:90 Changed 15 months ago by mkoeppe

  • Description modified (diff)

comment:91 Changed 14 months ago by mkoeppe

  • Keywords sd111 added

comment:92 Changed 14 months ago by mkoeppe

  • Summary changed from Meta-ticket: Modularize sagelib into separate distributions (distutils packages) to Meta-ticket: Modularize sagelib into separate distributions (pip-installable packages)

comment:93 Changed 14 months ago by mkoeppe

  • Description modified (diff)
  • Summary changed from Meta-ticket: Modularize sagelib into separate distributions (pip-installable packages) to Meta-ticket: Modularize sagelib into separate distributions (pip-installable packages) sagemath-...

comment:94 Changed 14 months ago by mkoeppe

  • Description modified (diff)

comment:95 Changed 14 months ago by mkoeppe

  • Description modified (diff)

comment:96 Changed 14 months ago by mkoeppe

  • Description modified (diff)

comment:97 Changed 14 months ago by mkoeppe

  • Description modified (diff)

comment:98 Changed 13 months ago by mkoeppe

  • Description modified (diff)

comment:99 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:100 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:101 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:102 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:103 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:104 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:105 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:106 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:107 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:108 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:109 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:110 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:111 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:112 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:113 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:114 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:115 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:116 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:117 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:118 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:119 Changed 11 months ago by gh-thierry-FreeBSD

  • Cc gh-thierry-FreeBSD added

comment:120 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:121 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:122 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:123 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:124 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:125 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:126 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:127 Changed 10 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.4

comment:128 Changed 9 months ago by mkoeppe

  • Description modified (diff)

comment:129 Changed 8 months ago by mkoeppe

  • Description modified (diff)

comment:130 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:131 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:132 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:133 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:134 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:135 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:136 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:137 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:138 Changed 6 months ago by mkoeppe

  • Description modified (diff)

comment:139 Changed 6 months ago by mkoeppe

  • Milestone changed from sage-9.4 to sage-9.5

comment:140 Changed 6 months ago by mkoeppe

  • Description modified (diff)

comment:141 Changed 6 months ago by mkoeppe

  • Description modified (diff)

comment:142 Changed 6 months ago by mkoeppe

  • Description modified (diff)

comment:143 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:144 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:145 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:146 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:147 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:148 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:149 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:150 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:151 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:152 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:153 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:154 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:155 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:156 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:157 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:158 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:159 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:160 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:161 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:162 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:163 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:164 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:165 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:166 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:167 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:168 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:169 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:170 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:171 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:172 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:173 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:174 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:175 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:176 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:177 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:178 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:179 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:180 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:181 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:182 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:183 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:184 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:185 Changed 2 months ago by mkoeppe

  • Description modified (diff)

comment:186 Changed 2 months ago by mkoeppe

  • Description modified (diff)

comment:187 Changed 2 months ago by mkoeppe

  • Description modified (diff)

comment:188 Changed 2 months ago by mkoeppe

  • Description modified (diff)

comment:189 Changed 2 months ago by mkoeppe

  • Description modified (diff)

comment:190 Changed 8 weeks ago by mkoeppe

  • Description modified (diff)

comment:191 Changed 8 weeks ago by mkoeppe

  • Description modified (diff)

comment:192 Changed 7 weeks ago by mkoeppe

  • Description modified (diff)

comment:193 Changed 7 weeks ago by mkoeppe

  • Description modified (diff)

comment:194 Changed 6 weeks ago by mkoeppe

  • Description modified (diff)

comment:195 Changed 6 weeks ago by mkoeppe

  • Description modified (diff)

comment:196 Changed 3 weeks ago by mkoeppe

  • Milestone changed from sage-9.5 to sage-9.6

comment:197 Changed 5 days ago by mkoeppe

  • Description modified (diff)

comment:198 Changed 5 days ago by mkoeppe

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