The Trac ticket is 7477, but so far we've been developing our code separately, at
https://bitbucket.org/matroid/sage_matroids/overview To get lazy imports, modify the last two lines of all.py I think the goals and viewpoints of matroid theorists are different enough from finite geometry that we can be sage.matroids. I like to see our code as a sibling of sage.graphs. By the way, I did all my tests against Sage 5.8.beta1, which has fooled with the documentation a bit. --Stefan. On Tuesday, February 26, 2013 11:08:45 PM UTC-5, Volker Braun wrote: > > Autodoc will resolve the lazy imports when it tries to get at the > docstrings, there are various lazily imported objects for which the > documentation builds just fine. Your problem is most likely elsewhere. > Whats the trac ticket? > > Also, how about moving the matroid code into the sage.geometry.matroid > subdirectory? There is already some related code in there, including code > to compute the circuits of a point configuration in > sage.geometry.triangulation.point_configuration > > > > > > > > On Tuesday, February 26, 2013 4:28:21 PM UTC-10, Stefan wrote: >> >> Hi all, >> >> The matroid code we want to submit to Sage soon has a reasonably complex >> web of imports: the base class Matroid is abstract, but invokes subclasses >> of itself (DualMatroid, MinorMatroid, sometimes BasisMatroid) for several >> of the standard implementations of methods. Of course each of these, in its >> own file, inherits from the abstract class. >> >> For the end user, we only want to auto-import a few classes and a >> constructor function. We want to use lazy_import to play nice with Sage's >> startup time. After a little struggle I got it to work fine (autocomplete, >> runtime docstrings and all), but that gives trouble with building the >> reference manual. I get errors like >> >> [matroids ] >> /Users/svanzwam/sage-5.8.beta1/devel/sage/doc/en/reference/matroids/sage/matroids/basis_exchange_matroid.rst:11: >> >> WARNING: autodoc can't import/find module >> 'sage.matroids.basis_exchange_matroid', it reported error: "'module' object >> has no attribute 'BasisExchangeMatroid'", please check your spelling and >> sys.path >> >> Not only that, but the corresponding documentation files will be >> basically empty (or, depending on the command issued, it fails to build) >> >> With normal imports these warnings vanish and the documentation builds as >> expected. Should I give up on lazy_import, or is there another way out? >> >> Cheers, >> >> 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.