Skip to main content

Octopus Energy Python service utilities

Project description

# xocto - utilities for Python services

This repo houses various shared utilities for Python services at Octopus Energy.

CI status:

[![CircleCI](https://circleci.com/gh/octoenergy/xocto/tree/master.svg?style=svg)](https://circleci.com/gh/octoenergy/xocto/tree/master)

PyPI detail page: https://pypi.python.org/pypi/xocto

## Functionality

### Event publishing

Use `events.publish` to publish application events. These will be logged as JSON
to a logger named "events".

Sample usage:

```python
from xocto import events

events.publish(
event="ACCOUNT.CREATED",
params={
'name': 'Barry Chuckle',
'quote_id': 'xyz123',
},
meta={
'account_id': 'A-12312345'
},
account=account, # optional
request=request, # optional
)
```

### Event timing

Time events using:

```python
from xocto import events

with events.Timer() as t:
# do some things

events.publish(
event="SOMETHING.HAPPENED",
meta={
"duration_in_ms": t.duration_in_ms
}
)
```

## Contributing

Create and activate a virtualenv then:

$ make

Test package with:

$ make test

and:

$ make lint

## Release new version

Release to PyPI by:

1. Bumping the version in `setup.py`

2. Updating `CHANGELOG.md`

3. Committing

$ git commit -am "Bump version to v..."

4. Running:

$ make publish


Project details


Release history Release notifications

This version
History Node

1.3

History Node

1.2

History Node

1.1

History Node

1.0.2

History Node

1.0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
xocto-1.3-py2.py3-none-any.whl (7.4 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Mar 8, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page