Skip to main content

PyModulation

Overview

PyModulation is a Python library that implements a collection of digital modulation and demodulation techniques with a strong focus on Software-Defined Radio (SDR) applications. The library is designed to provide a simple, consistent, and extensible interface for working with different modulation schemes, enabling rapid development, testing, and prototyping of wireless communication systems.

The main objective of PyModulation is to allow the direct use of supported modulation techniques with SDR hardware, while remaining flexible enough to be used in simulations, offline signal processing, and educational contexts. By abstracting common modulation tasks, the library helps users focus on system design and experimentation rather than low-level signal handling.

PyModulation is suitable for a wide range of applications, including SDR-based transmitters and receivers, communication protocol prototyping, academic research, and teaching digital communications concepts. Its modular architecture makes it easy to extend with new modulation schemes and integrate with existing Python-based SDR and signal-processing toolchains.

The following modulations are currently supported:

  • GFSK/GMSK
  • BPSK
  • ASK/OOK
  • QPSK/OQPSK
  • LoRa
  • QAM
  • APSK

Dependencies

Installing

This library can be installed directly from the source files:

  • python setup.py install

Documentation

The documentation page is available here. Instructions to build the documentation page are described below.

Contributing instructions are also available here.

Dependencies

Building the Documentation

The documentation pages can be built with Sphinx by running the following command inside the docs folder:

  • make html

Citing

If you use PyModulation in your academic work or project, you can cite it:

@misc{marcelino2026,
    author       = {Marcelino, Gabriel Mariano and Freitas, Carlos Augusto Porto},
    title        = {PyModulation},
    month        = oct,
    year         = 2026,
    howpublished = {Zenodo},
    doi          = {10.5281/zenodo.18202697},
    url          = {https://doi.org/10.5281/zenodo.18202697},
}

License

This project is licensed under LGPLv3 license.

Metadata

Release files for pymodulation 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pymodulation 0.4.0
File Size Uploaded Provenance
pymodulation-0.4.0.tar.gz 37.2 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pymodulation 0.4.0
File Interpreter ABI Platform
pymodulation-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 96.0 kB

Release files / pymodulation-0.4.0.tar.gz

Download URL pymodulation-0.4.0.tar.gz
Size 37.2 kB
Tags Source
SHA-256 checksum
How to use checksums
affeff5c9970a31dfa6a5c311040e2da0b47abd9020a4a0bca768879db6031b6
BLAKE2b-256 checksum
How to use checksums
3ea31203ee9389612dab9ff538ae3ebeebe4d1e4402a6d485dcf3356283e832d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Release files / pymodulation-0.4.0-py3-none-any.whl

Download URL pymodulation-0.4.0-py3-none-any.whl
Size 58.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
669d01ebfeea9866b0d71b53d8f466965790fca1aea5557479a18d809a0a4b94
BLAKE2b-256 checksum
How to use checksums
3135b5e04cf91393ec05ae3ae5ca161c928d4a0f0a9a864457d88971df1ec5f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Security for pymodulation 0.4.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pymodulation-0.4.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page