This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

About Python-TSIP

Python-TSIP is a Python package for parsing and creating TSIP packets. The Trimble Standard Interface Protocol (TSIP) is the binary protocol spoken by the GPS receivers sold by Trimble Navigation Ltd. (

Python-TSIP is available under the “BSD 2-Clause Simplified License”.


Almost the full set of TSIP command and report packets understood by the Copernicus II receiver has been implemented but so far only some of them have been tested against the actual GPS. Implementing a complete set of tests against an actual Copernicus II receiver is currently work in progress. Presumably Trimble Thunderbolt and Thunderbolt-E are also supported as they appear to implement a subset of the commands/reports of the (newer) Copernicus II receiver. I don’t have access to any other Trimble products.

Documentation is way behind and largely reflects an obsolete implementation of this project.

Python-TSIP is automatically tested against the following Python versions.

  • Python 2.6
  • Python 2.7
  • Python 3.3
  • Python 3.4
  • Python 3.5
  • pypy
  • pypy3

The tests currently fail on the following Python versions.

  • Python 3.2 (syntax error in the coverage module, it may work otherwise)
  • Jython (can’t get Tox to work with jython)
Branch Travis-CI Codacy Codecov

The master branch equals the latest release. The develop branch represents the latest development but may not always pass all tests. I use the gitflow plugin to follow this Git branching model.


The following code shows how to receive the current GPS time from the receiver.

  • Command packet 0x21 requests the current GPS time.
  • Report packet 0x41 contains the current GPS time. Its fields are accessible by index.
import tsip
import serial

# Open serial connection to Copernicus II receiver
serial_conn = serial.Serial('/dev/ttyS0', 38400)
gps_conn = tsip.GPS(serial_conn)

# Prepare and send command packet 0x21
command = tsip.Packet(0x21)

while True:      # should implement timeout here!!!
    report =
    if report[0] == 0x41:
        print 'GPS time of week .......: %f' % (report[1])
        print 'Extended GPS week number: %d' % (report[2])
        print 'GPS UTC offset .........: %f' % (report[3])


0.2.0 (03-Dec-2015)

  • Rewritten from scratch.
  • Implements almost complete set of TSIP commands supported by Trimble Copernicus II and Thunderbolt/Thunderbolt-E GPS receivers.

0.1.0 (20-Jun-2015)

  • First release on PyPI.
Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
tsip-0.2.0-py2.py3-none-any.whl (13.7 kB) Copy SHA256 Checksum SHA256 py2.py3 Wheel Dec 3, 2015
tsip-0.2.0.tar.gz (46.3 kB) Copy SHA256 Checksum SHA256 Source Dec 3, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting