Skip to main content

Python library and command line tool to get Information about a Radio Frequency

Project description

rf-info

https://img.shields.io/github/v/release/cosmicc/rf_info.svg?include_prereleases https://img.shields.io/pypi/v/rf_info.svg Python 3 https://img.shields.io/github/license/cosmicc/rf_info.svg https://coveralls.io/repos/github/cosmicc/rf_info/badge.svg?branch=master https://img.shields.io/travis/cosmicc/rf_info.svg Documentation Status Updates

Command line & Python library for obtaining details about a radio frequency

Features

Returns information about a radio frequency (US only for now)

  • Band Use

  • Wavelength

  • ITU Band Description

  • ITU Band Abbreviation

  • ITU Band Number

  • IEEE Band Name

  • NATO Band Name

  • Waveguide Band Name

  • Amateur Radio Details (Type, Class, Max Power), - Not yet Implimented

Let me know if there is additional details you would like to see added, or if someone would like to donate some EU/Other band info to add ;-)

Usage

Frequency format examples: 89910000, 23,450,000, 12,634.534, 12_000_000, 344_500.100

Also supports “Radio Display” frequency representation (Dotted notation): 124.125.000, 198.000.050, 1.500.125.000, .015, 000.012.500

Suffix examples: hz, khz, Mhz, Ghz (Case Insensitive)

Command Line:

rf-info <frequency> [<suffix>]

Python:

from rf-info import Frequency

freq = Frequency(‘112.434.000’)

Then:

freq.details()

returns a dictionary:

{‘display’: ‘144.051.000’, ‘hz’: 144051000, ‘khz’: 144051.0, ‘mhz’: 144.051, ‘ghz’: 0.144051, ‘wavelength’: ‘2m’, ‘itu_band’: ‘Very High Frequency’, ‘itu_abbr’: ‘VHF’, ‘itu_num’: 8, ‘ieee_band’: ‘VHF’, ‘ieee_description’: ‘Very High Frequency’, ‘nato_band’: ‘A’, ‘waveguide_band’: None, ‘band_use’: (), ‘amateur_band’: (True, ‘Class’, ‘Use’, ‘General CW and weak signals’)}

or you can get individual items directly:

freq.itu_band

freq.wavelength

Also supports adding and subtracting frequencies. Either a frequency object, int, or string representation of a frequency, returns a new frequency object:

new_freq_object = Frequency(‘000.123.000’) + Frequency(‘7’, ‘khz’) # Adds 7khz to 123khz

new_freq_object = Frequency(‘1’, ‘mhz’) + 7000 # Adds 7khz to 1mhz

new_freq_object = Frequency(‘123,000’) - ‘000.007.000’ # Subtracts 7khz from 123khz

Todo

  • Finish Amateur Radio Details

  • WIFI band details

  • Cellular band details

  • Sattelite band details

  • GMRS, CB, & WIFI Specific Channels

  • Add more reserved frequency details

Credits

Ian Perry (ianperry99@gmail.com)

History

0.1.0 (2020-01-12)

  • First release on PyPI.

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

rf_info-0.5.3.tar.gz (18.1 kB view hashes)

Uploaded Source

Built Distribution

rf_info-0.5.3-py2.py3-none-any.whl (9.1 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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