Skip to main content

A python parser for the FAA NASR

Project description

nasrparse

nasrparse is a parser for the National Airspace System Resources CSV files, released every 28 days by the FAA. It allows pilots, dispatchers, and others interested in flight data to quickly parse the files into Python dictionaries or a SQLite database for use in other programs. For example, the parsed data can then be used as a database for flight planning tools.

If you are interested in seeing the differences between each data cycle, have a look at NASRDiff.

Versions

Version Description Release Date
1.1.0 Added to_str() methods to records. 2025-11-12
1.0.1 __repr()__ Bugfix for enums. 2025-11-06
1.0.0 Initial public release. 2025-11-06

A changelog is available in the CHANGELOG.md with additional detail and guidance.

Installation

Install using pip:

pip install nasrparse

Usage

Usage is relatively straightforward. Setting the path to the files can be somewhat finnicky, as it will only accept relative paths. To keep things simple, place the NASR files in subdirectory of your project directory. Otherwise, if you want to go up several folders into a download folder, it might end up looking like ../../../../Downloads/28DaySubscription_Effective_[date]/CSV_Data/[date]_CSV.

Given the amount of data, parsing can take a moment. If dumping the data to a file, that can also add time. Dumping every airport to JSON can take around 10 seconds, and the result file is about 16MB.

Examples

Start by importing nasrparse, setting the path to the NASR CSV directory, and then parsing the data.

import nasrparse

# Initialize the parser:
from nasrparse import NASR

# Set the relative path to where you have the NASR CSV files:
n = NASR("./data/CSV_DATA/20_MAR_2025_CSV")

# Parse the data in the file:
n.parse()

Exporting Data

Database

Each object has its own to_db() method. This is useful when you would like the data to persist, or query it using standard database methods:

from nasrparse import NASR

n = NASR("./data/CSV_DATA/20_MAR_2025_CSV")
n.parse()
n.to_db("NASR.db")

NASR Objects

The individual NASR objects are exposed in the package and include the FAA descriptions in the code documentation. More detail can also be found in the individual [section] DATA LAYOUT.pdf (e.g. APT DATA LAYOUT.pdf) files included with the CSV files in the same directory.

Code Documentation

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

nasrparse-1.1.0.tar.gz (129.5 kB view details)

Uploaded Source

Built Distribution

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

nasrparse-1.1.0-py3-none-any.whl (222.0 kB view details)

Uploaded Python 3

File details

Details for the file nasrparse-1.1.0.tar.gz.

File metadata

  • Download URL: nasrparse-1.1.0.tar.gz
  • Upload date:
  • Size: 129.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for nasrparse-1.1.0.tar.gz
Algorithm Hash digest
SHA256 7fc6d50cd5bfebcd8a9a70839a6e970946c2e20ca2e7eddd3a7da7bd7d5eeec4
MD5 e9ca759e856ccebbce34b32a8dd02022
BLAKE2b-256 59c8dfc7b028a6189c43d5959f93f7c5cc5ffc131f6e4e14422ae2dbba96c655

See more details on using hashes here.

File details

Details for the file nasrparse-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: nasrparse-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 222.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for nasrparse-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c0341702e06bbeee98fd7b7194f4fd3c1d14df36a82fb6d654ec74ab5090122
MD5 39635ad734e0b084bfb33e4fd306b9f1
BLAKE2b-256 71d765003c19ff0b06b5a38e4be50c9c3caeb6333f0d792095034df0a639380e

See more details on using hashes here.

Supported by

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