On 09/07/15 06:33, Simon King wrote: > Hi! > > Removing <tab> characters on trac has a positive side-effect: I was pointed > to a ticket that was closed as duplicate of #5994. And the last serious work > on #5994 was done 6 years ago. > > Unfortunately, I have marked it as "needs info" 6 years ago, and > although I reminded the participants of the ticket 5 and 4 years ago, > there has never been a reply. > > So, better ask here how to resolve it. > > First problem: If you do singular.version() for the first time in a > session, an error is raised. If you do it a second time, there is no > error. That ought to be fixed at last. > > Second problem, and the reason for my post here (and the reason why the > ticket has never been closed): SageMath's interfaces have very inconsistent > ways to describe their version. > > Examples: > - singular.version() (if it doesn't raise an error) yields a rather long > string with detailed information on how Singular was built. > - gap.version() returns the string '4.7.8'. Similar is mwrank.version(). > - fricas.version() is similar to gap.version(), but gives a deprecation > warning (WTF?). > - pari.version() returns [2, 8, 0], where both the list and its items > are of type sage.libs.pari.gen.gen > - gp.version() returns a pair formed by the tuple (2, 8, 0) and a string > providing a short description of the version. > - sage0.version() returns a string providing a short description of the > version. > > At > http://doc.sagemath.org/html/en/developer/packaging.html#package-versioning, > we are told to provide a file package-version.txt. > > First question: Would you agree that all interfaces should return a > string that corresponds to the typical content of the > package-version.txt files? This is similar to the output of > gap.version(), but additionally provides patch levels. > > Second question, if the first question gets an affirmative answer: We > have the files build/pkg/<package_name>/package-version.txt, that could > provide > a default .version() implementation for the standard interfaces (gap, pari, > singular,...). But are they present in a binary distribution of Sage? > > If the answer to the second question is negative: Is the information > from package-version.txt available in the compiled modules somehow? > > Best regards, > Simon > I am personally against anything that relies on the source code being present. Or more precisely anything new.
If you are interested in the installed software version in the sagemath distribution and you want the information from "package-version.txt" you can use the function "package_versions" from sage.misc.package. It's current use is probably cumbersome for what you have in mind so I guess it would be ok to add a function to query version of installed packages in package.py but I don't think it would be appropriate to touch anything else. Francois -- 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. For more options, visit https://groups.google.com/d/optout.