Skip to main content

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

  • Free software: MIT license

  • Documentation: https://rf-info.readthedocs.io.

  • Python 3.5, 3.6, 3.7, 3.8 & pypy3 tested

  • Linux & Windows with color & interactive terminal support

Features

Returns information about a radio frequency.

  • “Radio Display” format (Dotted notaton)

  • hz, khz, Mhz and Ghz representations of the frequency

  • Frequency Wavelength

  • ITU Band Description

  • ITU Band Abbreviation

  • ITU Band Number

  • ISM Band Type & Description

  • IEEE Band Name

  • NATO Band Name

  • Waveguide Band Name

  • Microwave Band Name & Description

  • Fixed Station & Mobile Station Designations

  • IEEE Primary Band Allocations

  • IEEE Secondary Band Allocations

  • Detailed IEEE footnotes for each band allocation

  • All active & upcomming satellite frequencys & details (406 Satellites as of 1/18/20)

  • Amateur Radio Modes, License Class, Max Power (US Only)

  • Broadcasting Band Number & Details (US Only)

  • WIFI Frequency Details (US Only)

  • Other Services CB, GMRS, Aircraft Band, Etc (US Only)

Currently supported band allocations for countries: United States (US), Canada (CA), Brazil (BR), Spain (ES), United Kingdom (GB), Russian Federation (RU), Ukraine (UA), Japan (JP), India (IN), Korea, Republic of (KR), Thailand (TH), Switzerland (CH), Chile (CL), Denmark (DK), Finland (FI), France (FR), Hungary (HU), Indonesia (ID), Iceland (IS), Italy (IT), Mexico (MX), Netherlands (NL), New Zealand (NZ), Norway (NO), Poland (PL), South Africa (ZA), Sweden (SE), Venezuela (VE), Australia (AU), Slovenia (SI), Ireland (IE), Belgium (BE), Austria (AT), Argentina (AR), Israel (IL), Romania (RO), China (CN), Uruguay (UY), Greece (GR), Panama (PA), Peru (PE)

I can easily add support for more countries upon request

Command line supports color, raw parsable, and json output

Includes man pages and texinfo documentation

Install

$ pip3 install rf-info

Command Line Usage

$ rf-info <frequency> [<units>] [<country>]

Frequency format examples:

$ rf-info 89910000
$ rf-info 23,450,000
$ rf-info 12,634.534
$ rf-info 12_000_000
$ rf-info 344_500.100

Also supports “Radio Display” frequency representation (Dotted notation):

$ rf-info 124.125.000
$ rf-info 1.500.125.000
$ rf-info 000.012.500

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

$ rf-info 123.100 mhz
$ rf-info 4.5 ghz

Country examples (2 digit abbriviation, 3 digit abbriviation, 3 digit number, or full name) US, USA, 040, JPN, Spain (Case Insensitive):

$ rf-info 144.400.000 hz US
$ rf-info 88 mhz JPN

Python Library Usage

>>> from rf_info import Frequency
>>> freq = Frequency('112.434.000')
>>> freq.details()

Returns a dictionary:

>>> {'display': '144.100.000', 'hz': 144100000, 'khz': 144100.0, 'mhz': 144.1, 'ghz': 0.1441, '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, 'country_abbr': 'US', 'country_name': 'United States of America', 'amateur': True, 'fixed_station': False, 'mobile_station': False, 'broadcast': False, 'primary_allocation': ['Amateur', 'Amateur-Satellite'], 'secondary_allocation': [], 'allocation_notes': ['[5.216]: Additional allocation: in China, the band 144-146 MHz is also allocated to the aeronautical mobile (OR) service on a secondary basis.']}

Or you can get individual items directly:

>>> freq.itu_band
>>> freq.wavelength
>>> freq.primary_allocation

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('001.123.000') + Frequency('7', 'khz')  # Adds 7 khz to 1.123 mhz
>>> new_freq_object = Frequency('1', 'mhz') + 15000  # Adds 15 khz to 1 mhz
>>> new_freq_object = Frequency('123,000') - '000.007.000'  # Subtracts 7 khz from 123 khz

Output Example

$ rf-info 144.100.000 hz US

Display: 145.825.000
Hz: 145825000
Khz: 145825.0
Mhz: 145.825
Ghz: 0.145825
Wavelength: 2m
ITU Band: Very High Frequency
ITU Abbr: VHF
ITU Num: 8
IEEE Band: VHF
IEEE Description: Very High Frequency
NATO Band: A
Microwave Details: ()
Country Abbr: JP
Country Name: Japan
Fixed Station: False
Mobile Station: False
Broadcasting: False
Sattelite: True
Satellite Details:
    Name: USNAP1 (BRICSAT2 NO-103)
    Sat-Id: 44355
    Link: Downlink
    Modes: 1k2/9k6* FSK
    Callsign: USNAP1-1
    Status: Active
Amateur: True
Primary Allocation:
    Amateur
    Amateur-Satellite
Allocation Notes:
    [5.216]: Additional allocation: in China, the band 144-146 MHz is also allocated to the aeronautical mobile (OR) service on a secondary basis.

Todo

  • Add interactive terminal mode

Credits

M. Ian Perry (ianperry99@gmail.com) AD8DL

History

0.7.1b (2020-01-23)

  • First Stable Pre-release

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.7.2.tar.gz (247.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rf_info-0.7.2-py2.py3-none-any.whl (237.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file rf_info-0.7.2.tar.gz.

File metadata

  • Download URL: rf_info-0.7.2.tar.gz
  • Upload date:
  • Size: 247.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

File hashes

Hashes for rf_info-0.7.2.tar.gz
Algorithm Hash digest
SHA256 1d7c1b03ee6e83b6afdbb6d158a74a224fd6eb4ee5a4d0d1f2e782f6917fbb4e
MD5 4cf79e3668077eebcfd0b034fb22a28d
BLAKE2b-256 b1f9eb67c02815f955965fb0ff1a7adec754290ff75d844af06f06d419f803e0

See more details on using hashes here.

File details

Details for the file rf_info-0.7.2-py2.py3-none-any.whl.

File metadata

  • Download URL: rf_info-0.7.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 237.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

File hashes

Hashes for rf_info-0.7.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ea74111af7e3bf24540481f725178631948492fa8d0fbd37bc326591e2c55849
MD5 9d224c4b45f9961bf2340901b73bf698
BLAKE2b-256 ef0b16d415e2329be6e70728dc0f47cf1f18f6adb51ebf2de9c681f6b1267898

See more details on using hashes here.

Release history Release notifications | RSS feed

0.9.2

2 files

0.8.0

2 files

This release

0.7.2 This release

2 files

0.6.3

2 files

0.5.3

2 files

0.4.5

2 files

0.4.3

2 files

0.3.0

2 files

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