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.

Files for rf-info, version 0.5.3
Filename, size File type Python version Upload date Hashes
Filename, size rf_info-0.5.3-py2.py3-none-any.whl (9.1 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size rf_info-0.5.3.tar.gz (18.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page