Installation Guide

The recommended way to install the library is via pip from PyPI:

pip install information-reconciliation

After installation, you can directly import the library in Python:

import information_reconciliation

Alternative Installation Methods (Advanced Users)

Note

Python users should prefer installing via pip. Building from source is only required for development or C++ integration.

If you need to build the library from source (e.g., for development or C++ usage), you can clone the repository.

Clone the repository:

git clone https://github.com/erdemeray/IR_for_CVQKD.git

or

git clone git@github.com:erdemeray/IR_for_CVQKD.git

Using the Library in C++

Prerequisites: - CMake - A C++ compiler supporting C++11 and OpenMP (GCC, Clang, MSVC)

Build steps:

cd IR_lib/cpp
mkdir build
cd build
cmake ..
make

The compiled library (information_reconciliation) can then be linked in your C++ projects.

Using the Library in Python (from source)

If you prefer building from source instead of using PyPI:

pip install .

Alternatively, you can use a Conda-based setup for full dependency isolation.

Using Conda

  1. Create environment:

conda env create -f environment.yml
  1. Activate environment:

conda activate IR_lib
  1. Build the project:

mkdir build
cd build
cmake ..
cmake --build . --target install

Using Docker

Build and run the Docker container:

docker build -t IR_lib -f docker/Dockerfile .
docker run --rm -it --mount "type=bind,src=${PWD},target=/developer" IR_lib

Then build the project inside the container as described above.

Building the Documentation

To build the documentation locally:

pip install .[docs]
cmake -S . -B build -DBUILD_DOCS=ON
cmake --build build --target Sphinx