Installation ============ The steps to install PyProBE with developer settings are as follows: **Clone the repository** 1. Enter a directory in which you wish to install PyProBE: .. code-block:: bash cd /path/to/your/directory 2. Clone the repository to your local machine. This can be done either from the main PyProBE repository or your own fork. This creates a directory called PyProBE. .. code-block:: bash git clone https://github.com/ImperialCollegeLondon/PyProBE.git cd PyProBE **Installation with uv (recommended)** To guarantee a safe installation with compatible packages, it is recommended to use the `uv `_ tool. First, follow the steps in the `uv installation guide `_ to install uv onto your system. Note: while uv can be installed into a virtual environment with pip, it is recommended to install system-wide. Once uv is installed we can continue with the PyProBE installation. With a single command, uv installs PyProBE alongside Python and all of its dependencies in a virtual environment: .. code-block:: bash uv sync --all-extras The virtual environment is stored in the :code:`PyProBE/.venv` directory inside your and can be activated with :code:`source .venv/bin/activate`. To run a jupyter notebook in VSCode from this environment you can run: .. code-block:: bash uv run -m ipykernel install --user --name This will create a kernel that you can select within VSCode in the usual way. To use :code:`%pip` within a jupyter notebook, run :code:`uv venv --seed` prior to the two commands above. .. dropdown:: Alternative installation with pip (not recommended) Alternatively, it is possible to install PyProBE with pip. This method skips the dependency locking mechanism within uv, so reliable results are not guaranteed if this method results in dependency conflicts: 1. Create and activate a virtual environment. 2. Install PyProBE as a package into your virtual environment with the developer dependencies: .. code-block:: bash pip install -e '.[dev, docs]' The :code:`-e` flag installs in "editable" mode, which means changes that you make to the code will be automatically reflected in the package inside your virtual environment. **Install the pre-commit hooks:** .. code-block:: bash pre-commit install .. footbibliography::