passagemath-setup 10.4.29__py3-none-any.whl → 10.4.31__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {passagemath_setup-10.4.29.dist-info → passagemath_setup-10.4.31.dist-info}/METADATA +1 -1
- passagemath_setup-10.4.31.dist-info/RECORD +38 -0
- sage_setup/__init__.py +20 -8
- sage_setup/autogen/__init__.py +4 -3
- sage_setup/autogen/interpreters/__main__.py +2 -1
- sage_setup/autogen/interpreters/{__init__.py → internal/__init__.py} +20 -18
- sage_setup/autogen/interpreters/{generator.py → internal/generator.py} +24 -24
- sage_setup/autogen/interpreters/{instructions.py → internal/instructions.py} +21 -21
- sage_setup/autogen/interpreters/{memory.py → internal/memory.py} +24 -24
- sage_setup/autogen/interpreters/{specs → internal/specs}/base.py +9 -9
- sage_setup/autogen/interpreters/{specs → internal/specs}/cc.py +12 -14
- sage_setup/autogen/interpreters/{specs → internal/specs}/cdf.py +2 -3
- sage_setup/autogen/interpreters/{specs → internal/specs}/element.py +6 -8
- sage_setup/autogen/interpreters/{specs → internal/specs}/python.py +20 -20
- sage_setup/autogen/interpreters/{specs → internal/specs}/rdf.py +2 -2
- sage_setup/autogen/interpreters/{specs → internal/specs}/rr.py +12 -14
- sage_setup/autogen/interpreters/{storage.py → internal/storage.py} +42 -42
- sage_setup/autogen/interpreters/{utils.py → internal/utils.py} +4 -4
- sage_setup/find.py +86 -0
- passagemath_setup-10.4.29.dist-info/RECORD +0 -38
- {passagemath_setup-10.4.29.dist-info → passagemath_setup-10.4.31.dist-info}/WHEEL +0 -0
- {passagemath_setup-10.4.29.dist-info → passagemath_setup-10.4.31.dist-info}/top_level.txt +0 -0
- /sage_setup/autogen/interpreters/{specs → internal/specs}/__init__.py +0 -0
@@ -67,7 +67,7 @@ class StorageType(object):
|
|
67
67
|
|
68
68
|
EXAMPLES::
|
69
69
|
|
70
|
-
sage: from sage_setup.autogen.interpreters import *
|
70
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
71
71
|
sage: ty_double.class_member_declarations
|
72
72
|
''
|
73
73
|
sage: ty_double.class_member_initializations
|
@@ -104,7 +104,7 @@ class StorageType(object):
|
|
104
104
|
|
105
105
|
EXAMPLES::
|
106
106
|
|
107
|
-
sage: from sage_setup.autogen.interpreters import *
|
107
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
108
108
|
sage: ty_double.cheap_copies()
|
109
109
|
True
|
110
110
|
sage: ty_python.cheap_copies()
|
@@ -126,7 +126,7 @@ class StorageType(object):
|
|
126
126
|
|
127
127
|
EXAMPLES::
|
128
128
|
|
129
|
-
sage: from sage_setup.autogen.interpreters import *
|
129
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
130
130
|
sage: ty_double.python_refcounted()
|
131
131
|
False
|
132
132
|
sage: ty_python.python_refcounted()
|
@@ -140,7 +140,7 @@ class StorageType(object):
|
|
140
140
|
|
141
141
|
EXAMPLES::
|
142
142
|
|
143
|
-
sage: from sage_setup.autogen.interpreters import *
|
143
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
144
144
|
sage: ty_double.cython_decl_type()
|
145
145
|
'double'
|
146
146
|
sage: ty_python.cython_decl_type()
|
@@ -157,7 +157,7 @@ class StorageType(object):
|
|
157
157
|
|
158
158
|
EXAMPLES::
|
159
159
|
|
160
|
-
sage: from sage_setup.autogen.interpreters import *
|
160
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
161
161
|
sage: ty_double.cython_array_type()
|
162
162
|
'double*'
|
163
163
|
sage: ty_python.cython_array_type()
|
@@ -180,7 +180,7 @@ class StorageType(object):
|
|
180
180
|
|
181
181
|
EXAMPLES::
|
182
182
|
|
183
|
-
sage: from sage_setup.autogen.interpreters import *
|
183
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
184
184
|
sage: ty_double.needs_cython_init_clear()
|
185
185
|
False
|
186
186
|
sage: ty_mpfr.needs_cython_init_clear()
|
@@ -196,7 +196,7 @@ class StorageType(object):
|
|
196
196
|
|
197
197
|
EXAMPLES::
|
198
198
|
|
199
|
-
sage: from sage_setup.autogen.interpreters import *
|
199
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
200
200
|
sage: ty_double.c_decl_type()
|
201
201
|
'double'
|
202
202
|
sage: ty_python.c_decl_type()
|
@@ -213,7 +213,7 @@ class StorageType(object):
|
|
213
213
|
|
214
214
|
EXAMPLES::
|
215
215
|
|
216
|
-
sage: from sage_setup.autogen.interpreters import *
|
216
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
217
217
|
sage: ty_double.c_ptr_type()
|
218
218
|
'double*'
|
219
219
|
sage: ty_python.c_ptr_type()
|
@@ -231,7 +231,7 @@ class StorageType(object):
|
|
231
231
|
|
232
232
|
EXAMPLES::
|
233
233
|
|
234
|
-
sage: from sage_setup.autogen.interpreters import *
|
234
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
235
235
|
sage: ty_double.c_reference_type()
|
236
236
|
'double*'
|
237
237
|
sage: ty_python.c_reference_type()
|
@@ -248,7 +248,7 @@ class StorageType(object):
|
|
248
248
|
|
249
249
|
EXAMPLES::
|
250
250
|
|
251
|
-
sage: from sage_setup.autogen.interpreters import *
|
251
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
252
252
|
sage: ty_double.c_local_type()
|
253
253
|
'double'
|
254
254
|
sage: ty_python.c_local_type()
|
@@ -266,7 +266,7 @@ class StorageType(object):
|
|
266
266
|
|
267
267
|
EXAMPLES::
|
268
268
|
|
269
|
-
sage: from sage_setup.autogen.interpreters import *
|
269
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
270
270
|
sage: ty_double.assign_c_from_py('foo', 'bar')
|
271
271
|
'foo = bar'
|
272
272
|
sage: ty_python.assign_c_from_py('foo[i]', 'bar[j]')
|
@@ -284,7 +284,7 @@ class StorageType(object):
|
|
284
284
|
|
285
285
|
EXAMPLES::
|
286
286
|
|
287
|
-
sage: from sage_setup.autogen.interpreters import *
|
287
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
288
288
|
sage: ty_mpfr.declare_chunk_class_members('args')
|
289
289
|
' cdef int _n_args\n cdef mpfr_t* _args\n'
|
290
290
|
"""
|
@@ -302,7 +302,7 @@ class StorageType(object):
|
|
302
302
|
|
303
303
|
EXAMPLES::
|
304
304
|
|
305
|
-
sage: from sage_setup.autogen.interpreters import *
|
305
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
306
306
|
sage: print(ty_mpfr.alloc_chunk_data('args', 'MY_LENGTH'))
|
307
307
|
self._n_args = MY_LENGTH
|
308
308
|
self._args = <mpfr_t*>check_allocarray(self._n_args, sizeof(mpfr_t))
|
@@ -328,7 +328,7 @@ class StorageType(object):
|
|
328
328
|
|
329
329
|
EXAMPLES::
|
330
330
|
|
331
|
-
sage: from sage_setup.autogen.interpreters import *
|
331
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
332
332
|
sage: print(ty_double.dealloc_chunk_data('args'))
|
333
333
|
if self._args:
|
334
334
|
sig_free(self._args)
|
@@ -364,7 +364,7 @@ class StorageTypeAssignable(StorageType):
|
|
364
364
|
|
365
365
|
EXAMPLES::
|
366
366
|
|
367
|
-
sage: from sage_setup.autogen.interpreters import *
|
367
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
368
368
|
sage: ty_double.class_member_declarations
|
369
369
|
''
|
370
370
|
sage: ty_double.class_member_initializations
|
@@ -391,7 +391,7 @@ class StorageTypeAssignable(StorageType):
|
|
391
391
|
|
392
392
|
EXAMPLES::
|
393
393
|
|
394
|
-
sage: from sage_setup.autogen.interpreters import *
|
394
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
395
395
|
sage: ty_double.cheap_copies()
|
396
396
|
True
|
397
397
|
sage: ty_python.cheap_copies()
|
@@ -405,7 +405,7 @@ class StorageTypeAssignable(StorageType):
|
|
405
405
|
|
406
406
|
EXAMPLES::
|
407
407
|
|
408
|
-
sage: from sage_setup.autogen.interpreters import *
|
408
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
409
409
|
sage: ty_double.c_decl_type()
|
410
410
|
'double'
|
411
411
|
sage: ty_python.c_decl_type()
|
@@ -422,7 +422,7 @@ class StorageTypeAssignable(StorageType):
|
|
422
422
|
|
423
423
|
EXAMPLES::
|
424
424
|
|
425
|
-
sage: from sage_setup.autogen.interpreters import *
|
425
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
426
426
|
sage: ty_double.c_local_type()
|
427
427
|
'double'
|
428
428
|
sage: ty_python.c_local_type()
|
@@ -456,7 +456,7 @@ class StorageTypeDoubleComplex(StorageTypeSimple):
|
|
456
456
|
"""
|
457
457
|
def assign_c_from_py(self, c, py):
|
458
458
|
"""
|
459
|
-
sage: from sage_setup.autogen.interpreters import ty_double_complex
|
459
|
+
sage: from sage_setup.autogen.interpreters.internal import ty_double_complex
|
460
460
|
sage: ty_double_complex.assign_c_from_py('z_c', 'z_py')
|
461
461
|
'z_c = CDE_to_dz(z_py)'
|
462
462
|
"""
|
@@ -500,7 +500,7 @@ class StorageTypePython(StorageTypeAssignable):
|
|
500
500
|
|
501
501
|
EXAMPLES::
|
502
502
|
|
503
|
-
sage: from sage_setup.autogen.interpreters import *
|
503
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
504
504
|
sage: ty_python.class_member_declarations
|
505
505
|
''
|
506
506
|
sage: ty_python.class_member_initializations
|
@@ -521,7 +521,7 @@ class StorageTypePython(StorageTypeAssignable):
|
|
521
521
|
|
522
522
|
EXAMPLES::
|
523
523
|
|
524
|
-
sage: from sage_setup.autogen.interpreters import *
|
524
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
525
525
|
sage: ty_python.python_refcounted()
|
526
526
|
True
|
527
527
|
"""
|
@@ -533,7 +533,7 @@ class StorageTypePython(StorageTypeAssignable):
|
|
533
533
|
|
534
534
|
EXAMPLES::
|
535
535
|
|
536
|
-
sage: from sage_setup.autogen.interpreters import *
|
536
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
537
537
|
sage: ty_python.cython_decl_type()
|
538
538
|
'object'
|
539
539
|
"""
|
@@ -547,7 +547,7 @@ class StorageTypePython(StorageTypeAssignable):
|
|
547
547
|
|
548
548
|
EXAMPLES::
|
549
549
|
|
550
|
-
sage: from sage_setup.autogen.interpreters import *
|
550
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
551
551
|
sage: ty_python.declare_chunk_class_members('args')
|
552
552
|
' cdef object _list_args\n cdef int _n_args\n cdef PyObject** _args\n'
|
553
553
|
"""
|
@@ -565,7 +565,7 @@ class StorageTypePython(StorageTypeAssignable):
|
|
565
565
|
|
566
566
|
EXAMPLES::
|
567
567
|
|
568
|
-
sage: from sage_setup.autogen.interpreters import *
|
568
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
569
569
|
sage: print(ty_python.alloc_chunk_data('args', 'MY_LENGTH'))
|
570
570
|
self._n_args = MY_LENGTH
|
571
571
|
self._list_args = PyList_New(self._n_args)
|
@@ -590,7 +590,7 @@ class StorageTypePython(StorageTypeAssignable):
|
|
590
590
|
|
591
591
|
EXAMPLES::
|
592
592
|
|
593
|
-
sage: from sage_setup.autogen.interpreters import *
|
593
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
594
594
|
sage: ty_python.dealloc_chunk_data('args')
|
595
595
|
''
|
596
596
|
"""
|
@@ -605,7 +605,7 @@ class StorageTypePython(StorageTypeAssignable):
|
|
605
605
|
|
606
606
|
EXAMPLES::
|
607
607
|
|
608
|
-
sage: from sage_setup.autogen.interpreters import *
|
608
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
609
609
|
sage: ty_python.needs_cython_init_clear()
|
610
610
|
True
|
611
611
|
"""
|
@@ -619,7 +619,7 @@ class StorageTypePython(StorageTypeAssignable):
|
|
619
619
|
|
620
620
|
EXAMPLES::
|
621
621
|
|
622
|
-
sage: from sage_setup.autogen.interpreters import *
|
622
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
623
623
|
sage: ty_python.assign_c_from_py('foo[i]', 'bar[j]')
|
624
624
|
'foo[i] = <PyObject *>bar[j]; Py_INCREF(foo[i])'
|
625
625
|
"""
|
@@ -633,7 +633,7 @@ class StorageTypePython(StorageTypeAssignable):
|
|
633
633
|
|
634
634
|
EXAMPLES::
|
635
635
|
|
636
|
-
sage: from sage_setup.autogen.interpreters import *
|
636
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
637
637
|
sage: ty_python.cython_init('foo[i]')
|
638
638
|
'foo[i] = NULL'
|
639
639
|
"""
|
@@ -646,7 +646,7 @@ class StorageTypePython(StorageTypeAssignable):
|
|
646
646
|
|
647
647
|
EXAMPLES::
|
648
648
|
|
649
|
-
sage: from sage_setup.autogen.interpreters import *
|
649
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
650
650
|
sage: ty_python.cython_clear('foo[i]')
|
651
651
|
'Py_CLEAR(foo[i])'
|
652
652
|
"""
|
@@ -674,7 +674,7 @@ class StorageTypeAutoReference(StorageType):
|
|
674
674
|
|
675
675
|
EXAMPLES::
|
676
676
|
|
677
|
-
sage: from sage_setup.autogen.interpreters import *
|
677
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
678
678
|
sage: ty_mpfr.class_member_declarations
|
679
679
|
'cdef RealField_class domain\n'
|
680
680
|
sage: ty_mpfr.class_member_initializations
|
@@ -696,7 +696,7 @@ class StorageTypeAutoReference(StorageType):
|
|
696
696
|
|
697
697
|
EXAMPLES::
|
698
698
|
|
699
|
-
sage: from sage_setup.autogen.interpreters import *
|
699
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
700
700
|
sage: ty_mpfr.c_decl_type()
|
701
701
|
'mpfr_t'
|
702
702
|
"""
|
@@ -711,7 +711,7 @@ class StorageTypeAutoReference(StorageType):
|
|
711
711
|
|
712
712
|
EXAMPLES::
|
713
713
|
|
714
|
-
sage: from sage_setup.autogen.interpreters import *
|
714
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
715
715
|
sage: ty_mpfr.c_local_type()
|
716
716
|
'mpfr_ptr'
|
717
717
|
"""
|
@@ -725,7 +725,7 @@ class StorageTypeAutoReference(StorageType):
|
|
725
725
|
|
726
726
|
EXAMPLES::
|
727
727
|
|
728
|
-
sage: from sage_setup.autogen.interpreters import *
|
728
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
729
729
|
sage: ty_mpfr.c_reference_type()
|
730
730
|
'mpfr_t'
|
731
731
|
"""
|
@@ -741,7 +741,7 @@ class StorageTypeAutoReference(StorageType):
|
|
741
741
|
|
742
742
|
EXAMPLES::
|
743
743
|
|
744
|
-
sage: from sage_setup.autogen.interpreters import *
|
744
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
745
745
|
sage: ty_mpfr.needs_cython_init_clear()
|
746
746
|
True
|
747
747
|
"""
|
@@ -775,7 +775,7 @@ class StorageTypeMPFR(StorageTypeAutoReference):
|
|
775
775
|
|
776
776
|
EXAMPLES::
|
777
777
|
|
778
|
-
sage: from sage_setup.autogen.interpreters import *
|
778
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
779
779
|
sage: ty_mpfr.class_member_declarations
|
780
780
|
'cdef RealField_class domain\n'
|
781
781
|
sage: ty_mpfr.class_member_initializations
|
@@ -812,7 +812,7 @@ class StorageTypeMPFR(StorageTypeAutoReference):
|
|
812
812
|
|
813
813
|
EXAMPLES::
|
814
814
|
|
815
|
-
sage: from sage_setup.autogen.interpreters import *
|
815
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
816
816
|
sage: ty_mpfr.cython_init('foo[i]')
|
817
817
|
'mpfr_init2(foo[i], self.domain.prec())'
|
818
818
|
"""
|
@@ -826,7 +826,7 @@ class StorageTypeMPFR(StorageTypeAutoReference):
|
|
826
826
|
|
827
827
|
EXAMPLES::
|
828
828
|
|
829
|
-
sage: from sage_setup.autogen.interpreters import *
|
829
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
830
830
|
sage: ty_mpfr.cython_clear('foo[i]')
|
831
831
|
'mpfr_clear(foo[i])'
|
832
832
|
"""
|
@@ -840,7 +840,7 @@ class StorageTypeMPFR(StorageTypeAutoReference):
|
|
840
840
|
|
841
841
|
EXAMPLES::
|
842
842
|
|
843
|
-
sage: from sage_setup.autogen.interpreters import *
|
843
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
844
844
|
sage: ty_mpfr.assign_c_from_py('foo[i]', 'bar[j]')
|
845
845
|
'rn = self.domain(bar[j])\nmpfr_set(foo[i], rn.value, MPFR_RNDN)'
|
846
846
|
"""
|
@@ -879,7 +879,7 @@ class StorageTypeMPC(StorageTypeAutoReference):
|
|
879
879
|
|
880
880
|
EXAMPLES::
|
881
881
|
|
882
|
-
sage: from sage_setup.autogen.interpreters import *
|
882
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
883
883
|
sage: ty_mpc.class_member_declarations
|
884
884
|
'cdef object domain\ncdef ComplexNumber domain_element\n'
|
885
885
|
sage: ty_mpc.class_member_initializations
|
@@ -916,7 +916,7 @@ class StorageTypeMPC(StorageTypeAutoReference):
|
|
916
916
|
|
917
917
|
EXAMPLES::
|
918
918
|
|
919
|
-
sage: from sage_setup.autogen.interpreters import *
|
919
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
920
920
|
sage: ty_mpc.cython_init('foo[i]')
|
921
921
|
'mpc_init2(foo[i], self.domain_element._prec)'
|
922
922
|
"""
|
@@ -930,7 +930,7 @@ class StorageTypeMPC(StorageTypeAutoReference):
|
|
930
930
|
|
931
931
|
EXAMPLES::
|
932
932
|
|
933
|
-
sage: from sage_setup.autogen.interpreters import *
|
933
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
934
934
|
sage: ty_mpc.cython_clear('foo[i]')
|
935
935
|
'mpc_clear(foo[i])'
|
936
936
|
"""
|
@@ -944,7 +944,7 @@ class StorageTypeMPC(StorageTypeAutoReference):
|
|
944
944
|
|
945
945
|
EXAMPLES::
|
946
946
|
|
947
|
-
sage: from sage_setup.autogen.interpreters import *
|
947
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
948
948
|
sage: ty_mpc.assign_c_from_py('foo[i]', 'bar[j]')
|
949
949
|
'cn = self.domain(bar[j])\nmpc_set_fr_fr(foo[i], cn.__re, cn.__im, MPC_RNDNN)'
|
950
950
|
"""
|
@@ -50,7 +50,7 @@ def je(template, **kwargs):
|
|
50
50
|
|
51
51
|
EXAMPLES::
|
52
52
|
|
53
|
-
sage: from sage_setup.autogen.interpreters import je
|
53
|
+
sage: from sage_setup.autogen.interpreters.internal import je
|
54
54
|
sage: je("{{ a }} > {{ b }} * {{ c }}", a='"a suffusion of yellow"', b=3, c=7)
|
55
55
|
'"a suffusion of yellow" > 3 * 7'
|
56
56
|
"""
|
@@ -76,7 +76,7 @@ def indent_lines(n, text):
|
|
76
76
|
|
77
77
|
EXAMPLES::
|
78
78
|
|
79
|
-
sage: from sage_setup.autogen.interpreters import indent_lines
|
79
|
+
sage: from sage_setup.autogen.interpreters.internal import indent_lines
|
80
80
|
sage: indent_lines(3, "foo")
|
81
81
|
' foo'
|
82
82
|
sage: indent_lines(3, "foo\nbar")
|
@@ -102,7 +102,7 @@ def reindent_lines(n, text):
|
|
102
102
|
|
103
103
|
EXAMPLES::
|
104
104
|
|
105
|
-
sage: from sage_setup.autogen.interpreters import reindent_lines
|
105
|
+
sage: from sage_setup.autogen.interpreters.internal import reindent_lines
|
106
106
|
sage: print(reindent_lines(3, " foo\n bar"))
|
107
107
|
foo
|
108
108
|
bar
|
@@ -118,7 +118,7 @@ def write_if_changed(fn, value):
|
|
118
118
|
|
119
119
|
EXAMPLES::
|
120
120
|
|
121
|
-
sage: from sage_setup.autogen.interpreters import *
|
121
|
+
sage: from sage_setup.autogen.interpreters.internal import *
|
122
122
|
sage: def last_modification(fn): return os.stat(fn).st_mtime
|
123
123
|
sage: fn = tmp_filename('gen_interp')
|
124
124
|
sage: write_if_changed(fn, 'Hello, world')
|
sage_setup/find.py
CHANGED
@@ -343,6 +343,92 @@ def find_extra_files(src_dir, modules, cythonized_dir, special_filenames=[], *,
|
|
343
343
|
|
344
344
|
return data_files
|
345
345
|
|
346
|
+
def installed_files_by_module(site_packages, modules=('sage',)):
|
347
|
+
"""
|
348
|
+
Find all currently installed files
|
349
|
+
|
350
|
+
INPUT:
|
351
|
+
|
352
|
+
- ``site_packages`` -- string. The root Python path where the Sage
|
353
|
+
library is being installed. If the path doesn't exist, returns
|
354
|
+
an empty dictionary.
|
355
|
+
|
356
|
+
- ``modules`` -- list/tuple/iterable of strings (default:
|
357
|
+
``('sage',)``). The top-level directory name(s) in
|
358
|
+
``site_packages``.
|
359
|
+
|
360
|
+
OUTPUT:
|
361
|
+
|
362
|
+
A dictionary whose keys are module names (``'sage.module.foo'``)
|
363
|
+
and values are list of corresponding file names
|
364
|
+
``['sage/module/foo.py', 'sage/module/foo.pyc']`` relative to
|
365
|
+
``site_packages``.
|
366
|
+
|
367
|
+
EXAMPLES::
|
368
|
+
|
369
|
+
sage: site_packages = os.path.dirname(os.path.dirname(os.path.dirname(sage.cpython.__file__)))
|
370
|
+
sage: from sage_setup.find import installed_files_by_module
|
371
|
+
sage: files_by_module = installed_files_by_module(site_packages)
|
372
|
+
sage: (f,) = files_by_module['sage.structure.sage_object']; f
|
373
|
+
'sage/structure/sage_object...'
|
374
|
+
sage: (f1, f2) = sorted(files_by_module['sage.structure'])
|
375
|
+
sage: f1
|
376
|
+
'sage/structure/__init__.py'
|
377
|
+
sage: f2
|
378
|
+
'sage/structure/....pyc'
|
379
|
+
|
380
|
+
This takes about 30ms with warm cache::
|
381
|
+
|
382
|
+
sage: timeit('installed_files_by_module(site_packages)', # random output
|
383
|
+
....: number=1, repeat=1)
|
384
|
+
1 loops, best of 1: 29.6 ms per loop
|
385
|
+
"""
|
386
|
+
|
387
|
+
module_files = defaultdict(set)
|
388
|
+
module_exts = get_extensions()
|
389
|
+
|
390
|
+
def add(module, filename, dirpath):
|
391
|
+
# Find the longest extension that matches the filename
|
392
|
+
best_ext = ''
|
393
|
+
|
394
|
+
for ext in module_exts:
|
395
|
+
if filename.endswith(ext) and len(ext) > len(best_ext):
|
396
|
+
best_ext = ext
|
397
|
+
|
398
|
+
if not best_ext:
|
399
|
+
return
|
400
|
+
|
401
|
+
base = filename[:-len(best_ext)]
|
402
|
+
filename = os.path.join(dirpath, filename)
|
403
|
+
|
404
|
+
if base != '__init__':
|
405
|
+
module += '.' + base
|
406
|
+
|
407
|
+
module_files[module].add(filename)
|
408
|
+
|
409
|
+
cache_filename = importlib.util.cache_from_source(filename)
|
410
|
+
if os.path.exists(cache_filename):
|
411
|
+
module_files[module].add(cache_filename)
|
412
|
+
|
413
|
+
cwd = os.getcwd()
|
414
|
+
try:
|
415
|
+
os.chdir(site_packages)
|
416
|
+
except OSError:
|
417
|
+
return module_files
|
418
|
+
try:
|
419
|
+
for module in modules:
|
420
|
+
for dirpath, dirnames, filenames in os.walk(module):
|
421
|
+
module_dir = '.'.join(dirpath.split(os.path.sep))
|
422
|
+
|
423
|
+
if os.path.basename(dirpath) == '__pycache__':
|
424
|
+
continue
|
425
|
+
|
426
|
+
for filename in filenames:
|
427
|
+
add(module_dir, filename, dirpath)
|
428
|
+
finally:
|
429
|
+
os.chdir(cwd)
|
430
|
+
return module_files
|
431
|
+
|
346
432
|
|
347
433
|
def get_extensions(type=None):
|
348
434
|
"""
|
@@ -1,38 +0,0 @@
|
|
1
|
-
sage_setup/__init__.py,sha256=ljIL1rEZ5XNVbldE1FBgbf01B5K34TCQuAXk1Db4pzk,6512
|
2
|
-
sage_setup/cython_options.py,sha256=xqwDB-L_Jr8L5IOwjnkUoEWlGKqR_lG8z9qkuFETlIw,1417
|
3
|
-
sage_setup/excepthook.py,sha256=RMZ-rNsSEL9clgLAnXrMnczR6Dzqw3tNeozBzEd1gKM,1040
|
4
|
-
sage_setup/extensions.py,sha256=Zya8xIx24ayuaHx1w8fbbA7tmry2xhSWfMfFh-I0y2o,500
|
5
|
-
sage_setup/find.py,sha256=Qp_RfsVlIYdLohcWriqwpf8zpS_eTqk2OS0ogpJnRlg,14897
|
6
|
-
sage_setup/library_order.py,sha256=A-6vD3fnsYzCmeWikNIyhx4MkKSpLLuc2GGsUoxpkGY,1783
|
7
|
-
sage_setup/run_parallel.py,sha256=0M1f7x1qkadHmEltscLIUFFgVRwWqYyvpzsMriciJLQ,4516
|
8
|
-
sage_setup/setenv.py,sha256=runuIG6m09duI7cxgPm8tJZAPh5BY_e4rHbzk2stWVc,2182
|
9
|
-
sage_setup/util.py,sha256=Cf6mCt3BrcQ7A45W4XAUdsLbnFN5S4dM9OguWphcF6c,1716
|
10
|
-
sage_setup/autogen/__init__.py,sha256=fknuef0yLX_0S-5iElV_M8rdYfArZK5-Lbhwg0AVpK8,413
|
11
|
-
sage_setup/autogen/__main__.py,sha256=XF8mvERZVwBGq77B0msBBmowXocRPXO42WxU4TP9Zag,42
|
12
|
-
sage_setup/autogen/flint_autogen.py,sha256=Lhz-VEkcoCixviFOZc_ibf-YBPfJihiE3EJ9qfYYA0w,832
|
13
|
-
sage_setup/autogen/giacpy-mkkeywords.py,sha256=VnMmjuOYdNRlIxVGN835DN5irMNFi3rGLUSAbr6BffU,28947
|
14
|
-
sage_setup/autogen/interpreters/__init__.py,sha256=OKKzin4tfEXbYyZxmYzpUU6DpRAppz60NWoQR6nbIxE,10497
|
15
|
-
sage_setup/autogen/interpreters/__main__.py,sha256=DTVAC9MARDD-LppbknLlmCIo9UYfNx-ZCnivQF7n4y4,252
|
16
|
-
sage_setup/autogen/interpreters/generator.py,sha256=q9xW0mYF0XdKDF1woiTuE1EqN28N4ZqawahvqEW69ps,40496
|
17
|
-
sage_setup/autogen/interpreters/instructions.py,sha256=tQv9O-AgyXED1pUG_Pj9dmEwfiHV8bZYwyH8HlDMN4k,16553
|
18
|
-
sage_setup/autogen/interpreters/memory.py,sha256=jZDLozPZDsa6BDJDmHus_F3Bcgt7OEvynMViRRTF-oM,18652
|
19
|
-
sage_setup/autogen/interpreters/storage.py,sha256=X93x84WCk9q6bilHcTqHDUYfoIN-pRlgWD5ltL9DtSs,33588
|
20
|
-
sage_setup/autogen/interpreters/utils.py,sha256=rT9ZvXpWDE2mUWwbN-1rkmdqZSImrSrGhSIdNqZcvlM,4968
|
21
|
-
sage_setup/autogen/interpreters/specs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
22
|
-
sage_setup/autogen/interpreters/specs/base.py,sha256=Mbg2ev6XJwLXuytwibA_iUQC83Q8ao8ZOdT-g65jiIc,6326
|
23
|
-
sage_setup/autogen/interpreters/specs/cc.py,sha256=EC1UFXT9pvsifHNHLjhM4QXzJwPcWZUDsiL9BLBjjA0,9806
|
24
|
-
sage_setup/autogen/interpreters/specs/cdf.py,sha256=MFhhsbAZ6kVK8z_13ngv_JSa6oTfX7ArOAJPpuiRyT8,9172
|
25
|
-
sage_setup/autogen/interpreters/specs/element.py,sha256=v9YFvQCdGR0lSHHG8ZRwnPQ4NBGR0RDgVV9q2Mh69lY,5022
|
26
|
-
sage_setup/autogen/interpreters/specs/python.py,sha256=17QRiigmRGlPATRtUFh3wo622oO3YbLc1NxwaT--Q5M,11239
|
27
|
-
sage_setup/autogen/interpreters/specs/rdf.py,sha256=_VyOGZJoKCgNpTehQdwp5ab-XFAXdUW3iO48-XxBTbU,7210
|
28
|
-
sage_setup/autogen/interpreters/specs/rr.py,sha256=2Hk9px4WYjOcEWXy4lhQZoU9-zEtHA5AEG9lWufeYZE,10654
|
29
|
-
sage_setup/command/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
30
|
-
sage_setup/command/sage_build_cython.py,sha256=jzts8hgku4Q9Vza_kbmyle55vXyNmciLUkS9M4wGxW0,11907
|
31
|
-
sage_setup/command/sage_build_ext.py,sha256=gND-AnQhP7c_AIvMIJPS1ZRBBeSZyGuDOzoKY-6HC1Q,8590
|
32
|
-
sage_setup/command/sage_build_ext_minimal.py,sha256=ihOR25hbJ6xtxDjv5FqwZhl2-Eq--P9Qy2V-zCgftp8,1328
|
33
|
-
sage_setup/command/sage_build_py.py,sha256=bzuRHXKnhItGMkjYxZ276jHz030B85lq45Bp6shI9Nw,311
|
34
|
-
sage_setup/command/sage_install.py,sha256=MRArCc0exyqJpVpILvgnM-FNZQ1XJzk-AXIvw5Qxp6U,1340
|
35
|
-
passagemath_setup-10.4.29.dist-info/METADATA,sha256=38MfcaSKHqvlste6YdQUq6pThUj1o3FG57J8LAWmAiI,1288
|
36
|
-
passagemath_setup-10.4.29.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
|
37
|
-
passagemath_setup-10.4.29.dist-info/top_level.txt,sha256=CNueJfE_I7DXDeFCPmCEMgfqRRZuufTzxVW0sPkbamc,11
|
38
|
-
passagemath_setup-10.4.29.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|