Skip to main content

A python wrapper for kalibrate-rtl

Project description

Python wrapper for Kalibrate. Maintainability Test Coverage

Returns scan data in structured format.

Example usage:

import kalibrate
scanner = kalibrate.Kal("/usr/local/bin/kal")
# Scan a band
band_results = scanner.scan_band("GSM850", gain=45)
# Scan a channel
channel_results = scanner.scan_channel("232", gain=45)

And what you get for scanning a band:

[{'band': 'GSM-850',
'base_freq': 869200000.0,
'channel': '128',
'channel_detect_threshold': '259970.196875',
'device': '0: Generic RTL2832U OEM',
'final_freq': '869175933',
'gain': '45.0',
'mod_freq': 24067.0,
'modifier': '-',
'power': '299318.41',
'sample_rate': '270833.002142'},
{'band': 'GSM-850',
'base_freq': 890000000.0,
'channel': '232',
'channel_detect_threshold': '259970.196875',
'device': '0: Generic RTL2832U OEM',
'final_freq': '890022169',
'gain': '45.0',
'mod_freq': 22169.0,
'modifier': '+',
'power': '780303.16',
'sample_rate': '270833.002142'}]

Channel scan results:

{'device': '0: Generic RTL2832U OEM',
'channel': '232',
'band': 'GSM-850',
'gain': '45.0',
'sample_rate': '270833.002142',
'frequency': '890MHz',
'average_absolute_error': '-33.445',

Note: Kalibrate’s output for this feature starts numbering with offset 1. This abstraction starts at 0, because that’s how Python numbers things. So you’ll find your measurement for the first offset labeled “offset 1:” in the original output, and in channel_scan[“measurements”][0] in the output of the channel scan. This format is new in version 2 of this library, and is a breaking change from the way v1 presented this information.

v2.1.0 (2018-12-25)


  • Adding build, coverage, and quality badges to README.rst. [Ash Wilson]
  • Python 3.6, 3.7 compatibility. [Ash Wilson]


  • Create config file. [pyup-bot]

v2.0 (2018-10-17)


  • Better-structured format for channel scans. [Ash Wilson]

  • Adding CodeClimate config. [Ash Wilson]

    Removing Python2.6 because this ain’t the antique roadshow.

    Closes #3

  • Add “avg_absolute_error” to scan_channel() output. [Ash Wilson]

v1.1.1 (2017-01-06)

  • Update travis. [ashmastaflash]

Project details

Download files

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

Files for kalibrate, version 2.2.1
Filename, size File type Python version Upload date Hashes
Filename, size kalibrate-2.2.1.tar.gz (5.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page