Skip to main content

Python client for Hypernova, https://github.com/airbnb/hypernova

Project description

# hypernova-python [![Build Status](https://travis-ci.org/ornj/hypernova-python.svg?branch=master)](https://travis-ci.org/ornj/hypernova-python)

> A Python client for the Hypernova service

## Getting Started

Install the python client from pypi

```sh
pip install hypernova-python
```

Once you have the client installed and an instance of the Hypernova service running, you can making requests is easy.

### Example

```python
import hypernova

renderer = hypernova.Renderer('http://localhost')
html = renderer.render({'MyComponent.js': {'name': 'Foo'}})
```

## Configuration
You can pass configuration options to `Renderer` at initialization.

* `url`: The address of the Hypernova service is listening, including port if necessary
* `plugins`: A list of plugins to use
* `timeout`: Number of seconds to wait for a response from the Hypernova service
* `headers`: Dictionary of HTTP headers to override the default. You will want to include `'Content-Type': 'application/json'`


## Plugins
You can implement custom events and alter requests through the [Plugin Lifecycle](https://github.com/airbnb/hypernova-node/blob/master/README.md#plugin-lifecycle-api). All lifecycle methods are optional.

### Example

```python
import hypernova
import random

class MyPlugin(object):
def prepare_request(self, current_jobs, original_jobs):
job = current_jobs.get('MyComponent.js')
job.update({'random_int_for_reasons': random.randint(0, 100))
return current_jobs

renderer = hypernova.Renderer('http://localhost', [MyPlugin()])
```

Project details


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
hypernova-0.0.3-py3-none-any.whl (5.9 kB) Copy SHA256 hash SHA256 Wheel py3
hypernova-0.0.3.tar.gz (4.2 kB) Copy SHA256 hash SHA256 Source None

Supported by

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