Skip to main content

Compiled python generated from the Cloud Foundry Dropsonde Protobuf definition files

Project description

# Cloud Foundry Dropsonde Protocol for Python

Compiled python generated from the Cloud Foundry Dropsonde Protobuf definition files.

The [Dropsonde Protocol](https://github.com/cloudfoundry/dropsonde-protocol) is defined here, and this repo provides “protoc” compiled Python and Python3 modules.

## Example

The Standard protobuf files are referenced as follows.

`python from dropsonde.pb import envelope_pb2 from dropsonde.pb import error_pb2 from dropsonde.pb import http_pb2 from dropsonde.pb import log_pb2 from dropsonde.pb import metric_pb2 from dropsonde.pb import uuid_pb2 `

The UUID protobuf type is rather cryptic, so a utility function is included for parsing the type into a UUID formatted string.

`python >>> from dropsonde.util import get_uuid_string >>> application_guid = { ... 'low': '12413561682238894606', ... 'high': '3611542221973970511' ... } >>> application_guid = get_uuid_string(**application_guid) >>> print(application_guid) 0ef23f83-94d4-45ac-e455-014268ec2103 >>> `

## Development

The Makefile provides all core development tasks.

### Install environment

make install

This will

1. clone the Dropsonde protobuf repo 1. install dependencies for python2 1. install dependencies for python3

### Refactor and compile the protobuf files

make compile

This will

1. create a copy of the protobuf source files 1. refactor the “import” directives in the source files to match the required python package structure 1. run “protoc” on the refactored source files and output the generated Python code into the “dropsonde.pb” python package tree.

### Test

make test

This will

1. run the tests to ensure that imports work 1. ensure that the UUID conversion tool works

### Clean

make clean

This will

1. remove all the refactored protobuf files 1. remove the virtualenv environments for python2 and python3

### Package

make package

This will only package the compiled python files using setup.py

### Build

make build

This will

1. run the “clone” task 1. run the “compile” task 1. run the “test” task 1. run the “package” task

### Deploy

make deploy

This will

1. run the “clean” task 1. run the “clone” task 1. run the “compile” task 1. run the “test” task 1. run the python setup.py sdist upload to deploy to PyPI.

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

dropsonde-0.0.5.tar.gz (12.4 kB view details)

Uploaded Source

File details

Details for the file dropsonde-0.0.5.tar.gz.

File metadata

  • Download URL: dropsonde-0.0.5.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for dropsonde-0.0.5.tar.gz
Algorithm Hash digest
SHA256 829f0f963559eb73dc09a36623a59623adaf7e198d2c468a502c42bc5009192e
MD5 86d14e5d5b1a8068d0bdfa27e009cb25
BLAKE2b-256 569e3e657c4e640bdf91d44c5d037e05cddff2730f4fd62ac542c9b66fffcca7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page