Skip to main content

pymfx

CI PyPI Coverage Docs

Parse, validate, analyse and convert UAV mission data using the open .mfx format — plain text, self-describing, FAIR-compliant, single file per flight.

pip install pymfx

Package

import pymfx

mfx = pymfx.parse("flight.mfx")
pymfx.validate(mfx)
Function Description
parse(src) Parse a .mfx file or string
validate(mfx) Run V01–V21 validation rules
flight_stats(mfx) Duration, distance, alt, speed
fair_score(mfx) FAIR compliance score (F/A/I/R)
detect_anomalies(mfx) Speed spikes, GPS jumps, altitude cliffs
write(mfx, dest) Write with auto SHA-256 checksum

Convert

mfx = pymfx.convert.from_gpx("track.gpx")
pymfx.convert.to_geojson(mfx)
Import Export
GPX 1.1 from_gpx to_gpx
GeoJSON from_geojson to_geojson
CSV from_csv to_csv
DJI / AirData from_dji_csv
KML to_kml

Visualize

import pymfx.viz as viz
viz.flight_profile(mfx)
Function Output
trajectory_map(mfx) Folium map, speed gradient
speed_heatmap(mfx) Folium map, heat overlay
compare_map([...]) Multi-flight overlay
flight_profile(mfx) Alt / speed / heading chart
flight_3d(mfx) 3D trajectory
events_timeline(mfx) Events on flight axis

flight profile

DataFrame

df = mfx.trajectory.to_dataframe(events=mfx.events)

TUI

pymfx flight.mfx --tui

TUI Overview

Key Tab
1 Overview
2 Trajectory
3 Events
4 Statistics + FAIR
5 Anomalies
6 Raw
e Export

TUI Trajectory


CLI

pymfx flight.mfx --validate
Flag Action
--validate Check V01–V21 rules
--info File summary
--stats Flight statistics
--checksum Verify SHA-256
--anomalies Detect anomalies
--diff other.mfx Compare two files
--export fmt -o out Export to gpx/kml/csv/geojson
--import fmt -o out Import from gpx/csv/dji/geojson
--repair -o out Rebuild checksum + index
--tui Open interactive viewer

Format

@mfx 1.0
@encoding UTF-8

[meta]
id         : uuid:f47ac10b-58cc-4372-a567-0e02b2c3d479
drone_id   : drone:DJI-Mini3-SN8273
pilot_id   : pilot:ahmed-jabrane
date_start : 2025-06-15T08:30:00Z
status     : complete
license    : CC-BY-4.0

[trajectory]
frequency_hz : 1.0
@checksum sha256:b1f2bc...
@schema point: {t:float [no_null], lat:float [no_null], lon:float [no_null], alt_m:float32, speed_ms:float32}
data[]:
0.000 | 48.7733 | 2.2858 | 52.1 | 3.2
1.000 | 48.7734 | 2.2859 | 54.3 | 4.1

[index]
bbox      : (2.2858, 48.7733, 2.2901, 48.7751)
anomalies : 0

License

MIT

Metadata

Release files for pymfx 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pymfx 1.0.1
File Size Uploaded
pymfx-1.0.1.tar.gz 551.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pymfx 1.0.1
File Interpreter ABI Platform
pymfx-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 623.4 kB

Release files / pymfx-1.0.1.tar.gz

Download URL pymfx-1.0.1.tar.gz
Size 551.8 kB
Tags Source
SHA-256 checksum
How to use checksums
cbce4342f56193a56c29c4b9050ee5b9bb9f950b7df1ab44c22cd7f55e615bc1
BLAKE2b-256 checksum
How to use checksums
6a4bdc265c21b8990e329ab07edb44e96df0f9f79023be93e3f44b0c48419f64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release files / pymfx-1.0.1-py3-none-any.whl

Download URL pymfx-1.0.1-py3-none-any.whl
Size 71.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
455653407fffdd227475d8353a33109c39c0643c4a67392d4c286791991d709f
BLAKE2b-256 checksum
How to use checksums
6cc2a1d022057dc7b13235720de33b6c2f67a978a04460fc9afcb394699a216d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release 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