- Konrad Bodzioch
- Dominik Breksa
- Miłosz Góralczyk
This repository contains our efforts for creating a Python based C extension image enhance library. As the first part of the project, a python-compatible library will be implemented, containing various functionalities from the area of Image Processing and Manipulation.
The calculations are going to be performed within c++ code, with the extension bridging the gap between languages, allowing for full access within the Python environment while utilising the computational speed of low-level language.
Further on, we plan on displaying the capabilities of developed extension with a python-based User Interface or Pipeline for Image Manipulation and Image Processing, allowing user to utilise the functionalities from the level of a command line or a Graphic Interface Upload-Manipulate-Output tool.
The project contains the app python package. Short for Advanced-Python-Programming.
The package requires the following configuration in order to be properly installed (see later sections):
- Python 3.13
- CPython implementation
- numpy 2.3.5
The package can be installed with two dependencies bundles:
- baseline package dependencies intended for end user.
- development dependencies used to test, build the project (requires additional installations).
Our package uses the setuptools backend.
Create python environment using venv:
python3 -m venv .venvNext, you need to choose one of the dependencies bundles.
Run the following commands in your terminal and install the app package:
pip3 install -e .Alternatively previous step can be accomplished using by running the Makefile command:
make python-installPackage with development dependencies installation:
pip3 install -e .[developement]It is not needed to install the package in editable mode (-e flag).
However, if one would want to do code modification, the option is very helpful.
And using makefile:
make python-install-editableSee also setup.cfg for more details.
mypy==1.18.2,
ruff==0.14.6,
flake8==7.3.0,
pylint==4.0.2,
nbqa==1.9.1
pytest==9.0.1