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.

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, 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]

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.24.0.tar.gz (111.1 kB view details)

Uploaded Source

Built Distribution

komm-0.24.0-py3-none-any.whl (175.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: komm-0.24.0.tar.gz
  • Upload date:
  • Size: 111.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for komm-0.24.0.tar.gz
Algorithm Hash digest
SHA256 bf9067850b7cdbf6de6ceab8797cf9e841913b93f20f21828ea0d7ebc905b1ac
MD5 8eb7fd4952c5c1ad3c0277bd12a4fe81
BLAKE2b-256 1bde17cfbe5b088d0ea41834a130474ffd75ebb8d10721a2bc40bf46748a0a95

See more details on using hashes here.

File details

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

File metadata

  • Download URL: komm-0.24.0-py3-none-any.whl
  • Upload date:
  • Size: 175.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for komm-0.24.0-py3-none-any.whl
Algorithm Hash digest
SHA256 91c2bb50ce7fa49ff4f5a983691393eb63d6273a368dab4955817bff5d28963c
MD5 47012d98c683d5644a331ebb3447c5da
BLAKE2b-256 1411d4cf86c06e41ae9ff277c9394490b6f6d70abf7215ab6e2450925c34f00a

See more details on using hashes here.

Supported by

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