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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pymodulation-0.4.0.tar.gz | 37.2 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.