I was thinking of something much deeper, something like:
@optional('eggs')
def spam():
"""
docstring with the corresponding doctests
"""
blah
And then, several things happen:
1. The testing framework ignores the doctests for the function
`spam`only if the package `eggs` is installed.
2. On startup, the function `spam` is defined only if the package `eggs`
is installed. In particular, tab completion would only show it if the
package is installed.
3. Documentation for the function is only built if the package is
installed.
I know this goes way beyond what you proposed, but on the other hand I
think it makes sense to distinguish if a package is installed or not at
more levels than just the doctesting.
El miércoles, 13 de abril de 2016, 19:01:33 (UTC+2), Nicolas M. Thiéry
escribió:
>
> Hi Miguel,
>
> On Wed, Apr 13, 2016 at 03:05:56AM -0700, mmarco wrote:
> > Sorry if I sounded rude or disrispectful, It wasn't my intention at
> > all.
>
> No worry, I know :-)
>
> > Let me try to redeem myself by proposing some constructive proposal:
>
> Thanks!
>
> > what about a function/method level mark (be it a decorator or a
> > comment)?
>
> The current implementation in #20427 applies only to the current
> method (in fact only to the doctests after the markup). Up to syntax,
> is this what you have in mind? Any suggestion of better syntax?
>
> > It could have more benefits than just treating correctly the
> > doctests. It could also help, for instance, creating a
> > documentation section automatically, or even not exposing the
> > function at all if the corresponding package is not installed.
>
> Yes! Practice would tell us which of those features we would want to
> implement.
>
> > Of course, this idea has many drawbacks: the optional functionality
> > might deppend only on certain parameters (e.g. the 'algorithm'
> > keyword)... but maybe they could be worked out.
>
> Indeed; anyway when a finer granularity is required, the usual #
> optional works just fine.
>
> Cheers,
> Nicolas
>
> [1] http://trac.sagemath.org/ticket/20427
> --
> Nicolas M. Thiéry "Isil" <[email protected] <javascript:>>
> http://Nicolas.Thiery.name/
>
--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.