@@ -63,9 +63,11 @@ def __init__(self):
63
63
"""
64
64
# sage.combinat will be a namespace package.
65
65
# Testing whether sage.combinat itself can be imported is meaningless.
66
+ # Some modules providing basic combinatorics are already included in sagemath-categories.
66
67
# Hence, we test a Python module within the package.
67
68
JoinFeature .__init__ (self , 'sage.combinat' ,
68
- [PythonModule ('sage.combinat.combination' )])
69
+ [PythonModule ('sage.combinat.tableau' )],
70
+ spkg = 'sagemath_combinat' )
69
71
70
72
71
73
class sage__geometry__polyhedron (PythonModule ):
@@ -87,7 +89,8 @@ def __init__(self):
87
89
sage: isinstance(sage__geometry__polyhedron(), sage__geometry__polyhedron)
88
90
True
89
91
"""
90
- PythonModule .__init__ (self , 'sage.geometry.polyhedron' )
92
+ PythonModule .__init__ (self , 'sage.geometry.polyhedron' ,
93
+ spkg = 'sagemath_polyhedra' )
91
94
92
95
93
96
class sage__graphs (JoinFeature ):
@@ -109,7 +112,31 @@ def __init__(self):
109
112
True
110
113
"""
111
114
JoinFeature .__init__ (self , 'sage.graphs' ,
112
- [PythonModule ('sage.graphs.graph' )])
115
+ [PythonModule ('sage.graphs.graph' )],
116
+ spkg = 'sagemath_graphs' )
117
+
118
+
119
+ class sage__modular (JoinFeature ):
120
+ r"""
121
+ A :class:`~sage.features.Feature` describing the presence of :mod:`sage.modular`.
122
+
123
+ EXAMPLES::
124
+
125
+ sage: from sage.features.sagemath import sage__modular
126
+ sage: sage__modular().is_present() # optional - sage.modular
127
+ FeatureTestResult('sage.modular', True)
128
+ """
129
+ def __init__ (self ):
130
+ r"""
131
+ TESTS::
132
+
133
+ sage: from sage.features.sagemath import sage__modular
134
+ sage: isinstance(sage__modular(), sage__modular)
135
+ True
136
+ """
137
+ JoinFeature .__init__ (self , 'sage.modular' ,
138
+ [PythonModule ('sage.modular.modform.eisenstein_submodule' )],
139
+ spkg = 'sagemath_schemes' )
113
140
114
141
115
142
class sage__groups (JoinFeature ):
@@ -134,6 +161,55 @@ def __init__(self):
134
161
[PythonModule ('sage.groups.perm_gps.permgroup' )])
135
162
136
163
164
+ class sage__libs__flint (JoinFeature ):
165
+ r"""
166
+ A :class:`sage.features.Feature` describing the presence of :mod:`sage.libs.flint`
167
+ and other modules depending on FLINT and arb.
168
+
169
+ EXAMPLES::
170
+
171
+ sage: from sage.features.sagemath import sage__libs__flint
172
+ sage: sage__libs__flint().is_present() # optional - sage.libs.flint
173
+ FeatureTestResult('sage.libs.flint', True)
174
+ """
175
+ def __init__ (self ):
176
+ r"""
177
+ TESTS::
178
+
179
+ sage: from sage.features.sagemath import sage__libs__flint
180
+ sage: isinstance(sage__libs__flint(), sage__libs__flint)
181
+ True
182
+ """
183
+ JoinFeature .__init__ (self , 'sage.libs.flint' ,
184
+ [PythonModule ('sage.libs.flint.flint' ),
185
+ PythonModule ('sage.libs.arb.arith' )],
186
+ spkg = 'sagemath_flint' )
187
+
188
+
189
+ class sage__libs__ntl (JoinFeature ):
190
+ r"""
191
+ A :class:`sage.features.Feature` describing the presence of :mod:`sage.libs.ntl`
192
+ and other modules depending on NTL and arb.
193
+
194
+ EXAMPLES::
195
+
196
+ sage: from sage.features.sagemath import sage__libs__ntl
197
+ sage: sage__libs__ntl().is_present() # optional - sage.libs.ntl
198
+ FeatureTestResult('sage.libs.ntl', True)
199
+ """
200
+ def __init__ (self ):
201
+ r"""
202
+ TESTS::
203
+
204
+ sage: from sage.features.sagemath import sage__libs__ntl
205
+ sage: isinstance(sage__libs__ntl(), sage__libs__ntl)
206
+ True
207
+ """
208
+ JoinFeature .__init__ (self , 'sage.libs.ntl' ,
209
+ [PythonModule ('sage.libs.ntl.convert' )],
210
+ spkg = 'sagemath_ntl' )
211
+
212
+
137
213
class sage__libs__pari (JoinFeature ):
138
214
r"""
139
215
A :class:`sage.features.Feature` describing the presence of :mod:`sage.libs.pari`.
@@ -153,7 +229,8 @@ def __init__(self):
153
229
True
154
230
"""
155
231
JoinFeature .__init__ (self , 'sage.libs.pari' ,
156
- [PythonModule ('sage.libs.pari.convert_sage' )])
232
+ [PythonModule ('sage.libs.pari.convert_sage' )],
233
+ spkg = 'sagemath_pari' )
157
234
158
235
159
236
class sage__modules (JoinFeature ):
@@ -175,7 +252,8 @@ def __init__(self):
175
252
True
176
253
"""
177
254
JoinFeature .__init__ (self , 'sage.modules' ,
178
- [PythonModule ('sage.modules.free_module' )])
255
+ [PythonModule ('sage.modules.free_module' )],
256
+ spkg = 'sagemath_modules' )
179
257
180
258
181
259
class sage__plot (JoinFeature ):
@@ -197,7 +275,8 @@ def __init__(self):
197
275
True
198
276
"""
199
277
JoinFeature .__init__ (self , 'sage.plot' ,
200
- [PythonModule ('sage.plot.plot' )])
278
+ [PythonModule ('sage.plot.plot' )],
279
+ spkg = 'sagemath_symbolics' )
201
280
202
281
203
282
class sage__rings__finite_rings (JoinFeature ):
@@ -290,6 +369,29 @@ def __init__(self):
290
369
[PythonModule ('sage.rings.padics.factory' )])
291
370
292
371
372
+ class sage__rings__polynomial__pbori (JoinFeature ):
373
+ r"""
374
+ A :class:`sage.features.Feature` describing the presence of :mod:`sage.rings.polynomial.pbori`.
375
+
376
+ EXAMPLES::
377
+
378
+ sage: from sage.features.sagemath import sage__rings__polynomial__pbori
379
+ sage: sage__rings__polynomial__pbori().is_present() # optional - sage.rings.polynomial.pbori
380
+ FeatureTestResult('sage.rings.polynomial.pbori', True)
381
+ """
382
+ def __init__ (self ):
383
+ r"""
384
+ TESTS::
385
+
386
+ sage: from sage.features.sagemath import sage__rings__polynomial__pbori
387
+ sage: isinstance(sage__rings__polynomial__pbori(), sage__rings__polynomial__pbori)
388
+ True
389
+ """
390
+ JoinFeature .__init__ (self , 'sage.rings.polynomial.pbori' ,
391
+ [PythonModule ('sage.rings.polynomial.pbori.pbori' )],
392
+ spkg = 'sagemath_brial' )
393
+
394
+
293
395
class sage__rings__real_double (PythonModule ):
294
396
r"""
295
397
A :class:`~sage.features.Feature` describing the presence of :mod:`sage.rings.real_double`.
@@ -329,7 +431,31 @@ def __init__(self):
329
431
sage: isinstance(sage__rings__real_mpfr(), sage__rings__real_mpfr)
330
432
True
331
433
"""
332
- PythonModule .__init__ (self , 'sage.rings.real_mpfr' )
434
+ PythonModule .__init__ (self , 'sage.rings.real_mpfr' ,
435
+ spkg = 'sagemath_modules' )
436
+
437
+
438
+ class sage__schemes (JoinFeature ):
439
+ r"""
440
+ A :class:`~sage.features.Feature` describing the presence of :mod:`sage.schemes`.
441
+
442
+ EXAMPLES::
443
+
444
+ sage: from sage.features.sagemath import sage__schemes
445
+ sage: sage__schemes().is_present() # optional - sage.schemes
446
+ FeatureTestResult('sage.schemes', True)
447
+ """
448
+ def __init__ (self ):
449
+ r"""
450
+ TESTS::
451
+
452
+ sage: from sage.features.sagemath import sage__schemes
453
+ sage: isinstance(sage__schemes(), sage__schemes)
454
+ True
455
+ """
456
+ JoinFeature .__init__ (self , 'sage.schemes' ,
457
+ [PythonModule ('sage.schemes.elliptic_curves.ell_generic' )],
458
+ spkg = "sagemath_schemes" )
333
459
334
460
335
461
class sage__symbolic (JoinFeature ):
@@ -382,13 +508,18 @@ def all_features():
382
508
sage__geometry__polyhedron (),
383
509
sage__graphs (),
384
510
sage__groups (),
511
+ sage__libs__flint (),
512
+ sage__libs__ntl (),
385
513
sage__libs__pari (),
514
+ sage__modular (),
386
515
sage__modules (),
387
516
sage__plot (),
388
517
sage__rings__finite_rings (),
389
518
sage__rings__function_field (),
390
519
sage__rings__number_field (),
391
520
sage__rings__padics (),
521
+ sage__rings__polynomial__pbori (),
392
522
sage__rings__real_double (),
393
523
sage__rings__real_mpfr (),
524
+ sage__schemes (),
394
525
sage__symbolic ()]
0 commit comments