Skip to main content

fixposition

Python driver for fixposition gps

NOTE: work-in-progress

Currently these messages are supported: GGA,HDT,ODOMETRY

Functionality overview

  • parser.parse(msg: str, ignore: List[str] = []) -> FPX_Message | None: - parse NMEA message to a NamedTuple
  • record and replay messages with fixposition cli
  • use gps_node.FpxNode class as async node to interface with fixposition device over socket.

Usage

Message parsing:

from fixposition import parser

msg = "$GPHDT,61.7,T*05\r\n"

data = parser.parse(msg)

CLI tool

This package provides a command-line tool fixposition:

Usage: fixposition [OPTIONS] COMMAND [ARGS]...

Options:
--version  Show the version and exit.
--help     Show this message and exit.

Commands:
listen  Listen to messages and print them to stdout
node    Start the gps node
record  Record messages to file
replay  Replay messages from a file or default data if not provided.

How it works

  • message definitions are in fixposition.messages. Each submodule contains a parse() function.
  • @validate_checksum decorator adds nmea checksum to parse function.
  • parser.parse(msg) returns NamedTuple of a message

See .messages code, extending this should be easy.

References

Development

  • develop and test in devcontainer (VSCode)
  • devops are managed with invoke , see tasks.py

Tooling

  • Verisoning : bump2version
  • Linting : pylint
  • Formatting: black
  • Typechecking: mypy
  • scripting: invoke : see tasks.py

What goes where

  • src/fixposition app code. pip install . .
  • tasks.py automates common tasks with invoke

Metadata

Release files for fixposition 0.6.2

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

Source distribution (sdist)

Source distribution for fixposition 0.6.2
File Size Uploaded
fixposition-0.6.2.tar.gz 39.7 kB Details

Built distribution (wheel)

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

Total release size: 54.1 kB

Release files / fixposition-0.6.2.tar.gz

Download URL fixposition-0.6.2.tar.gz
Size 39.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b20586adc6cc3b241a2652442e40bc27ea3b543ef4a34d7bdbf0966368fe43ff
BLAKE2b-256 checksum
How to use checksums
1b92ad60ba00f676544bc04267840a213433f0d4a314b810b405dd76cad4c2aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.12.3

Release files / fixposition-0.6.2-py3-none-any.whl

Download URL fixposition-0.6.2-py3-none-any.whl
Size 14.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6d75207ca46449bae1e152fd0c4e6637f17d6cb3256c61f1bd9e4e88e8105e38
BLAKE2b-256 checksum
How to use checksums
654dddf98f26465a9a44adf06661b7ac25d0f69e07e2ef8a78e5301eb7a18ab8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.6.2 This release

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.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