On Sunday, 26 September 2021 at 13:32:28 UTC-7 Matthias Koeppe wrote:

>
> This does not describe our current practice or policy. All public names in 
> all Python modules are part of the API; when we move anything around, we 
> use deprecation via lazy_import etc.
>
> I think deprecation only gets used for things exposed in the "sage global 
namespace", i.e., sage.all. That certainly used to be the case. Other 
changes are/used to be fair game. We need to keep sage.all in some form, 
because it's pretty essential that people can "write sage" (minus 
preprocessor) by doing a "from sage.all import *". I don't think we'll get 
an alternative for that  [I agree that libraries should not be doing that], 
because there needs to be an option for people to get their code working 
without having to track down a dozen import statements.

There's a reason sage has a heavily populated global namespace (and moving 
code from using it to explicit imports is a very annoying step. 
"import_statements" helps a lot for it, but figuring out what to run it on 
has been an iterative  "test it and see what breaks" process in my 
experience.

Recent example of "rough" deprecation: from 9.2 to 9.3: complex_number.pxd 
just disappeared. [not something that "all" would help against, by the 
way]. As a result, it's not easily possible to write a cython extension 
that uses it and supports both 9.2 and 9.3. I think these are the kind of 
things that will limit the modularization of sagelib: it's just too 
integrated. It's certainly going to be a constellation of packages that 
have *exact* versions as prerequisites.  Version ranges will not be an 
option. At that point I don't quite see what the benefit is to split it up 
in separate packages rather than just have one big package.


-- 
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/cb7bbacb-4d12-4278-a824-56fa1b5d4ba7n%40googlegroups.com.

Reply via email to