Skip to main content

An open-source library for Python 3 providing tools for analysis and simulation of analog and digital communication systems.

Project description

Komm

A Python library for communication systems.

PyPI page Code style: black Contributions welcome

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.

Installation

Before you start, make sure you have Python (version 3.10 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,demo]

Testing

The test suite is written using the pytest framework. To run the tests, execute:

pytest

Documentation

The documentation is built using MkDocs with the Material for MkDocs theme. To serve the documentation locally, run:

mkdocs serve

Run demos

There are some demos available in the demo directory. They are written using Streamlit. To run them, execute:

streamlit run demo/index.py

Changelog

See the CHANGELOG.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

komm-0.28.1.tar.gz (123.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

komm-0.28.1-py3-none-any.whl (192.1 kB view details)

Uploaded Python 3

File details

Details for the file komm-0.28.1.tar.gz.

File metadata

  • Download URL: komm-0.28.1.tar.gz
  • Upload date:
  • Size: 123.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for komm-0.28.1.tar.gz
Algorithm Hash digest
SHA256 57da125aa3d7f273c6fdc2a952dc81a7f44d4ff64b0dfdd719865fdae8bd041f
MD5 a77ef255e6171d5dba0be94b6df42af6
BLAKE2b-256 ebc332993906e5c67404bf877f33fe4e8d9d2cbe44a80093a50a5dfffe4c6719

See more details on using hashes here.

File details

Details for the file komm-0.28.1-py3-none-any.whl.

File metadata

  • Download URL: komm-0.28.1-py3-none-any.whl
  • Upload date:
  • Size: 192.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for komm-0.28.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1635933731014bbcbae44c0bb539dc2c4aad5b3a4bbf42edede680fcf8f7b2c1
MD5 e604c2357a9e4f85b5477c80465f7cc8
BLAKE2b-256 d9351505c4c2acb226318566fa8cf8cd767ab7e6829865ecbc1b2d1076081047

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page