Komm
_A Python library for communication systems._
Komm is an open-source library for Python 3 providing tools for analysis and simulation of analog and digital communication systems. This project is inspired by many other communication systems libraries, such as MATLAB® Communications System Toolbox™, GNU Radio, CommPy, and SageMath. Komm is licensed under the GNU General Public License v3.0.
The project's website has the library reference, gallery, and tables.
[!WARNING]
Please be advised that this project is currently under development. As such, there may be changes to the project's codebase, including the API.
Installation
Before you start, make sure you have Python (version 3.11 or later) installed. Also, you may want to create and activate a virtual environment first:
python3 -m venv .venv
source .venv/bin/activate
From PyPI
pip install komm
From GitHub
pip install git+https://github.com/rwnobrega/komm.git@main
Development
First, clone the repository:
git clone https://github.com/rwnobrega/komm
cd komm
Then, if you haven't already, create and activate a virtual environment as before.
Next, install the development dependencies. For example, using pip:
pip install -e .[lint,test,doc,debug]
Testing
The test suite is written using the pytest framework. To run the tests, execute:
pytest
Documentation
The documentation is built using ProperDocs with the Material for MkDocs theme. To serve the documentation locally, run:
properdocs serve
Changelog
See the CHANGELOG.md.