Skip to main content

Migas Client

A Python package to communicate with a migas server.

About

migas (mee-gahs) is a Python client to facilitate communication with a migas server.

Usage

To start communicating with a migas server, the client must first be setup.

import migas; migas.setup()

By default, migas-py will communicate with the official hosted migas server. However it can easily be configured to communicate with any hosted migas server.

import migas; migas.setup(endpoint='your-endpoint')

setup() will populate the interal configuration, which is done at the process level.

API

migas includes the following functions to communicate with the telemetry server:

migas.add_breadcrumb() {#addbreadcrumb}

Send a breadcrumb with usage information to the server.

Mandatory
  • project - application name
  • project_version - application version
Optional
  • language (auto-detected)
  • language_version (auto-detected)
  • process:
    • status
    • status_desc
    • error_type
    • error_desc
  • context:
    • user_id (auto-generated)
    • session_id
    • user_type
    • platform (auto-detected)
    • container (auto-detected)
    • is_ci (auto-detected)
add_breadcrumb example
>>> add_breadcrumb('nipreps/migas-py', '0.0.1', status='R', status_desc='Finished long step')
{'success': True}

migas.check_project() {#checkproject}

Check a project version against later developments.

Mandatory
  • project
  • project_version
check_project example
>>> check_project('nipreps/migas-py', '0.0.1')
{'success': True, 'flagged': False, 'latest': '0.4.0', 'message': ''}

migas.get_usage() {#getusage}

Check number of uses a project has received from a start date, and optionally an end date. If no end date is specified, the current datetime is used.

get_usage example
>>> get_usage('nipreps/migas-py', '2022-07-01')
{'hits': 7, 'message': '', 'unique': False, 'success': True}

migas.track_exit() {#trackexit}

Register an exit function to send a final ping upon termination of the Python interpretter. Useful when monitoring a process that may preemptively error. The inputs are equivalent to add_breadcrumb()

User Control

migas can controlled by the following environmental variables:

Envvar Description Value Default
MIGAS_OPTOUT Disable telemetry collection Any None
MIGAS_TIMEOUT Seconds to wait for server response Number >= 0 5
MIGAS_LOG_LEVEL Logger level Logging levels WARNING

Configuration

The internal configuration stores the following telemetry information:

  • language and language version
  • operating system
  • run within a container
  • run from continuous integration

Metadata

Release files for migas 0.4.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 migas 0.4.0
File Size Uploaded
migas-0.4.0.tar.gz 21.4 kB Details

Built distribution (wheel)

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

Total release size: 48.5 kB

Release files / migas-0.4.0.tar.gz

Download URL migas-0.4.0.tar.gz
Size 21.4 kB
Tags Source
SHA-256 checksum
How to use checksums
069481021e86fb9a84b9977f2f5adb9c77c5220787065859b9510cf80e7095f5
BLAKE2b-256 checksum
How to use checksums
acd15e44248498037363374c620b1aa394e5dd616e24558b3a36e811903e52ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / migas-0.4.0-py3-none-any.whl

Download URL migas-0.4.0-py3-none-any.whl
Size 27.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
22cefe4f65b4eed0850bb166c9c958701e3c2105476d6ca853b262553d0c150c
BLAKE2b-256 checksum
How to use checksums
9d6a43827cf9d1e70c0c3d916b8d139f2ff07501a8adadd8585e432af0bb7db4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

0.0.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