Machine Learning and Optimization for Communications (MOKka)
(german: Maschinelles Lernen und Optimierung für Kommunikationssysteme)
This Python package is intended to provide signal and information processing blocks in popular machine learning frameworks. Most of the functionality currently is provided for the PyTorch machine learning framework. Some parts are already implemented to interface with the Sionna Python package.
Prerequisites
This package uses UV for fast Python package management and virtual environments. UV is a modern alternative to pip/poetry that provides significantly faster dependency resolution and installation.
Installation
From PyPI (Recommended)
# Install using UV (fastest method)
uv add mokka
# Or using pip (traditional method)
pip install mokka
From Source
# Clone the repository
git clone https://github.com/kit-cel/mokka.git
cd mokka
# Install with all optional extras using UV
uv sync --all-extras
# Or install specific extras (e.g., torch + dev tools)
uv sync --extra torch --extra dev
Development Setup
# Install development dependencies
uv sync --with=dev
# Install pre-commit hooks for code quality
pre-commit install
For more advanced usage, refer to the UV documentation.
Usage
This package provides a range of modules, covering a range of functions within a communication system.
To access functionality within a specific module first import mokka and then access of modules is possible, e.g. mokka.mapping.torch provides
constellation mappers and demappers implemented with and compatible to the PyTorch framework.
Development
For consistent development, we use pre-commit hooks to check code formatting and documentation before commits. The project has been updated to use UV for faster dependency management.
Development Installation
# Install in development mode with UV
uv sync --editable --extra torch --extra dev
# Install pre-commit hooks
pre-commit install
Common Development Commands
# Run tests with coverage
uv run pytest --cov=src --cov-report=xml
# Format code
uv run ruff format
# Lint code
uv run ruff check
# Type checking
uv run mypy src
The pre-commit hooks will automatically run formatting and linting checks on each commit. For more information about the development workflow, see the Contributing Guide.
Acknowledgment
This work has received funding from the European Research Council (ERC) under the European Union's Horizon2020 research and innovation programme (grant agreement No. 101001899).
Metadata
Release files for mokka 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mokka-1.2.1.tar.gz | 80.5 kB | Without provenance | Details for mokka-1.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mokka-1.2.1-py3-none-any.whl | Python 3 | none | any | Details for mokka-1.2.1-py3-none-any.whl |
Total release size: 172.7 kB
Release files / mokka-1.2.1.tar.gz
| Download URL | mokka-1.2.1.tar.gz |
|---|---|
| Size | 80.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3f22d0fb606889c165353a59714c5637d52054ad4049e31717e4b1444a5de6c8
|
|
BLAKE2b-256 checksum How to use checksums |
ba5e9dcb1bf3d9828b82e5ca9b28c09a0c75c13b8147af9504e744e00d5b7ecb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / mokka-1.2.1-py3-none-any.whl
| Download URL | mokka-1.2.1-py3-none-any.whl |
|---|---|
| Size | 92.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cf9de4ee3f5728d56dfb9183257d22c0d5af53c42230660ea9348a136b15f19e
|
|
BLAKE2b-256 checksum How to use checksums |
f7a44edbf77e4608604b441f18f2d8a017c0056b009215bc5ea793976175e907
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for mokka 1.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.