A module for powering a nautilus application with a service registry.
Project description
# nautilus-registry
A module to support an "impure" nautilus architecture, taking advantage of a service registry
## Installing
`nautilus_registry` can be installed from pip:
```bash
pip install nautilus_registry
```
## Connecting a service to consul
Currently, `nautilus_registry` only supports consul and does so through a
service mixin:
```python
import nautilus
from nautilus_registry import RegisterMixin
class MyService(RegisterMixin, nautilus.Service):
# ...
```
This mixin registers the service with consul when the service starts and
handles the removal of the service from consul aswell.
## Referring to the registry in an API
Schemas that are executed from services with this mixin can access various utility functions through the context:
```python
class MyObjectType(graphene.ObjectType):
field = Field(...)
@graphene.with_content
@graphene.resolve_only_args
def resolve_field(self, context=None):
# query the api for some data
data = context.service.query_api(...)
```
A module to support an "impure" nautilus architecture, taking advantage of a service registry
## Installing
`nautilus_registry` can be installed from pip:
```bash
pip install nautilus_registry
```
## Connecting a service to consul
Currently, `nautilus_registry` only supports consul and does so through a
service mixin:
```python
import nautilus
from nautilus_registry import RegisterMixin
class MyService(RegisterMixin, nautilus.Service):
# ...
```
This mixin registers the service with consul when the service starts and
handles the removal of the service from consul aswell.
## Referring to the registry in an API
Schemas that are executed from services with this mixin can access various utility functions through the context:
```python
class MyObjectType(graphene.ObjectType):
field = Field(...)
@graphene.with_content
@graphene.resolve_only_args
def resolve_field(self, context=None):
# query the api for some data
data = context.service.query_api(...)
```
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nautilus-registry-0.1.7.tar.gz
.
File metadata
- Download URL: nautilus-registry-0.1.7.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0a63b5ee96f9ca4dc5bce9117ab2bd9764c676ea762f68fcf4135237b51d3aa |
|
MD5 | 1885a5d9eec8b74e6e4c4a11f00d53e1 |
|
BLAKE2b-256 | 33794aef2c47c63eadd4c5d3c8b8e21d32e0d64a2420f28f7d842ff6bc7fe188 |
File details
Details for the file nautilus_registry-0.1.7-py3-none-any.whl
.
File metadata
- Download URL: nautilus_registry-0.1.7-py3-none-any.whl
- Upload date:
- Size: 19.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | afa106e52584f0f3a7f23b2ed38c9f0867fea83e9cc0dd81cdfddde597cddbab |
|
MD5 | 513cba45c454b977242d45ecf155474a |
|
BLAKE2b-256 | 1b9643564e7162f5817d9f3c9fd5ceac6c7e6797186744648b5f8ad4c72bf116 |