Opened 2 years ago

Last modified 3 weeks 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.7
Component: refactoring Keywords: sd109, sd110, sd111
Cc: vdelecroix, mjo, fbissey, isuruf, tscrim, gh-kliem, jhpalmieri, gh-tobiasdiez, defeo, gh-thierry-FreeBSD, aschilling Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by mkoeppe)

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.

Initial steps:

  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.

This has been completed in Sage 9.6 (#29865).

  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.

Initially noted 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: Therefore they are in the same distribution sagemath-objects.

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

Near term solution: #32432 makes sagemath-categories larger, to include integers and some other basic rings.

Possible future 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
    
    Such imports can be removed using the techniques described in section Module-level runtime dependencies in the Sage developer's guide.

Tickets for Sage 9.2:

see also Modularization changes in Sage 9.2 (release tour)

  • #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:

see also Modularization changes in Sage 9.3 (release tour)

  • #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:

see also Modularization changes in Sage 9.4 (release tour)

  • #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:

see also Modularization changes in Sage 9.5 (release tour)

  • #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:

see also Modularization changes in Sage 9.6 (release tour)

  • #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
  • #32881/#32888 Feature for sage.rings.padics etc.
  • #33033 Prepare sage.doctest for namespace packages
  • #32465 Refactor {Matrix,Vector}_double_dense through ..._numpy_dense, add ..._numpy_integer_dense
  • #33402 sage.geometry.polyhedron: More # optional
  • #33403 Polyhedron._test_product, _test_dilation: Skip tests if test prereqs cannot be imported
  • #33392 sage.matrix: Modularization fixes after #33159
  • #32989/#32999/#33000/#33007/#33146/#33199 Remove imports from sage.*.all
  • #32609 Remove more unnecessary uses of SR and symbolic functions in sage.combinat
  • #32893 Feature for palp
  • #31296 sage.features.Executable: Prepend $SAGE_VENV/bin:$SAGE_LOCAL/bin to PATH
  • #33440 sage.libs.singular: Do not fail if the Singular binary is not in PATH
  • #33465, #33466, #32645, #33467: Use Executable.absolute_filename
  • #33017 LazyImport.__instancecheck__, __subclasscheck__: Return False on ImportError

Tickets for Sage 9.7:

see also Modularization changes in Sage 9.7 (release tour)

  • #33797/#33799 Remove some uses of SAGE_TMP (supersedes #32986)
  • #33801 sage.misc.sage_input: Remove import from sage.all
  • #33803 Fixes for the distributions sagemath-objects, sagemath-categories
  • #32716 pkgs/sagemath-standard/tox.ini: Create environment that uses Sage's python as the basepython
  • #29941: Modularization of sagelib: Break out a separate packages sagemath-environment, sagemath-repl
  • #28925 Modify find_python_sources to support modularization of sagelib by native namespace packages (PEP 420), rework sagemath-objects, sagemath-categories as namespace packages
  • #33822 python3 spkg-configure.m4: Require ensurepip
  • #33795 Move handling of sage --docbuild back to src/bin/sage
  • #33821 Remove use of SAGE_LIB in sage.misc
  • #33295: Refactor sage_conf
  • #33029 Feature and doctest tag for runtime cython
  • #33800 cibuildwheel workflow for sagemath-objects, sagemath-categories etc.
  • #33011 Remove __init__.py files for packages designated to be namespace packages
  • #34187 Remove src/sage/__init__.py
  • #32406: Make ./configure --enable-editable the default
  • #33817 GH Actions: Add test of the modularized distributions
  • #34221 Backport PEP420 namespace package support from Cython 3
  • #33812 Refactor distributions sage-setup, sagemath-{objects,categories} through sagemath-{environment,repl}

Tickets for Sage 9.8:

  • Deploy distributions with optional extension modules to PyPI.
    • #30151: Modularization of sagelib: Break out a separate package sagemath-meataxe
    • #29864: Modularization of sagelib: Break out a separate package sagemath-tdlib
  • #33820 eager_import
  • #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
  • #33575 Feature for fricas
  • #33405 Eliminate direct use of os.getenv in sage.interfaces, use Executable.absolute_filename
  • #33802 Remove runtime dependency on everything via sage_eval
  • #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
  • #33202 Do not complain about sage.categories.all
  • #29870: Move sage.structure.formal_sum to sage.modules
    • #32432: Modularization of sagelib: Break out a separate package sagemath-polyhedra
  • #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
  • #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
  • #30647: Make lazy_import more friendly to pyflakes and other static checkers
  • #32586: Prepare use of sage.all in sage.structure.factory.lookup_global for modularized distributions
  • #32601: Modularization of sagelib: Break out a separate package sagemath-standard-no-symbolics
    • #32718 Remove module-level imports from sage.symbolic etc. (outside of sage.symbolic, sage.calculus etc.)
    • #32721 Remove abuse of predefined x in doctests

Tickets for Sage 9.9

  • #30036: sage_conf-pypi: API for incremental builds
  • #29041 sage_bootstrap: Add command sage -package list --output={install-requires,requirements,pipfile,debian,....}
  • #30152: sage_setup: Modify clean_stale_files to support out-of-tree namespace packages
  • Further modularization:
    • #32700: Modularization of sagelib: Distribution sagemath-gsl
    • 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
      • #32433 Refactor sage.matrix.misc
    • #33660 Modularization of sagelib: Break out separate package sagemath-combinat
    • #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)
  • #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
  • #30748 Convert startup methods to context manager
  • #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
  • #31251 Meta-ticket: Distribution as wheels
  • #33580 Meta-ticket: make all modules importable without sage.all
  • #34201 Meta-ticket: Replace imports from sage.*.all for namespace packages

Change History (232)

comment:1 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:2 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:3 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:4 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:5 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:6 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:7 Changed 2 years ago by mkoeppe

  • Keywords sd109 added

comment:8 Changed 2 years ago by mkoeppe

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

comment:9 Changed 2 years 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 2 years ago by mkoeppe

  • Description modified (diff)

comment:11 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:12 Changed 2 years 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 2 years 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 2 years ago by mkoeppe

  • Description modified (diff)

comment:15 Changed 2 years 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 2 years 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 2 years ago by mkoeppe

  • Description modified (diff)

comment:18 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:19 Changed 2 years 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 2 years ago by mkoeppe

  • Description modified (diff)

comment:21 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:22 Changed 2 years 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 2 years ago by mkoeppe

  • Description modified (diff)

comment:24 Changed 2 years 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 2 years ago by mkoeppe

  • Description modified (diff)

comment:26 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:27 Changed 2 years 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 2 years ago by mkoeppe

  • Description modified (diff)

comment:29 Changed 2 years 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 2 years 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 2 years 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 2 years 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 2 years ago by mkoeppe

  • Description modified (diff)

comment:34 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:35 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:36 Changed 2 years 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 2 years 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 2 years 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 2 years 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 2 years ago by mkoeppe

  • Description modified (diff)

comment:41 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:42 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:43 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:44 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:45 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:46 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:47 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:48 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:49 Changed 2 years ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.2

comment:50 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:51 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:52 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:53 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:54 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:55 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:56 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:57 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:58 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:59 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:60 Changed 2 years ago by mkoeppe

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

comment:61 Changed 2 years ago by mkoeppe

  • Cc gh-tobiasdiez added

comment:62 Changed 2 years ago by mkoeppe

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

comment:63 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:64 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:65 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:66 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:67 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:68 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:69 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:70 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:71 Changed 23 months ago by mkoeppe

  • Description modified (diff)

comment:72 Changed 23 months ago by mkoeppe

  • Description modified (diff)

comment:73 Changed 23 months ago by mkoeppe

  • Description modified (diff)

comment:74 Changed 23 months ago by mkoeppe

  • Description modified (diff)

comment:75 Changed 23 months ago by mkoeppe

  • Description modified (diff)

comment:76 Changed 23 months ago by mkoeppe

  • Description modified (diff)

comment:77 Changed 22 months ago by mkoeppe

  • Description modified (diff)

comment:78 Changed 22 months ago by mkoeppe

  • Description modified (diff)

comment:79 Changed 22 months ago by mkoeppe

  • Description modified (diff)
  • Keywords sd110 added

comment:80 Changed 22 months ago by defeo

  • Cc defeo added

comment:81 Changed 22 months ago by mkoeppe

  • Description modified (diff)

comment:82 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:83 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:84 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:85 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:86 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:87 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:88 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:89 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:90 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:91 Changed 21 months ago by mkoeppe

  • Keywords sd111 added

comment:92 Changed 21 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 21 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 21 months ago by mkoeppe

  • Description modified (diff)

comment:95 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:96 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:97 Changed 21 months ago by mkoeppe

  • Description modified (diff)

comment:98 Changed 20 months ago by mkoeppe

  • Description modified (diff)

comment:99 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:100 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:101 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:102 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:103 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:104 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:105 Changed 19 months ago by mkoeppe

  • Description modified (diff)

comment:106 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:107 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:108 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:109 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:110 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:111 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:112 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:113 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:114 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:115 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:116 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:117 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:118 Changed 17 months ago by mkoeppe

  • Description modified (diff)

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

  • Cc gh-thierry-FreeBSD added

comment:120 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:121 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:122 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:123 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:124 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:125 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:126 Changed 16 months ago by mkoeppe

  • Description modified (diff)

comment:127 Changed 16 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.4

comment:128 Changed 16 months ago by mkoeppe

  • Description modified (diff)

comment:129 Changed 15 months ago by mkoeppe

  • Description modified (diff)

comment:130 Changed 14 months ago by mkoeppe

  • Description modified (diff)

comment:131 Changed 14 months ago by mkoeppe

  • Description modified (diff)

comment:132 Changed 14 months ago by mkoeppe

  • Description modified (diff)

comment:133 Changed 14 months ago by mkoeppe

  • Description modified (diff)

comment:134 Changed 14 months ago by mkoeppe

  • Description modified (diff)

comment:135 Changed 14 months ago by mkoeppe

  • Description modified (diff)

comment:136 Changed 14 months ago by mkoeppe

  • Description modified (diff)

comment:137 Changed 14 months ago by mkoeppe

  • Description modified (diff)

comment:138 Changed 13 months ago by mkoeppe

  • Description modified (diff)

comment:139 Changed 12 months ago by mkoeppe

  • Milestone changed from sage-9.4 to sage-9.5

comment:140 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:141 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:142 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:143 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:144 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:145 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:146 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:147 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:148 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:149 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:150 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:151 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:152 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:153 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:154 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:155 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:156 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:157 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:158 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:159 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:160 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:161 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:162 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:163 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:164 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:165 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:166 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:167 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:168 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:169 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:170 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:171 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:172 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:173 Changed 11 months ago by mkoeppe

  • Description modified (diff)

comment:174 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:175 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:176 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:177 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:178 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:179 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:180 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:181 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:182 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:183 Changed 10 months ago by mkoeppe

  • Description modified (diff)

comment:184 Changed 9 months ago by mkoeppe

  • Description modified (diff)

comment:185 Changed 9 months ago by mkoeppe

  • Description modified (diff)

comment:186 Changed 9 months ago by mkoeppe

  • Description modified (diff)

comment:187 Changed 9 months ago by mkoeppe

  • Description modified (diff)

comment:188 Changed 9 months ago by mkoeppe

  • Description modified (diff)

comment:189 Changed 9 months ago by mkoeppe

  • Description modified (diff)

comment:190 Changed 9 months ago by mkoeppe

  • Description modified (diff)

comment:191 Changed 9 months ago by mkoeppe

  • Description modified (diff)

comment:192 Changed 8 months ago by mkoeppe

  • Description modified (diff)

comment:193 Changed 8 months ago by mkoeppe

  • Description modified (diff)

comment:194 Changed 8 months ago by mkoeppe

  • Description modified (diff)

comment:195 Changed 8 months ago by mkoeppe

  • Description modified (diff)

comment:196 Changed 7 months ago by mkoeppe

  • Milestone changed from sage-9.5 to sage-9.6

comment:197 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:198 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:199 Changed 6 months ago by mkoeppe

  • Description modified (diff)

comment:200 Changed 6 months ago by mkoeppe

  • Description modified (diff)

comment:201 Changed 6 months ago by mkoeppe

  • Description modified (diff)

comment:202 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:203 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:204 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:205 Changed 5 months ago by mkoeppe

  • Milestone changed from sage-9.6 to sage-9.7

comment:206 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:207 Changed 4 months ago by mkoeppe

  • Cc aschilling added

comment:208 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:209 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:210 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:211 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:212 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:213 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:214 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:215 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:216 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:217 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:218 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:219 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:220 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:221 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:222 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:223 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:224 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:225 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:226 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:227 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:228 Changed 5 weeks ago by mkoeppe

  • Description modified (diff)

comment:229 Changed 5 weeks ago by mkoeppe

  • Description modified (diff)

comment:230 Changed 5 weeks ago by mkoeppe

  • Description modified (diff)

comment:231 Changed 4 weeks ago by mkoeppe

  • Description modified (diff)

comment:232 Changed 3 weeks ago by mkoeppe

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