On Monday 7 October 2024 at 06:26:52 UTC-7 marc....@gmail.com wrote: A concrete example of a useful standalone Sage module is CyPari2. By including CyPari within SnapPy we are able to make it possible to compute number theoretic invariants of hyperbolic manifolds. We are unable to use Sage's CyPari2 because we need to support Windows. But, as Oscar says, it should be easier to port individual modules to Windows than all of Sage. That is the case with CyPari.
As another example, it would be great for SnapPy if we could also include Sage's interval arithmetic code, packaged as a standalone module. Both CyPari and interval arithmetic are examples of packages in Sage that interface with other libraries: CyPari with GP/Pari and interval arithmetic with MPFI or (if you prefer ball arithmetic) ARB. So these are examples of functionality that is already available in stand-alone form, but for which access is made more convenient by a python interface that was developed as part of Sage. There is a good example out there, in the form of MPMath, of a python library that does not *depend* on sage but can work well with Sage if it is present. It was not developed as part of sage but was developed while sage was definitely one of the users. There are other examples, like CyPari, that started out as part of Sage and were later spun off as independent units. I have yet to see a convincing example where chopping up core architecture of sagemath (like the coercion framework, the category framework, etc) leads to usable bits for other projects (that get used!) It would be interesting to see something like that, particularly to evaluate what direction modularization should take. -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/c4387676-0bd5-4c1e-b284-1209a17fc3f4n%40googlegroups.com.