Skip to content

Commit 9014410

Browse files
author
Release Manager
committed
gh-36572: Replace relative imports by absolute ones in categories <!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes #1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes #12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> As preparation for compiling with meson, we replace relative imports by absolute ones. Relative imports are not used consistently in the codebase and result in issues for doctesting with pytest (which admittedly is a limitation of pytest). We normalize the relative imports in `sage.categories` to be absolute imports. Small code-style improvements along the way (mainly to nicely order the imports) ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - #12345: short description why this is a dependency - #34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: #36572 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik
2 parents e86721e + df2f18d commit 9014410

38 files changed

+271
-233
lines changed

src/sage/categories/action.pxd

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from sage.structure.element cimport Element
2-
from .morphism cimport Morphism
3-
from .map cimport Map
4-
from .functor cimport Functor
2+
from sage.categories.morphism cimport Morphism
3+
from sage.categories.map cimport Map
4+
from sage.categories.functor cimport Functor
55

66
cdef class Action(Functor):
77
cdef readonly G

src/sage/categories/action.pyx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ AUTHOR:
5656

5757
from cpython.tuple cimport PyTuple_GET_ITEM
5858

59-
from .functor cimport Functor
60-
from .morphism cimport Morphism
61-
from .map cimport Map
59+
from sage.categories.functor cimport Functor
60+
from sage.categories.morphism cimport Morphism
61+
from sage.categories.map cimport Map
6262
from sage.structure.element cimport parent
6363
from sage.structure.parent cimport Parent
6464

65-
from . import homset
65+
from sage.categories import homset
6666
from weakref import ref
6767

6868

src/sage/categories/algebra_ideals.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
# https://www.gnu.org/licenses/
1111
# *****************************************************************************
1212

13-
from .algebra_modules import AlgebraModules
14-
from .algebras import Algebras
15-
from .rings import Rings
16-
from .category_types import Category_ideal
13+
from sage.categories.algebra_modules import AlgebraModules
14+
from sage.categories.algebras import Algebras
15+
from sage.categories.category_types import Category_ideal
16+
from sage.categories.rings import Rings
1717

1818

1919
class AlgebraIdeals(Category_ideal):

src/sage/categories/algebra_modules.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@
1010
# http://www.gnu.org/licenses/
1111
#******************************************************************************
1212

13-
from .category_types import Category_module
14-
from .commutative_algebras import CommutativeAlgebras
15-
from .commutative_rings import CommutativeRings
16-
from .modules import Modules
13+
from sage.categories.category_types import Category_module
14+
from sage.categories.commutative_algebras import CommutativeAlgebras
15+
from sage.categories.commutative_rings import CommutativeRings
16+
from sage.categories.modules import Modules
17+
1718

1819
class AlgebraModules(Category_module):
1920
"""

src/sage/categories/algebras_with_basis.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
# https://www.gnu.org/licenses/
1010
#******************************************************************************
1111

12+
from sage.categories.cartesian_product import CartesianProductsCategory
13+
from sage.categories.category_with_axiom import CategoryWithAxiom_over_base_ring
14+
from sage.categories.tensor import TensorProductsCategory, tensor
15+
from sage.categories.unital_algebras import UnitalAlgebras
1216
from sage.misc.cachefunc import cached_method
1317
from sage.misc.lazy_attribute import lazy_attribute
1418
from sage.misc.lazy_import import LazyImport
15-
from sage.categories.tensor import TensorProductsCategory, tensor
16-
from sage.categories.cartesian_product import CartesianProductsCategory
17-
from sage.categories.category_with_axiom import CategoryWithAxiom_over_base_ring
18-
from .unital_algebras import UnitalAlgebras
1919

2020

2121
class AlgebrasWithBasis(CategoryWithAxiom_over_base_ring):

src/sage/categories/all.py

Lines changed: 77 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -27,128 +27,128 @@
2727
from sage.misc.namespace_package import install_doc
2828
install_doc(__package__, __doc__)
2929

30-
from . import primer
30+
from sage.categories import primer
3131

3232
from sage.misc.lazy_import import lazy_import
3333

34-
from .all__sagemath_objects import *
34+
from sage.categories.all__sagemath_objects import *
3535

36-
from .basic import *
36+
from sage.categories.basic import *
3737

38-
from .chain_complexes import ChainComplexes, HomologyFunctor
38+
from sage.categories.chain_complexes import ChainComplexes, HomologyFunctor
3939

40-
from .simplicial_complexes import SimplicialComplexes
40+
from sage.categories.simplicial_complexes import SimplicialComplexes
4141

42-
from .tensor import tensor
43-
from .signed_tensor import tensor_signed
42+
from sage.categories.tensor import tensor
43+
from sage.categories.signed_tensor import tensor_signed
4444

45-
from .g_sets import GSets
46-
from .pointed_sets import PointedSets
45+
from sage.categories.g_sets import GSets
46+
from sage.categories.pointed_sets import PointedSets
4747

48-
from .sets_with_grading import SetsWithGrading
48+
from sage.categories.sets_with_grading import SetsWithGrading
4949

50-
from .groupoid import Groupoid
51-
from .permutation_groups import PermutationGroups
50+
from sage.categories.groupoid import Groupoid
51+
from sage.categories.permutation_groups import PermutationGroups
5252

5353
# enumerated sets
54-
from .finite_sets import FiniteSets
55-
from .enumerated_sets import EnumeratedSets
56-
from .finite_enumerated_sets import FiniteEnumeratedSets
57-
from .infinite_enumerated_sets import InfiniteEnumeratedSets
54+
from sage.categories.finite_sets import FiniteSets
55+
from sage.categories.enumerated_sets import EnumeratedSets
56+
from sage.categories.finite_enumerated_sets import FiniteEnumeratedSets
57+
from sage.categories.infinite_enumerated_sets import InfiniteEnumeratedSets
5858

5959
# posets
60-
from .posets import Posets
61-
from .finite_posets import FinitePosets
62-
from .lattice_posets import LatticePosets
63-
from .finite_lattice_posets import FiniteLatticePosets
60+
from sage.categories.posets import Posets
61+
from sage.categories.finite_posets import FinitePosets
62+
from sage.categories.lattice_posets import LatticePosets
63+
from sage.categories.finite_lattice_posets import FiniteLatticePosets
6464

6565
# finite groups/...
66-
from .finite_semigroups import FiniteSemigroups
67-
from .finite_monoids import FiniteMonoids
68-
from .finite_groups import FiniteGroups
69-
from .finite_permutation_groups import FinitePermutationGroups
66+
from sage.categories.finite_semigroups import FiniteSemigroups
67+
from sage.categories.finite_monoids import FiniteMonoids
68+
from sage.categories.finite_groups import FiniteGroups
69+
from sage.categories.finite_permutation_groups import FinitePermutationGroups
7070

7171
# fields
72-
from .number_fields import NumberFields
73-
from .function_fields import FunctionFields
72+
from sage.categories.number_fields import NumberFields
73+
from sage.categories.function_fields import FunctionFields
7474

7575
# modules
76-
from .left_modules import LeftModules
77-
from .right_modules import RightModules
78-
from .bimodules import Bimodules
76+
from sage.categories.left_modules import LeftModules
77+
from sage.categories.right_modules import RightModules
78+
from sage.categories.bimodules import Bimodules
7979

80-
from .modules import Modules
80+
from sage.categories.modules import Modules
8181
RingModules = Modules
82-
from .vector_spaces import VectorSpaces
82+
from sage.categories.vector_spaces import VectorSpaces
8383

8484
# (hopf) algebra structures
85-
from .algebras import Algebras
86-
from .commutative_algebras import CommutativeAlgebras
87-
from .coalgebras import Coalgebras
88-
from .bialgebras import Bialgebras
89-
from .hopf_algebras import HopfAlgebras
90-
from .lie_algebras import LieAlgebras
85+
from sage.categories.algebras import Algebras
86+
from sage.categories.commutative_algebras import CommutativeAlgebras
87+
from sage.categories.coalgebras import Coalgebras
88+
from sage.categories.bialgebras import Bialgebras
89+
from sage.categories.hopf_algebras import HopfAlgebras
90+
from sage.categories.lie_algebras import LieAlgebras
9191

9292
# specific algebras
93-
from .monoid_algebras import MonoidAlgebras
94-
from .group_algebras import GroupAlgebras
95-
from .matrix_algebras import MatrixAlgebras
93+
from sage.categories.monoid_algebras import MonoidAlgebras
94+
from sage.categories.group_algebras import GroupAlgebras
95+
from sage.categories.matrix_algebras import MatrixAlgebras
9696

9797
# ideals
98-
from .ring_ideals import RingIdeals
98+
from sage.categories.ring_ideals import RingIdeals
9999
Ideals = RingIdeals
100-
from .commutative_ring_ideals import CommutativeRingIdeals
101-
from .algebra_modules import AlgebraModules
102-
from .algebra_ideals import AlgebraIdeals
103-
from .commutative_algebra_ideals import CommutativeAlgebraIdeals
100+
from sage.categories.commutative_ring_ideals import CommutativeRingIdeals
101+
from sage.categories.algebra_modules import AlgebraModules
102+
from sage.categories.algebra_ideals import AlgebraIdeals
103+
from sage.categories.commutative_algebra_ideals import CommutativeAlgebraIdeals
104104

105105
# schemes and varieties
106-
from .modular_abelian_varieties import ModularAbelianVarieties
107-
from .schemes import Schemes
106+
from sage.categories.modular_abelian_varieties import ModularAbelianVarieties
107+
from sage.categories.schemes import Schemes
108108

109109
# * with basis
110-
from .modules_with_basis import ModulesWithBasis
110+
from sage.categories.modules_with_basis import ModulesWithBasis
111111
FreeModules = ModulesWithBasis
112-
from .hecke_modules import HeckeModules
113-
from .algebras_with_basis import AlgebrasWithBasis
114-
from .coalgebras_with_basis import CoalgebrasWithBasis
115-
from .bialgebras_with_basis import BialgebrasWithBasis
116-
from .hopf_algebras_with_basis import HopfAlgebrasWithBasis
112+
from sage.categories.hecke_modules import HeckeModules
113+
from sage.categories.algebras_with_basis import AlgebrasWithBasis
114+
from sage.categories.coalgebras_with_basis import CoalgebrasWithBasis
115+
from sage.categories.bialgebras_with_basis import BialgebrasWithBasis
116+
from sage.categories.hopf_algebras_with_basis import HopfAlgebrasWithBasis
117117

118118
# finite dimensional * with basis
119-
from .finite_dimensional_modules_with_basis import FiniteDimensionalModulesWithBasis
120-
from .finite_dimensional_algebras_with_basis import FiniteDimensionalAlgebrasWithBasis
121-
from .finite_dimensional_coalgebras_with_basis import FiniteDimensionalCoalgebrasWithBasis
122-
from .finite_dimensional_bialgebras_with_basis import FiniteDimensionalBialgebrasWithBasis
123-
from .finite_dimensional_hopf_algebras_with_basis import FiniteDimensionalHopfAlgebrasWithBasis
119+
from sage.categories.finite_dimensional_modules_with_basis import FiniteDimensionalModulesWithBasis
120+
from sage.categories.finite_dimensional_algebras_with_basis import FiniteDimensionalAlgebrasWithBasis
121+
from sage.categories.finite_dimensional_coalgebras_with_basis import FiniteDimensionalCoalgebrasWithBasis
122+
from sage.categories.finite_dimensional_bialgebras_with_basis import FiniteDimensionalBialgebrasWithBasis
123+
from sage.categories.finite_dimensional_hopf_algebras_with_basis import FiniteDimensionalHopfAlgebrasWithBasis
124124

125125
# graded *
126-
from .graded_modules import GradedModules
127-
from .graded_algebras import GradedAlgebras
128-
from .graded_coalgebras import GradedCoalgebras
129-
from .graded_bialgebras import GradedBialgebras
130-
from .graded_hopf_algebras import GradedHopfAlgebras
126+
from sage.categories.graded_modules import GradedModules
127+
from sage.categories.graded_algebras import GradedAlgebras
128+
from sage.categories.graded_coalgebras import GradedCoalgebras
129+
from sage.categories.graded_bialgebras import GradedBialgebras
130+
from sage.categories.graded_hopf_algebras import GradedHopfAlgebras
131131

132132
# graded * with basis
133-
from .graded_modules_with_basis import GradedModulesWithBasis
134-
from .graded_algebras_with_basis import GradedAlgebrasWithBasis
135-
from .graded_coalgebras_with_basis import GradedCoalgebrasWithBasis
136-
from .graded_bialgebras_with_basis import GradedBialgebrasWithBasis
137-
from .graded_hopf_algebras_with_basis import GradedHopfAlgebrasWithBasis
133+
from sage.categories.graded_modules_with_basis import GradedModulesWithBasis
134+
from sage.categories.graded_algebras_with_basis import GradedAlgebrasWithBasis
135+
from sage.categories.graded_coalgebras_with_basis import GradedCoalgebrasWithBasis
136+
from sage.categories.graded_bialgebras_with_basis import GradedBialgebrasWithBasis
137+
from sage.categories.graded_hopf_algebras_with_basis import GradedHopfAlgebrasWithBasis
138138

139139
# Coxeter groups
140-
from .coxeter_groups import CoxeterGroups
140+
from sage.categories.coxeter_groups import CoxeterGroups
141141
lazy_import('sage.categories.finite_coxeter_groups', 'FiniteCoxeterGroups')
142-
from .weyl_groups import WeylGroups
143-
from .finite_weyl_groups import FiniteWeylGroups
144-
from .affine_weyl_groups import AffineWeylGroups
142+
from sage.categories.weyl_groups import WeylGroups
143+
from sage.categories.finite_weyl_groups import FiniteWeylGroups
144+
from sage.categories.affine_weyl_groups import AffineWeylGroups
145145

146146
# crystal bases
147-
from .crystals import Crystals
148-
from .highest_weight_crystals import HighestWeightCrystals
149-
from .regular_crystals import RegularCrystals
150-
from .finite_crystals import FiniteCrystals
151-
from .classical_crystals import ClassicalCrystals
147+
from sage.categories.crystals import Crystals
148+
from sage.categories.highest_weight_crystals import HighestWeightCrystals
149+
from sage.categories.regular_crystals import RegularCrystals
150+
from sage.categories.finite_crystals import FiniteCrystals
151+
from sage.categories.classical_crystals import ClassicalCrystals
152152

153153
# polyhedra
154154
lazy_import('sage.categories.polyhedra', 'PolyhedralSets')

src/sage/categories/all__sagemath_objects.py

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,25 @@
44

55
# Resolve a circular import so that "import sage.categories.all" can succeed
66
# in initializing the category system.
7-
import sage.structure.category_object # imports sage.categories.category
7+
import sage.structure.category_object # imports sage.categories.category
88

9-
# Small part of "from .basic import *":
10-
from .objects import Objects
11-
from .sets_cat import Sets, EmptySetError
9+
# Small part of "from sage.categories.basic import *":
10+
from sage.categories.objects import Objects
11+
from sage.categories.sets_cat import Sets, EmptySetError
1212

1313

14-
from .category import Category
14+
from sage.categories.category import Category
1515

16-
from .category_types import Elements
16+
from sage.categories.category_types import Elements
1717

18-
from .cartesian_product import cartesian_product
18+
from sage.categories.cartesian_product import cartesian_product
1919

20-
from .functor import (ForgetfulFunctor,
21-
IdentityFunctor)
20+
from sage.categories.functor import ForgetfulFunctor, IdentityFunctor
2221

23-
from .homset import (Hom, hom,
24-
End, end,
25-
Homset, HomsetWithBase)
22+
from sage.categories.homset import Hom, hom, End, end, Homset, HomsetWithBase
2623

27-
from .morphism import Morphism
24+
from sage.categories.morphism import Morphism
2825

29-
from .realizations import Realizations
26+
from sage.categories.realizations import Realizations
3027

31-
from .sets_with_partial_maps import SetsWithPartialMaps
28+
from sage.categories.sets_with_partial_maps import SetsWithPartialMaps

0 commit comments

Comments
 (0)