Installation#
We define here two types of installation:
Installation for standard users: for users who want to process data.
Installation for contributors: for contributors who want to enrich the project (eg. add a new reader).
We recommend users and contributors first set up a virtual environment to install ximage.
Virtual environment creation#
While not mandatory, utilizing a virtual environment when installing ximage is recommended.
Using a virtual environment for installing packages provides isolation of dependencies, easier package management, easier maintenance, improved security, and improved development workflow.
Below we provide two options to set up a virtual environment, using venv or conda (recommended).
With conda:
Install miniconda or anaconda if you don’t have it already installed.
Create the ximage-py311 (or any other custom name) conda environment:
conda create --name ximage-py311 python=3.11 --no-default-packages
Activate the ximage-py311 conda environment:
conda activate ximage-py311
With venv:
Windows: Create a virtual environment with venv:
python -m venv ximage-pyXXX
cd ximage-pyXXX/Scripts
activate
Mac/Linux: Create a virtual environment with venv:
virtualenv -p python3 ximage-pyXXX
source ximage-pyXXX/bin/activate
Installation for standard users#
The latest ximage stable version is available on the Python Packaging Index (PyPI) and on the conda-forge channel.
Therefore you can either install the package with pip or conda (recommended). Please install the package in the virtual environment you created before!
With conda:
conda install -c conda-forge ximage
Note
In an alternative to conda, if you are looking for a lightweight package manager you could use micromamba.
With pip:
pip install ximage
Installation for contributors#
The latest ximage version is available on the GitHub repository ximage. You can install the package in editable mode, so that you can modify the code and see the changes immediately. Below we provide the steps to install the package in editable mode.
Clone the repository from GitHub#
According to the contributors guidelines, you should first create a fork into your personal GitHub account.
Then create a local copy of the repository you forked with:
git clone https://github.com/<your-account>/ximage.git
cd ximage
Create the development environment#
We recommend creating a dedicated conda environment for development purposes. You can create a conda environment (i.e. with python 3.11) with:
conda create --name ximage-dev-py311 python=3.11 --no-default-packages
conda activate ximage-dev-py311
Install the package dependencies#
conda install --only-deps ximage
Install the package in editable mode#
Install the ximage package in editable mode by executing the following command in the ximage repository’s root:
pip install -e ".[dev]"
Install code quality checks#
Install the pre-commit hook by executing the following command in the ximage repository’s root:
pre-commit install
Pre-commit hooks are automated scripts that run during each commit to detect basic code quality issues. If a hook identifies an issue (signified by the pre-commit script exiting with a non-zero status), it halts the commit process and displays the error messages.
Note
The versions of the software used in the pre-commit hooks are specified in the .pre-commit-config.yaml file. This file serves as a configuration guide, ensuring that the hooks are executed with the correct versions of each tool, thereby maintaining consistency and reliability in the code quality checks.
Further details about pre-commit hooks can be found in the Contributors Guidelines, specifically in the provided in the Code quality control section.
Run ximage on Jupyter Notebooks#
If you want to run ximage on a Jupyter Notebook, you have to take care to set up the IPython kernel environment where ximage is installed.
For example, if your conda/virtual environment is named ximage-dev, run:
python -m ipykernel install --user --name=ximage-dev
When you will use the Jupyter Notebook, by clicking on Kernel and then Change Kernel, you will be able to select the ximage-dev kernel.