Skip to main content

Surveying instrument automation through GeoCom and other protocols.

Project description

GeoComPy logo


PyPI - Version Python Version GPLv3 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.

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)
  • Command line applications

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.

The command line applications might require additional dependencies, that are not installed by default. The requirements for these can be found in the relevant documentation.

Installation

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

python -m pip install geocompy

The dependencies of the command line applications are not installed by default. To make the CLI apps usable either install the dependencies manually, or install GeoComPy with the apps extra.

python -m pip install geocompy[apps]

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 comm:
    tps = GeoCom(comm)
    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.

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

geocompy-0.7.0.tar.gz (670.2 kB view details)

Uploaded Source

Built Distribution

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

geocompy-0.7.0-py3-none-any.whl (104.4 kB view details)

Uploaded Python 3

File details

Details for the file geocompy-0.7.0.tar.gz.

File metadata

  • Download URL: geocompy-0.7.0.tar.gz
  • Upload date:
  • Size: 670.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for geocompy-0.7.0.tar.gz
Algorithm Hash digest
SHA256 adbfe6c8564731cc5d240d938adba95b5523305f629d538f21b93d657c725456
MD5 669e53def341dcb99bc868bbf2d36cc2
BLAKE2b-256 5f02b623d3d882b80c2adc45bd7131b2ba946961e1f1b6c4be16e62bee190dc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for geocompy-0.7.0.tar.gz:

Publisher: python-publish.yml on MrClock8163/GeoComPy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file geocompy-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: geocompy-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 104.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for geocompy-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ed8b376f55d5da7c7d51df5b121d8ce8e2a5b862718865bf1b75b88cb9be7daf
MD5 f42906a1bb9002f0a07f83c41b85ef6b
BLAKE2b-256 7f14992b19ce7e779dfd28c1a0e34c05cde1dd2dbb721826560731867484d5f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for geocompy-0.7.0-py3-none-any.whl:

Publisher: python-publish.yml on MrClock8163/GeoComPy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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