skillfed

gps3

Python 2.7-3.5 clients for gpsd

gps3 v0.33.3 74.8K downloads/30d#14,792 on PyPI76
Permissive license MIT Abandoned released

What it is and what it does

gps3 is a Python client library for GPSD, the GPS daemon. It provides two main interfaces: one that unpacks GPS data into Python dictionaries (gps3.py), and another that exposes the same data as object attributes (agps3.py). Both connect to a GPSD socket, request data streams, and parse JSON packets into usable position, time, and motion attributes. A third variant, agps3threaded, wraps the attribute interface in a daemon thread so data is continuously available without blocking.

The package is designed for developers building GPS-aware applications on systems running GPSD. It handles the socket protocol and JSON parsing, leaving you to work with latitude, longitude, altitude, speed, and course data. Example scripts and a KML-generation utility are included, though the package itself has not been maintained since 2016 and targets only Python 2.7 and 3.0–3.5.

Use it for:

  • Build a real-time location tracker that polls GPSD and logs coordinates at regular intervals.
  • Create a navigation app that reads GPS speed and course data from a local GPSD daemon.
  • Generate live KML files for Google Earth from a GPS device stream using the gegps3 utility.
  • Integrate GPS data into a threaded application using the pre-threaded AGPS3mechanism class.
  • Parse GPSD JSON output into Python objects for analysis or storage in a location-aware service.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides Python clients to connect to a GPSD daemon and retrieve GPS location data as either dictionaries or object attributes, with optional threading support.

No, unless you are maintaining legacy Python 2.7 or 3.0–3.5 code that already depends on this package. The project is abandoned (last commit 2017), its target Python versions are out of support, and no maintenance or security updates are forthcoming. If you need a modern GPSD client, seek an actively maintained alternative.

Install

gps3 on PyPI

pip

pip install gps3

uv

uv add gps3

poetry

poetry add gps3

Installing gps3

Before you install

Installation is straightforward with no runtime dependencies, but the package is abandoned—last commit was 2017-11-01 and no releases since 2016-09-04. It targets Python 2.7 and 3.0–3.5, versions now well out of support.

License in practice

MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.

Quickstart

from gps3 import gps3
gps_socket = gps3.GPSDSocket()
data_stream = gps3.DataStream()
gps_socket.connect()
gps_socket.watch()
for new_data in gps_socket:
    if new_data:
        data_stream.unpack(new_data)
        print('Latitude = ', data_stream.TPV['lat'])

Requires a running GPSD daemon on localhost:2947 (or another configured host/port) to connect to.

Verify before relying

  • Whether the package works reliably on Python 3.6 and later despite classifiers only listing up to 3.5.
  • Current compatibility with modern GPSD versions and JSON protocol changes since 2017.
  • Whether threading variant (agps3threaded) is stable for production use.

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 3,631 days since the last release
Last repo commit
First released
Downloads 74,803/month — #14,792 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: gps3-0.33.3-py2.py3-none-any.whl

Keywords: gps, gpsd, developers

Development Status :: 4 - BetaEnvironment :: ConsoleEnvironment :: Console :: CursesIntended Audience :: DevelopersIntended Audience :: Other AudienceIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentOperating System :: POSIXProgramming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.0Programming Language :: Python :: 3.1Programming Language :: Python :: 3.2Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: GIS

Tags

gpsd python clientgps data parsinglocation streaming interfacegpsd socket connectiongps coordinates extractionreal-time gps datapython gps daemon
gps-daemonlocation-dataabandoned

More Scientific/Engineering packages