diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ee994df..27030a5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - python-version: ["3.9", "3.10", "3.11", "3.12"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} diff --git a/README.md b/README.md index e5939df..afd03a4 100644 --- a/README.md +++ b/README.md @@ -148,6 +148,12 @@ Instruction-level parallelism, branch mispredictions, SIMD, and the CPU memory c ## Changelog +### v0.3.2 + +* `python -m profila setup` should now work correctly in Conda environments. +* Support for latest IPython. +* Support for Python 3.13. + ### v0.3.1 Documentation improvements. diff --git a/src/profila/__init__.py b/src/profila/__init__.py index 54b8021..25c4dbb 100644 --- a/src/profila/__init__.py +++ b/src/profila/__init__.py @@ -9,7 +9,7 @@ def load_ipython_extension(ipython: object) -> None: """Load our IPython magic""" from IPython.core.error import UsageError - from IPython.core.display import display, Markdown + from IPython.display import display, Markdown if "numba" in sys.modules: raise UsageError( diff --git a/src/profila/__main__.py b/src/profila/__main__.py index 10dd13d..4d0c9c5 100644 --- a/src/profila/__main__.py +++ b/src/profila/__main__.py @@ -186,6 +186,10 @@ def setup_command(args: Namespace) -> None: tarfile.open(fileobj=f).extract("bin/micromamba", STORAGE_PATH) os.chmod(MICROMAMBA_PATH, 0o775) env = os.environ.copy() + # Ensure existing Conda environment doesn't break things: + for key in list(env.keys()): + if key.startswith("CONDA_") or key.startswith("MAMBA_"): + env.pop(key) env["MAMBA_ROOT_PREFIX"] = STORAGE_PATH subprocess.check_call( [ diff --git a/src/profila/_ipython.py b/src/profila/_ipython.py index 848efa4..88c4af2 100644 --- a/src/profila/_ipython.py +++ b/src/profila/_ipython.py @@ -1,6 +1,7 @@ """ IPython/Jupyter magics. """ + import ctypes import json import sys @@ -12,7 +13,7 @@ from ._render import render_text from IPython.core.magic import Magics, magics_class, cell_magic -from IPython.core.display import display, Markdown +from IPython.display import display, Markdown libc = ctypes.CDLL("libc.so.6") prctl = libc.prctl