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.

Files for hypernova, version 0.0.3
Filename, size File type Python version Upload date Hashes
Filename, size hypernova-0.0.3-py3-none-any.whl (5.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size hypernova-0.0.3.tar.gz (4.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page