From 94ef35544b0ae6c4a149b989c46b33cff7f2894a Mon Sep 17 00:00:00 2001 From: mmatera Date: Sat, 4 Jan 2025 13:10:30 -0300 Subject: [PATCH 1/5] using patched stopit for the TimeConstrained support --- .github/workflows/macos.yml | 7 ++++ .github/workflows/pyodide.yml | 5 +++ .github/workflows/ubuntu.yml | 7 ++++ .github/workflows/windows.yml | 7 ++++ mathics/builtin/datentime.py | 75 ++++++++++++++++++++--------------- 5 files changed, 68 insertions(+), 33 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index f01336da0..80334b611 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -33,6 +33,13 @@ jobs: cd stopit/ pip install -e . cd .. + python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] + # We can comment out after next Mathics-Scanner release + git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git + # git clone --single-branch --branch operator-refactor-part1.5 https://github.com/Mathics3/mathics-scanner.git + cd mathics-scanner/ + pip install -e . + cd .. # We can comment out after next Mathics-Scanner release # python -m pip install Mathics-Scanner[full] # python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] diff --git a/.github/workflows/pyodide.yml b/.github/workflows/pyodide.yml index baa7834d1..02a411a2f 100644 --- a/.github/workflows/pyodide.yml +++ b/.github/workflows/pyodide.yml @@ -54,6 +54,11 @@ jobs: pip install "setuptools>=70.0.0" PyYAML click packaging pytest + # First install our patched version of stopit + git clone --depth 1 https://github.com/Mathics3/stopit.git + cd stopit/ + pip install -e . + cd .. # We can comment out after next Mathics-Scanner release # python -m pip install --no-build-isolation -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner # pip install --no-build-isolation -e . diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 0a5bfd939..aafd83ac4 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -30,6 +30,13 @@ jobs: pip install -e . cd .. # We can comment out after next Mathics-Scanner release + # python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] + git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git + # git clone --single-branch --branch operator-refactor-part1.5 https://github.com/Mathics3/mathics-scanner.git + cd mathics-scanner/ + pip install -e . + cd .. + # We can comment out after next Mathics-Scanner release # python -m pip install Mathics-Scanner[full] # python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] pip install -e . diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index c35ebdd76..91dd8812a 100755 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -39,6 +39,13 @@ jobs: pip install -e . cd .. # We can comment out after next Mathics-Scanner release + python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] + git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git + # git clone --single-branch --branch operator-refactor-part1.5 https://github.com/Mathics3/mathics-scanner.git + cd mathics-scanner + pip install -e . + cd .. + # We can comment out after next Mathics-Scanner release # python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] pip install -e . diff --git a/mathics/builtin/datentime.py b/mathics/builtin/datentime.py index c89be0132..3c10e08ad 100644 --- a/mathics/builtin/datentime.py +++ b/mathics/builtin/datentime.py @@ -39,9 +39,13 @@ SymbolInfinity, SymbolRowBox, ) -from mathics.eval.datetime import eval_timeconstrained, valid_time_from_expression from mathics.settings import TIME_12HOUR +if sys.platform == "emscripten": + from stopit import SignalTimeout as TimeoutHandler +else: + from timed_threads import ThreadingTimeout as TimeoutHandler + START_TIME = time.time() TIME_INCREMENTS = { @@ -1094,35 +1098,34 @@ def evaluate(self, evaluation: Evaluation) -> Expression: class TimeConstrained(Builtin): - r""" + """ :WMA link:https://reference.wolfram.com/language/ref/TimeConstrained.html
-
'TimeConstrained'[$expr$, $t$] +
'TimeConstrained[$expr$, $t$]'
'evaluates $expr$, stopping after $t$ seconds.' -
'TimeConstrained'[$expr$, $t$, $failexpr$] +
'TimeConstrained[$expr$, $t$, $failexpr$]'
'returns $failexpr$ if the time constraint is not met.'
Possible issues: for certain time-consuming functions (like simplify) which are based on sympy or other libraries, it is possible that the evaluation continues after the timeout. However, at the end of the \ - evaluation, the function will return '\$Aborted' and the results will not affect + evaluation, the function will return '$Aborted' and the results will not affect the state of the Mathics3 kernel. - - ## >> TimeConstrained[Pause[5]; a, 1] - ## = $Aborted - - ## 'TimeConstrained' can be nested. In this case, the outer 'TimeConstrained' waits for \ - ## 2 seconds that the inner sequence be executed. Inner expressions would take in \ - ## sequence more than 3 seconds: - ## >> TimeConstrained[TimeConstrained[Pause[1]; Print["First Done"], 2];\ - ## TimeConstrained[Pause[5];Print["Second Done"],2,"inner"], \ - ## 2, "outer"] - ## | First Done - ## = outer + >> TimeConstrained[Pause[5]; a, 1] + = $Aborted + + 'TimeConstrained' can be nested. In this case, the outer 'TimeConstrained' waits for \ + 2 seconds that the inner sequence be executed. Inner expressions would take in \ + sequence more than 3 seconds: + >> TimeConstrained[TimeConstrained[Pause[1]; Print["First Done"], 2];\ + TimeConstrained[Pause[5];Print["Second Done"],2,"inner"], \ + 2, "outer"] + | First Done + = outer """ attributes = A_HOLD_ALL | A_PROTECTED @@ -1132,30 +1135,36 @@ class TimeConstrained(Builtin): "or Infinity." ), } - if sys.platform == "emscripten": - messages.update({"tcns": f"TimeConstrained is not supported in {sys.platform}"}) summary_text = "run a command for at most a specified time" - def eval_with_timeout(self, expr, t, evaluation) -> Optional[BaseElement]: + def eval_2(self, expr, t, evaluation): "TimeConstrained[expr_, t_]" - try: - timeout = valid_time_from_expression(t, evaluation) - except ValueError: - evaluation.message("TimeConstrained", "timc", t) - return - return eval_timeconstrained(expr, timeout, SymbolAborted, evaluation) + return self.eval_3(expr, t, SymbolAborted, evaluation) - def eval_with_timeout_and_failexpr( - self, expr, t, failexpr, evaluation - ) -> Optional[BaseElement]: + def eval_3(self, expr, t, failexpr, evaluation): "TimeConstrained[expr_, t_, failexpr_]" - try: - timeout = valid_time_from_expression(t, evaluation) - except ValueError: + t = t.evaluate(evaluation) + if not t.is_numeric(evaluation): evaluation.message("TimeConstrained", "timc", t) return - return eval_timeconstrained(expr, timeout, failexpr, evaluation) + try: + timeout = float(t.to_python()) + evaluation.timeout_queue.append((timeout, datetime.now().timestamp())) + request = lambda: expr.evaluate(evaluation) + done = False + with TimeoutHandler(timeout) as to_ctx_mgr: + assert to_ctx_mgr.state == to_ctx_mgr.EXECUTING + result = request() + done = True + if done: + evaluation.timeout_queue.pop() + return result + except Exception: + evaluation.timeout_queue.pop() + raise + evaluation.timeout_queue.pop() + return failexpr.evaluate(evaluation) class TimeZone(Predefined): From b1452920af031b3e70b6cc0abc05052c93b61bb1 Mon Sep 17 00:00:00 2001 From: mmatera Date: Sat, 4 Jan 2025 21:49:10 -0300 Subject: [PATCH 2/5] improving Pause --- mathics/builtin/procedural.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mathics/builtin/procedural.py b/mathics/builtin/procedural.py index 6d4841c88..a7e30cfb6 100644 --- a/mathics/builtin/procedural.py +++ b/mathics/builtin/procedural.py @@ -529,6 +529,7 @@ def eval(self, n, evaluation: Evaluation): # pylint: disable=unused-argument except ValueError: evaluation.message("Pause", "numnm", Expression(SymbolPause, n)) return + eval_pause(sleep_time, evaluation) return SymbolNull From 38e8ef1c0b431c46f56a945cc84ed3e4b252f8d1 Mon Sep 17 00:00:00 2001 From: rocky Date: Wed, 17 Dec 2025 20:44:09 -0500 Subject: [PATCH 3/5] Use released Timed-Threads --- .github/workflows/consistency-checks.yml | 2 ++ .github/workflows/macos.yml | 13 ++----------- .github/workflows/pyodide.yml | 5 ----- .github/workflows/ubuntu-bench.yml | 7 ++----- .github/workflows/ubuntu-cython.yml | 7 ++----- .github/workflows/ubuntu.yml | 7 ++----- .github/workflows/windows.yml | 14 ++------------ mathics/builtin/datentime.py | 2 +- mathics/eval/datetime.py | 4 ++-- pyproject.toml | 4 ++-- test/builtin/test_datentime.py | 12 ++++++++---- 11 files changed, 25 insertions(+), 52 deletions(-) diff --git a/.github/workflows/consistency-checks.yml b/.github/workflows/consistency-checks.yml index 041a4cc91..63e89b520 100644 --- a/.github/workflows/consistency-checks.yml +++ b/.github/workflows/consistency-checks.yml @@ -22,6 +22,8 @@ jobs: run: | sudo apt update -qq && sudo apt install llvm-dev remake python -m pip install --upgrade pip + # First, install our Timed-Threads + pip install Timed-Threads # We can comment out after next Mathics-Scanner release # python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] pip install -e . diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 80334b611..a9c48e68c 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -28,19 +28,10 @@ jobs: python -m pip install --upgrade pip - name: Install Mathics3 with full Python dependencies run: | - # First install our patched version of stopit - git clone --depth 1 https://github.com/Mathics3/stopit.git - cd stopit/ - pip install -e . - cd .. + # First, install our patched version of stopit called Timed-Threads + pip install Timed-Threads python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] # We can comment out after next Mathics-Scanner release - git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git - # git clone --single-branch --branch operator-refactor-part1.5 https://github.com/Mathics3/mathics-scanner.git - cd mathics-scanner/ - pip install -e . - cd .. - # We can comment out after next Mathics-Scanner release # python -m pip install Mathics-Scanner[full] # python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] pip install -e . diff --git a/.github/workflows/pyodide.yml b/.github/workflows/pyodide.yml index 02a411a2f..baa7834d1 100644 --- a/.github/workflows/pyodide.yml +++ b/.github/workflows/pyodide.yml @@ -54,11 +54,6 @@ jobs: pip install "setuptools>=70.0.0" PyYAML click packaging pytest - # First install our patched version of stopit - git clone --depth 1 https://github.com/Mathics3/stopit.git - cd stopit/ - pip install -e . - cd .. # We can comment out after next Mathics-Scanner release # python -m pip install --no-build-isolation -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner # pip install --no-build-isolation -e . diff --git a/.github/workflows/ubuntu-bench.yml b/.github/workflows/ubuntu-bench.yml index a1b453f46..1d6d2b641 100644 --- a/.github/workflows/ubuntu-bench.yml +++ b/.github/workflows/ubuntu-bench.yml @@ -24,12 +24,9 @@ jobs: - name: Install Mathics3 with full dependencies run: | python -m pip install --upgrade pip + # First, install our Timed-Threads + pip install Timed-Threads python -m pip install pytest-benchmark - # First install our patched version of stopit - git clone --depth 1 https://github.com/Mathics3/stopit.git - cd stopit/ - pip install -e . - cd .. # We can comment out after next Mathics-Scanner release # python -m pip install Mathics-Scanner[full] # python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] diff --git a/.github/workflows/ubuntu-cython.yml b/.github/workflows/ubuntu-cython.yml index e5f39a9bd..fe2cc24a2 100644 --- a/.github/workflows/ubuntu-cython.yml +++ b/.github/workflows/ubuntu-cython.yml @@ -24,11 +24,8 @@ jobs: run: | sudo apt-get update -qq && sudo apt-get install -qq liblapack-dev llvm-dev tesseract-ocr python -m pip install --upgrade pip - # First install our patched version of stopit - git clone --depth 1 https://github.com/Mathics3/stopit.git - cd stopit/ - pip install -e . - cd .. + # First, install our Timed-Threads + pip install Timed-Threads # We can comment out after next Mathics-Scanner release # python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] pip install -e . diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index aafd83ac4..cd0850e5d 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -24,11 +24,8 @@ jobs: - name: Install Mathics3 with full dependencies run: | python -m pip install --upgrade pip - # First install our patched version of stopit - git clone --depth 1 https://github.com/Mathics3/stopit.git - cd stopit/ - pip install -e . - cd .. + # First, install our patched version of stopit called Timed-Threads + python -m pip install Timed-Threads # We can comment out after next Mathics-Scanner release # python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 91dd8812a..deec1e5aa 100755 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -33,18 +33,8 @@ jobs: set LLVM_DIR="C:\Program Files\LLVM" - name: Install Mathics3 with Python dependencies run: | - # First install our patched version of stopit - git clone --depth 1 https://github.com/Mathics3/stopit.git - cd stopit/ - pip install -e . - cd .. - # We can comment out after next Mathics-Scanner release - python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] - git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git - # git clone --single-branch --branch operator-refactor-part1.5 https://github.com/Mathics3/mathics-scanner.git - cd mathics-scanner - pip install -e . - cd .. + # First, install our patched version of stopit called Timed-Threads + pip install Timed-Treads # We can comment out after next Mathics-Scanner release # python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] pip install -e . diff --git a/mathics/builtin/datentime.py b/mathics/builtin/datentime.py index 3c10e08ad..7c9e53853 100644 --- a/mathics/builtin/datentime.py +++ b/mathics/builtin/datentime.py @@ -42,7 +42,7 @@ from mathics.settings import TIME_12HOUR if sys.platform == "emscripten": - from stopit import SignalTimeout as TimeoutHandler + from timed_threads import SignalTimeout as TimeoutHandler else: from timed_threads import ThreadingTimeout as TimeoutHandler diff --git a/mathics/eval/datetime.py b/mathics/eval/datetime.py index e25cbd4af..8185f2ad2 100644 --- a/mathics/eval/datetime.py +++ b/mathics/eval/datetime.py @@ -66,7 +66,7 @@ def eval_pause(sleeptime: float, evaluation): if sys.platform == "emscripten": - # from stopit import SignalTimeout as TimeoutHandler + # from timed_threads import SignalTimeout as TimeoutHandler def eval_timeconstrained( expr: BaseElement, timeout: float, failexpr: BaseElement, evaluation: Evaluation @@ -75,7 +75,7 @@ def eval_timeconstrained( evaluation.message("TimeConstrained", "tcns") else: - from stopit import ThreadingTimeout as TimeoutHandler + from timed_threads import ThreadingTimeout as TimeoutHandler def eval_timeconstrained( expr: BaseElement, timeout: float, failexpr: BaseElement, evaluation: Evaluation diff --git a/pyproject.toml b/pyproject.toml index 81d96749d..e5fda4010 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,8 +28,8 @@ dependencies = [ "requests", "scipy", "setuptools", - # stopit is needed in TimeRemaining[] - "stopit; platform_system != 'Emscripten'", + # Timed-Threads is needed in TimeRemaining[] + "Timed-Threads", "sympy>=1.13", ] license = "GPL-3.0-or-later" diff --git a/test/builtin/test_datentime.py b/test/builtin/test_datentime.py index 386136d90..3c97ca9cf 100644 --- a/test/builtin/test_datentime.py +++ b/test/builtin/test_datentime.py @@ -10,11 +10,15 @@ import pytest try: - from stopit import __version__ as stopit_version + from timed_threads import __version__ as stopit_version except ImportError: - have_stopit_for_timeconstrained = False + have_timed_threads_for_timeconstrained = False else: - have_stopit_for_timeconstrained = stopit_version.split(".")[:3] >= ["1", "1", "3"] + have_timed_threads_for_timeconstrained = stopit_version.split(".")[:3] >= [ + "1", + "1", + "3", + ] @pytest.mark.skipif( @@ -154,7 +158,7 @@ def test_private_doctests_datetime(str_expr, msgs, str_expected, fail_msg): @pytest.mark.skipif( - sys.platform in ("emscripten",) or not have_stopit_for_timeconstrained, + sys.platform in ("emscripten",) or not have_timed_threads_for_timeconstrained, reason="TimeConstrained[] is not supported in Pyodide or an unpatched 'stopit'", ) @pytest.mark.parametrize( From a8012e1826aa142c56da51cd05b0674bc5de6f9a Mon Sep 17 00:00:00 2001 From: rocky Date: Thu, 18 Dec 2025 15:51:03 -0500 Subject: [PATCH 4/5] use master code for TimeConstrained. master is more up to date. --- mathics/builtin/datentime.py | 75 ++++++++++++++++-------------------- 1 file changed, 33 insertions(+), 42 deletions(-) diff --git a/mathics/builtin/datentime.py b/mathics/builtin/datentime.py index 7c9e53853..c89be0132 100644 --- a/mathics/builtin/datentime.py +++ b/mathics/builtin/datentime.py @@ -39,13 +39,9 @@ SymbolInfinity, SymbolRowBox, ) +from mathics.eval.datetime import eval_timeconstrained, valid_time_from_expression from mathics.settings import TIME_12HOUR -if sys.platform == "emscripten": - from timed_threads import SignalTimeout as TimeoutHandler -else: - from timed_threads import ThreadingTimeout as TimeoutHandler - START_TIME = time.time() TIME_INCREMENTS = { @@ -1098,34 +1094,35 @@ def evaluate(self, evaluation: Evaluation) -> Expression: class TimeConstrained(Builtin): - """ + r""" :WMA link:https://reference.wolfram.com/language/ref/TimeConstrained.html
-
'TimeConstrained[$expr$, $t$]' +
'TimeConstrained'[$expr$, $t$]
'evaluates $expr$, stopping after $t$ seconds.' -
'TimeConstrained[$expr$, $t$, $failexpr$]' +
'TimeConstrained'[$expr$, $t$, $failexpr$]
'returns $failexpr$ if the time constraint is not met.'
Possible issues: for certain time-consuming functions (like simplify) which are based on sympy or other libraries, it is possible that the evaluation continues after the timeout. However, at the end of the \ - evaluation, the function will return '$Aborted' and the results will not affect + evaluation, the function will return '\$Aborted' and the results will not affect the state of the Mathics3 kernel. - >> TimeConstrained[Pause[5]; a, 1] - = $Aborted - - 'TimeConstrained' can be nested. In this case, the outer 'TimeConstrained' waits for \ - 2 seconds that the inner sequence be executed. Inner expressions would take in \ - sequence more than 3 seconds: - >> TimeConstrained[TimeConstrained[Pause[1]; Print["First Done"], 2];\ - TimeConstrained[Pause[5];Print["Second Done"],2,"inner"], \ - 2, "outer"] - | First Done - = outer + + ## >> TimeConstrained[Pause[5]; a, 1] + ## = $Aborted + + ## 'TimeConstrained' can be nested. In this case, the outer 'TimeConstrained' waits for \ + ## 2 seconds that the inner sequence be executed. Inner expressions would take in \ + ## sequence more than 3 seconds: + ## >> TimeConstrained[TimeConstrained[Pause[1]; Print["First Done"], 2];\ + ## TimeConstrained[Pause[5];Print["Second Done"],2,"inner"], \ + ## 2, "outer"] + ## | First Done + ## = outer """ attributes = A_HOLD_ALL | A_PROTECTED @@ -1135,36 +1132,30 @@ class TimeConstrained(Builtin): "or Infinity." ), } + if sys.platform == "emscripten": + messages.update({"tcns": f"TimeConstrained is not supported in {sys.platform}"}) summary_text = "run a command for at most a specified time" - def eval_2(self, expr, t, evaluation): + def eval_with_timeout(self, expr, t, evaluation) -> Optional[BaseElement]: "TimeConstrained[expr_, t_]" - return self.eval_3(expr, t, SymbolAborted, evaluation) + try: + timeout = valid_time_from_expression(t, evaluation) + except ValueError: + evaluation.message("TimeConstrained", "timc", t) + return + return eval_timeconstrained(expr, timeout, SymbolAborted, evaluation) - def eval_3(self, expr, t, failexpr, evaluation): + def eval_with_timeout_and_failexpr( + self, expr, t, failexpr, evaluation + ) -> Optional[BaseElement]: "TimeConstrained[expr_, t_, failexpr_]" - t = t.evaluate(evaluation) - if not t.is_numeric(evaluation): + try: + timeout = valid_time_from_expression(t, evaluation) + except ValueError: evaluation.message("TimeConstrained", "timc", t) return - try: - timeout = float(t.to_python()) - evaluation.timeout_queue.append((timeout, datetime.now().timestamp())) - request = lambda: expr.evaluate(evaluation) - done = False - with TimeoutHandler(timeout) as to_ctx_mgr: - assert to_ctx_mgr.state == to_ctx_mgr.EXECUTING - result = request() - done = True - if done: - evaluation.timeout_queue.pop() - return result - except Exception: - evaluation.timeout_queue.pop() - raise - evaluation.timeout_queue.pop() - return failexpr.evaluate(evaluation) + return eval_timeconstrained(expr, timeout, failexpr, evaluation) class TimeZone(Predefined): From 5cee92c04044cce18198eec00c8338947d267920 Mon Sep 17 00:00:00 2001 From: rocky Date: Mon, 22 Dec 2025 07:08:08 -0500 Subject: [PATCH 5/5] Remove explict Timed-Threads; it'sa requirement --- .github/workflows/consistency-checks.yml | 2 -- .github/workflows/macos.yml | 2 -- .github/workflows/ubuntu-bench.yml | 2 -- .github/workflows/ubuntu-cython.yml | 2 -- .github/workflows/ubuntu.yml | 2 -- .github/workflows/windows.yml | 2 -- 6 files changed, 12 deletions(-) diff --git a/.github/workflows/consistency-checks.yml b/.github/workflows/consistency-checks.yml index 63e89b520..041a4cc91 100644 --- a/.github/workflows/consistency-checks.yml +++ b/.github/workflows/consistency-checks.yml @@ -22,8 +22,6 @@ jobs: run: | sudo apt update -qq && sudo apt install llvm-dev remake python -m pip install --upgrade pip - # First, install our Timed-Threads - pip install Timed-Threads # We can comment out after next Mathics-Scanner release # python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] pip install -e . diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index a9c48e68c..fa02854d3 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -28,8 +28,6 @@ jobs: python -m pip install --upgrade pip - name: Install Mathics3 with full Python dependencies run: | - # First, install our patched version of stopit called Timed-Threads - pip install Timed-Threads python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] # We can comment out after next Mathics-Scanner release # python -m pip install Mathics-Scanner[full] diff --git a/.github/workflows/ubuntu-bench.yml b/.github/workflows/ubuntu-bench.yml index 1d6d2b641..501629714 100644 --- a/.github/workflows/ubuntu-bench.yml +++ b/.github/workflows/ubuntu-bench.yml @@ -24,8 +24,6 @@ jobs: - name: Install Mathics3 with full dependencies run: | python -m pip install --upgrade pip - # First, install our Timed-Threads - pip install Timed-Threads python -m pip install pytest-benchmark # We can comment out after next Mathics-Scanner release # python -m pip install Mathics-Scanner[full] diff --git a/.github/workflows/ubuntu-cython.yml b/.github/workflows/ubuntu-cython.yml index fe2cc24a2..453745833 100644 --- a/.github/workflows/ubuntu-cython.yml +++ b/.github/workflows/ubuntu-cython.yml @@ -24,8 +24,6 @@ jobs: run: | sudo apt-get update -qq && sudo apt-get install -qq liblapack-dev llvm-dev tesseract-ocr python -m pip install --upgrade pip - # First, install our Timed-Threads - pip install Timed-Threads # We can comment out after next Mathics-Scanner release # python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] pip install -e . diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index cd0850e5d..f5edc3237 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -24,8 +24,6 @@ jobs: - name: Install Mathics3 with full dependencies run: | python -m pip install --upgrade pip - # First, install our patched version of stopit called Timed-Threads - python -m pip install Timed-Threads # We can comment out after next Mathics-Scanner release # python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index deec1e5aa..640f5e5db 100755 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -33,8 +33,6 @@ jobs: set LLVM_DIR="C:\Program Files\LLVM" - name: Install Mathics3 with Python dependencies run: | - # First, install our patched version of stopit called Timed-Threads - pip install Timed-Treads # We can comment out after next Mathics-Scanner release # python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full] pip install -e .