Skip to main content

GeoComPy logo


PyPI - Version Python Version MIT Tests status Docs status Typed

GeoComPy is a Python library providing wrapper functions for serial communication protocols of Leica surveying instruments.

The package is mainly built around the GeoCOM ASCII protocol, supported by a number of total stations and other instruments running TPS1000, 1100, 1200 and other firmware. For some older instruments that do not support GeoCOM, the GSI Online command set is used for communication.

[!TIP] Command line applications using GeoComPy are available as a separate complimentary package called Instrumentman.

Main features

  • Pure Python implementation
  • Support for type checkers
  • Primitives for relevant data
  • Command building and parsing through function calls
  • Multiple supported protocols (e.g. GeoCOM, GSI Online)

Requirements

To use the package, Python 3.11 or higher is required.

For the platform independent serial communication, GeoComPy relies on the pySerial package to provide the necessary abstractions.

Installation

The preferred method to install GeoComPy is through PyPI, where both wheel and source distributions are made available.

python -m pip install geocompy

If not yet published changes/fixes are needed, that are only available in source, GeoComPy can also be installed locally from source, without any external tools. Once the repository is cloned to a directory, it can be installed with pip.

git clone https://github.com/MrClock8163/GeoComPy.git
cd GeoComPy
python -m pip install .

Short example

The below example demonstrates how to connect to a GeoCOM capable instrument through a serial connection. Once the connection is up and running, the total station is instructed to turn to horizontal 0, and position the telescope parallel to the ground.

from geocompy import (
    Angle,
    open_serial,
    GeoCom
)


with open_serial("COM1") as com:
    tps = GeoCom(com)
    tps.aut.turn_to(Angle(0), Angle(90, 'deg'))

License

GeoComPy is free and open source software, and it is distributed under the terms of the MIT License.

Metadata

Release files for geocompy 1.0.0

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

Source distribution (sdist)

Source distribution for geocompy 1.0.0
File Size Uploaded
geocompy-1.0.0.tar.gz 1.8 MB Details

Built distribution (wheel)

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

Total release size: 1.9 MB

Release files / geocompy-1.0.0.tar.gz

Download URL geocompy-1.0.0.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
5b16e24c3137309a1a43e0d247beb4c1764aeaeb680ef66db29ce28c7f793c1d
BLAKE2b-256 checksum
How to use checksums
647e35ba36e026aff886f92ed6da32185db0aea1506966c3b1899c8fa2e395db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 18, 2025.

Transparency log

Release files / geocompy-1.0.0-py3-none-any.whl

Download URL geocompy-1.0.0-py3-none-any.whl
Size 99.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b12e572328da21684aa66eba94ab6f752145189dd2664cc4ab64698c6dcdea77
BLAKE2b-256 checksum
How to use checksums
1939c70f323c131b3988b1675800748bf471b97672aa196c5a5152fdd75d9351
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 18, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

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