A Python library for communication systems.
Welcome to Komm!
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.
For library reference, please check the project's website.
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.
Before you start, make sure you have Python (version 3.10 or later) installed.
pip install komm
pip install git+https://github.com/rwnobrega/komm.git@main
First, clone the repository:
git clone https://github.com/rwnobrega/komm
cd komm
Then, create and activate a virtual environment. For example, using venv
:
python3 -m venv .venv
source .venv/bin/activate
Next, install the development dependencies. For example, using pip
:
pip install -e .[lint,test,doc,debug,demo]
The test suite is written using the pytest framework. To run the tests, execute:
pytest
The documentation is built using MkDocs with the Material for MkDocs theme. To serve the documentation locally, run:
mkdocs serve
There are some demos available in the demo
directory. They are written using Streamlit. To run them, execute:
streamlit run demo/index.py
See the CHANGELOG.md.