-
-
Notifications
You must be signed in to change notification settings - Fork 435
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sage.categories: Remove module-level imports of sage.rings, sage.algebras, sage.matrix, sage.misc.latex, etc. #29873
Comments
Dependencies: #29869 |
New commits:
|
Commit: |
This comment has been minimized.
This comment has been minimized.
comment:6
Branch is on top of #29869. |
Reviewer: Travis Scrimshaw |
comment:7
In this code, these extra imports at the method level will not have a meaningful effect on the run time, so I am giving this a positive review based on that. However, this is something to be aware of as there can be functions in the category framework that are used in tighter loops. |
comment:8
Thanks! Yes, let's watch out for performance impacts of some of the upcoming changes. |
comment:9
Actually now I see
|
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
comment:11
rebased on top of newer #29869 |
comment:12
cyclic import, it seems |
comment:13
|
comment:14
that's apparently #16351. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:17
Merging #16351 fixed the |
comment:19
One last little trivial thing, please add
as the first line to |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:21
Thanks! |
Changed branch from u/mkoeppe/sage_categories_remove_module_level_imports to |
This is for a cleaner, filtered structure of our Python modules, at least regarding their load time. This is preparation for #29865 (
sage-objects
).The idea is that
sage.categories
should be more abstract than any of the implemented algebraic structures insage.rings
,sage.algebras
,sage.modules
, ... Therefore it should only have a (module load time) dependence onsage.structure
andsage.misc
.The present ticket changes module-level imports to method-level imports so that they are resolved later than at module load time.
At run time, of course, there are additional dependencies. For example, as noted in #29705, the output of
.cardinality()
must be an integer (ZZ).Also, obviously the doctests need a larger part of the library.
(split out from #29865)
Depends on #29869
Depends on #16351
CC: @videlec @tscrim @orlitzky @nthiery @timokau @fchapoton
Component: refactoring
Author: Matthias Koeppe
Branch/Commit:
27f2dab
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/29873
The text was updated successfully, but these errors were encountered: