# hypernova-python [](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()])
```
> 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()])
```
Metadata
Release files for hypernova 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hypernova-0.0.3.tar.gz | 4.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hypernova-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.1 kB
Release files / hypernova-0.0.3.tar.gz
| Download URL | hypernova-0.0.3.tar.gz |
|---|---|
| Size | 4.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5b721777f86e7bc664a600b9460b1d233635ce3c0dc05bcc7391f8db26aba2d4
|
|
BLAKE2b-256 checksum How to use checksums |
6a81be84db5e4d98594cf20a45f65ce4e8561d3fee5674f707533f1f825cdc06
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / hypernova-0.0.3-py3-none-any.whl
| Download URL | hypernova-0.0.3-py3-none-any.whl |
|---|---|
| Size | 5.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ae20189fbd5f51512ad819cf8c43a99fdb89a2e0fbdec96bfcce8e1ed2f069b
|
|
BLAKE2b-256 checksum How to use checksums |
6004ff8d11aae149e63707c8fec436e299ff758d691d65469f3ee5438017ee49
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |