diff --git a/_doctest_environment.py b/_doctest_environment.py new file mode 100644 index 0000000..15f94df --- /dev/null +++ b/_doctest_environment.py @@ -0,0 +1,7 @@ +# Toplevel for doctesting with passagemath + +from sage.all__sagemath_combinat import * +from sage.all__sagemath_modules import * + +from k_combinat_for_sage.all import * +from k_combinat_for_sage.all import _is_sequence diff --git a/k_combinat_for_sage/all.py b/k_combinat_for_sage/all.py index fe6c7b8..ee1694f 100644 --- a/k_combinat_for_sage/all.py +++ b/k_combinat_for_sage/all.py @@ -20,7 +20,11 @@ #***************************************************************************** import sys -from sage.all import * +try: + from sage.all import * +except ImportError: + from sage.all__sagemath_combinat import * + from sage.combinat.partition_shifting_algebras import ShiftingOperatorAlgebra as ShiftingOperatorAlgebraExplicit parent_module = sys.modules['.'.join(__name__.split('.')[:-1]) or '__main__'] diff --git a/k_combinat_for_sage/core.py b/k_combinat_for_sage/core.py index b4aa2fe..d72f0a3 100644 --- a/k_combinat_for_sage/core.py +++ b/k_combinat_for_sage/core.py @@ -13,7 +13,11 @@ # http://www.gnu.org/licenses/ #***************************************************************************** -from sage.all import * +try: + from sage.all import * +except ImportError: + from sage.all__sagemath_combinat import * + from sage.all__sagemath_modules import * # ^*^ sphinx insert ^*^ diff --git a/k_combinat_for_sage/k_shape.py b/k_combinat_for_sage/k_shape.py index ebcc248..b4bd244 100644 --- a/k_combinat_for_sage/k_shape.py +++ b/k_combinat_for_sage/k_shape.py @@ -20,7 +20,11 @@ import sys -from sage.all import * +try: + from sage.all import * +except ImportError: + from sage.all__sagemath_combinat import * + from sage.all__sagemath_modules import * parent_module = sys.modules['.'.join(__name__.split('.')[:-1]) or '__main__'] if __name__ == '__main__' or parent_module.__name__ == '__main__': diff --git a/k_combinat_for_sage/partition.py b/k_combinat_for_sage/partition.py index 49dbf85..eab25b9 100644 --- a/k_combinat_for_sage/partition.py +++ b/k_combinat_for_sage/partition.py @@ -14,7 +14,12 @@ # http://www.gnu.org/licenses/ #***************************************************************************** -from sage.all import * +try: + from sage.all import * +except ImportError: + from sage.all__sagemath_combinat import * + from sage.all__sagemath_modules import * + # ^*^ sphinx insert ^*^ # HELPERS diff --git a/k_combinat_for_sage/proof_of_work.py b/k_combinat_for_sage/proof_of_work.py index 3c6cad1..9620130 100755 --- a/k_combinat_for_sage/proof_of_work.py +++ b/k_combinat_for_sage/proof_of_work.py @@ -1,8 +1,7 @@ #!/usr/bin/env sage # -*- coding: utf-8 -*- """ This file demonstrates that I have completed each requested task (or the functionality already existed in sage) by showing an example for each one. """ -from sage.all import * -from all import * +from .all import * print('Sage loaded. Executing proof of work...') diff --git a/k_combinat_for_sage/root_ideal.py b/k_combinat_for_sage/root_ideal.py index b82ed18..d6b4db5 100644 --- a/k_combinat_for_sage/root_ideal.py +++ b/k_combinat_for_sage/root_ideal.py @@ -21,7 +21,11 @@ import sys -from sage.all import * +try: + from sage.all import * +except ImportError: + from sage.all__sagemath_combinat import * + from sage.all__sagemath_modules import * parent_module = sys.modules['.'.join(__name__.split('.')[:-1]) or '__main__'] if __name__ == '__main__' or parent_module.__name__ == '__main__': diff --git a/k_combinat_for_sage/shorthands.py b/k_combinat_for_sage/shorthands.py index 9b76c5c..64800d4 100644 --- a/k_combinat_for_sage/shorthands.py +++ b/k_combinat_for_sage/shorthands.py @@ -3,7 +3,7 @@ from k_combinat_for_sage.shorthands import * """ -from all import * +from .all import * # ^*^ sphinx insert ^*^ # pre-initialized useful variables diff --git a/k_combinat_for_sage/skew_partition.py b/k_combinat_for_sage/skew_partition.py index 5750f02..9d4839f 100644 --- a/k_combinat_for_sage/skew_partition.py +++ b/k_combinat_for_sage/skew_partition.py @@ -20,7 +20,11 @@ import sys -from sage.all import * +try: + from sage.all import * +except ImportError: + from sage.all__sagemath_combinat import * + from sage.all__sagemath_modules import * parent_module = sys.modules['.'.join(__name__.split('.')[:-1]) or '__main__'] if __name__ == '__main__' or parent_module.__name__ == '__main__': diff --git a/k_combinat_for_sage/strong_marked_tableau.py b/k_combinat_for_sage/strong_marked_tableau.py index b5bcaa6..d8eb8f6 100644 --- a/k_combinat_for_sage/strong_marked_tableau.py +++ b/k_combinat_for_sage/strong_marked_tableau.py @@ -20,7 +20,11 @@ import sys -from sage.all import * +try: + from sage.all import * +except ImportError: + from sage.all__sagemath_combinat import * + from sage.all__sagemath_modules import * parent_module = sys.modules['.'.join(__name__.split('.')[:-1]) or '__main__'] if __name__ == '__main__' or parent_module.__name__ == '__main__': diff --git a/k_combinat_for_sage/test_all.py b/k_combinat_for_sage/test_all.py index 82216d8..6256d46 100755 --- a/k_combinat_for_sage/test_all.py +++ b/k_combinat_for_sage/test_all.py @@ -4,12 +4,17 @@ # from __future__ import print_function import time -from sage.all import * +try: + from sage.all import * +except ImportError: + from sage.all__sagemath_combinat import * + from sage.all__sagemath_modules import * + print('Sage loaded. Now loading local modules...') -from testing import * -from all import * -from all import _is_sequence -from strong_marked_tableau import __go_to_ribbon_head +from .testing import * +from .all import * +from .all import _is_sequence +from .strong_marked_tableau import __go_to_ribbon_head start_time = time.time() print('Modules loaded. Testing...') diff --git a/k_combinat_for_sage/testing.py b/k_combinat_for_sage/testing.py index e4a42c1..1bf5e2d 100644 --- a/k_combinat_for_sage/testing.py +++ b/k_combinat_for_sage/testing.py @@ -1,5 +1,10 @@ # Tools for testing purposes. -from sage.all import * +try: + from sage.all import * +except ImportError: + from sage.all__sagemath_combinat import * + from sage.all__sagemath_modules import * + def is_False_or_None(x): return x is None or x == False diff --git a/setup.py b/setup.py index e38d9e9..30f1ac4 100644 --- a/setup.py +++ b/setup.py @@ -20,4 +20,10 @@ download_url=download_url, keywords=['morse', 'k-boundary', 'k-rim', 'k-shape', 'skew-linked diagram', 'k-irreducible', 'root ideals', 'k-schur', 'combinatorics', 'sage', 'sagemath', 'raising root operators', 'catalan functions'], classifiers=[], + extras_require={ + 'passagemath': ['passagemath-combinat', + 'passagemath-modules', + 'passagemath-repl', + ], + }, ) diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..7c69d7c --- /dev/null +++ b/tox.ini @@ -0,0 +1,19 @@ +# tox -c tox-passagemath.ini +[tox] +envlist = passagemath + +[testenv:.pkg] +passenv = + CPATH + LIBRARY_PATH + +[testenv:passagemath] +usedevelop = True +extras = passagemath + +setenv = + # For access to _doctest_environment.py + PYTHONPATH=. + +commands = + sage -tp --environment=_doctest_environment k_combinat_for_sage