Skip to main content

Gantner Instruments Highspeedport (HSP) Communication with Python

Project description

Gantner Instruments GInsapy

Description: Package - GInsapy

Basic GinsData functionalities are implemented in different Python modules and classes. All the interface scripts with examples and documentation is delivered in an interface package called GInsapy.


NOTE

Do not use in Gi.cloud!

This Package only works if you have LAN connection to a Q.station, Q.core or if you have a local GI.bench installation.


highspeedport: All functions wrapped around "eGateHighSpeedPort" allow for Network communication with Q.station devices.

postprocessbuffer_manager, postprocessbuffer_client: All Functions wrapped around "eGateHighSpeedPort_PostProcessBufferServer" allow to handle buffers in a local GI.bench, but no communication via Network.


NOTE

The latest implementation functions of dll that this library uses is documented with the headerfile eGateHighSpeedPort.c located at

C:\Users\Public\Documents\Gantner Instruments\GI.bench\api\c++\include\GInsData


Python

With the programming language Python it is possible to use C-style APIs of DLLs. This offers the possibility to implement the C-style API (eGateHighSpeedPort API) of the Gantner Instruments GInsData Library to read buffered data into a program.

The latest releases of Python can be downloaded here: www.python.org

The GInsData library is available as 32/64-bit DLL (giutility.dll) and installed with your GI.bench installation or Q.core.


This package is tested with Python 3.10

and supports Python 3.10–3.14.

It should work with these Python versions, but dependency compatibility is only ensured for the tested environment.


Quickstart guide

Building the wheel and installing the packages

There is a script that automatically does everything: (The -r flag can be added, to install all packages required to run the examples)

python startup.py

or you do it manually by creating your own virtual environment:

Creating a virtual environment

To create a virtual environment the following command needs to be run:

python -m venv venv

After the creation, the virtual environment needs to be activated using:

`.\\venv\\Scripts\\activate`

or on Linux/Max:

source venv/bin/activate

Running the examples

The execution path needs to contain the giutility.dll file. With the default GI.bench installation, that path will be

C:\Users\Public\Documents\Gantner Instruments\GI.bench\api\bin\windows\x64\

Now every example can be run using

python C:\\your\\path\\to\\project\\ginsapy\\src\\any_example.py

Use -h or --help to get more information about default and additional arguments:

python C:\\your\\path\\to\\project\\ginsapy\\src\\any_example.py -h

NOTE

Only functions that can have an IP-Address as an argument can be used for Network communication.


Development

Used as submodule in

  • gi-sphinx

Pylint

This module uses pylint to ensure that the code follows conventions.

source directory

Includes examples and libraries

doc directory

Inlcudes Sphinx docu. To generate the html code, run

.\\doc\\make.bat html

Generate loose requirements

Do this in a bash shell using the lowest version you want to support!

Install uv to easily install all needed python versions (coss-platform)

pip install uv
python -m pip install -U pip tox
python -m pip install pip-tools
python -m pip install pipreqs

To ensure we support multiple python versions we don't want to pin every dependency. Instead we pin everything on the lowest version (that we support) and make it loose for every version above.

from root package dir (/ginsapy)

./gen-requirements.sh

Ensure python-package version compatibility

uv python install 3.10 3.11 3.12 3.13 3.14

Now run for all envs

tox

of for a specific version only -> look what you defined in pyproject.toml

tox -e py310

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

ginsapy-0.4.0.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

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

ginsapy-0.4.0-py3-none-any.whl (535.2 kB view details)

Uploaded Python 3

File details

Details for the file ginsapy-0.4.0.tar.gz.

File metadata

  • Download URL: ginsapy-0.4.0.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ginsapy-0.4.0.tar.gz
Algorithm Hash digest
SHA256 f82e2599607f8ce3b0a96e7c2a529ea1d230f186f3db56def0afe0030d1da420
MD5 5952117bad530e1ec1b4eb18e5cd3e9b
BLAKE2b-256 f6b55f8965a27109ef6d93e872c7534c945eb771097e72556f9d2970f894518a

See more details on using hashes here.

File details

Details for the file ginsapy-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: ginsapy-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 535.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ginsapy-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3c0fec1f79a3acfd9c6dccaa4ed25aae0c90f0d4f36cac5f0ce032c892ef484e
MD5 63cc69a6f1839a4eee462a605d1eaefb
BLAKE2b-256 c4abc8af969f3a3945c84fa61f891a08c5237cc1fa783ccb7ac443301b8737ea

See more details on using hashes here.

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