Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

arinc424

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

arinc424

A library for ARINC-424, the international standard file format for aircraft navigation data.

  • 0.2.1
  • PyPI
  • Socket score

Maintainers
1

ARINC-424

build

A python library for parsing and decoding ARINC-424, the international standard file format for aircraft navigation data.

Requirements

  • Python >= 3.10

Installation

Install the latest release with:

pip install arinc424

or clone the repository and install the package from local source for an editable local version of the library.

cd /arinc424
python3 -m pip install -e .

Getting Started

Parsing a Record

# parse_example.py

import arinc424

arinc424.parse("SUSAP KSEAK1ASEA     110000119Y N47265700W122182910E019900429250SEA K11800018000CU00Y NAS    SEATTLE-TACOMA INTL           045698808")
foo@bar:~$ python3 parse_example.py

+---------------------------------+----------------------------------+--------------------------------+
| Field                           | Value                              | Decoded                      |
+---------------------------------+----------------------------------+--------------------------------+
| Record Type                     | 'S'                              | Standard                       |
| Customer / Area Code            | 'USA'                            | United States of America       |
| Section Code                    | 'PA'                             | Airport Reference Point        |
| Airport ICAO Identifier         | 'KSEA'                           | KSEA                           |
| ICAO Code                       | 'K1'                             | K1                             |
| ATA/IATA Designator             | 'SEA'                            | SEA                            |
| Continuation Record No          | '1'                              | Primary Record (with Cont.)    |
| Speed Limit Altitude            | '10000'                          | 10000 ft                       |
| Longest Runway                  | '119'                            | 11900 ft                       |
| IFR Capability                  | 'Y'                              | Official                       |
| Longest Runway Surface Code     | ' '                              |                                |
| Airport Reference Pt. Latitude  | 'N47265700'                      | N47265700                      |
| Airport Reference Pt. Longitude | 'W122182910'                     | W122182910                     |
| Magnetic Variation              | 'E0199'                          | 199 E                          |
| Airport Elevation               | '00429'                          | 00429                          |
| Speed Limit                     | '250'                            | 250 knots (IAS)                |
| Recommended Navaid              | 'SEA '                           | SEA                            |
| ICAO Code (2)                   | 'K1'                             | K1                             |
| Transition Altitude             | '18000'                          | 18000 ft                       |
| Transition Level                | '18000'                          | 18000 ft                       |
| Public Military Indicator       | 'C'                              | Public / Civil                 |
| Time Zone                       | 'U00'                            | GMT +8:00                      |
| Daylight Indicator              | 'Y'                              | Yes                            |
| Magnetic/True Indicator         | ' '                              |                                |
| Datum Code                      | 'NAS'                            | NAS                            |
| Airport Name                    | 'SEATTLE-TACOMA INTL           ' | SEATTLE-TACOMA INTL            |
| File Record No                  | '04569'                          | 04569                          |
| Cycle Date                      | '8808'                           | 1988, Release 08               |
+---------------------------------+----------------------------------+--------------------------------+

Parsing a File

This function calls arinc424.parse() for every line of a given file.

path = 'path/to/arinc424_file'
arinc424.read_file(path)

The Record Class

The examples in the Getting Started section utilise the arinc424.parse() function. Under the hood this function is creating a Record object, populating the fields of the record object with data from the provided record, and then calling the decode() function. This can also be done manually.

Reading a Record

import arinc424

record = arinc424.Record()
record.read("SUSAP KSEAK1ASEA     110000119Y N47265700W122182910E019900429250SEA K11800018000CU00Y NAS    SEATTLE-TACOMA INTL           045698808")
record.decode()

Writing a Record to a File

In addition to printing to the console, decode() will return a string which can be written to a file.

f = open("output.txt", "w")

# writes the record as plaintext
f.write(record.decode())

# writes the record in JSON format
f.write(record.json())

Helper Functions


# True if primary record, otherwise False
record.primary()

# True if record is primary record with at least one continuation record to follow, otherwise False
record.hasCont()

#NOTE: both of these functions will return False if the record object has not been initialised with ARINC-424 data

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc