Here's what I was trying to do (lazy version) In sage.all.py: ==== from sage.matroids.all import *
In sage.matroids.all.py: ==== lazy_import('sage.matroids.importer', ['Matroid', 'matroids', 'LinearMatroid', 'BasisMatroid', ...]) In sage.matroids.importer.py: ==== from basis_matroid import BasisMatroid from linear_matroid import LinearMatroid, ... from constructor import Matroid import matroids_catalog as matroids I somehow seemed to need the extra layer of 'importer.py' to make it work; previously I just had the list of non-lazy import statements in all.py. Note that everything imported into Sage is done lazily. I import classes (LinearMatroid, BasisMatroid), functions (Matroid), and modules (matroids). There's a mix of Python and Cython files. Most files in the code do a fair number of imports of each other (none lazy). Notably, the following files (which contain abstract classes) are used all the time by the code (LinearMatroid derives from BasisExchangeMatroid), but not imported by Sage: sage.matroids.matroid.pyx sage.matroids.basis_exchange_matroid.pyx I hope I am making a little sense; it's getting late here... --Stefan. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel?hl=en. For more options, visit https://groups.google.com/groups/opt_out.