A Python client for the Hypernova service
Install the python client from pypi
pip install hypernova
Once you have the client installed and an instance of the Hypernova service running, you can making requests is easy.
import hypernova
renderer = hypernova.Renderer('http://localhost')
html = renderer.render({'MyComponent.js': {'name': 'Foo'}})
You can pass configuration options to Renderer
at initialization.
url
: The address of the Hypernova service is listening, including port if necessaryplugins
: A list of plugins to usetimeout
: Number of seconds to wait for a response from the Hypernova serviceheaders
: Dictionary of HTTP headers to override the default. You will want to include'Content-Type': 'application/json'
You can implement custom events and alter requests through the Plugin Lifecycle. All lifecycle methods are optional.
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()])
To run tests with pytest:
pip install -e .
pytest test