Turn any Python function into a service that receives JSON payloads on some port.
Project description
Service-it
Turn any Python function into a service that receives JSON payloads on some port.
Here's a trivial example:
import serviceit
def receiver(payload):
print(payload)
server = serviceit.server(1533, receiver)
# Now it will receive JSON on 1533. For convenience:
server.client().send(dict(message='hi'))
print(server.bytes_processed)
More complex example: isolate code
You can use this to isolate a component of you code. For example, rdkit can be installed through Conda but not Pip (or Poetry). So, create a service and import it in an Anaconda environment to create a server, and in your pip-installed client code.
In a Conda environment, create a service that listens on port 1533:
import serviceit
def _receiver(payload):
# noinspection PyUnresolvedReferences
from rdkit.Chem.inchi import InchiToInchiKey
inchikey = InchiToInchiKey(payload['inchi'])
print(inchikey)
server = serviceit.server(1533, _receiver)
On your pip-install client side:
import serviceit
client = serviceit.client(1533)
client.send(dict(inchi='InChI=1S/H2O/h1H2'))
New issues and pull requests are welcome. Please refer to the contributing guide. Generated with Tyrannosaurus.
Project details
Release history Release notifications | RSS feed
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
Hashes for serviceit-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6539ff51ee8e0641577dcdd1d2bc26ef01c8ef88f7ecf9bca26017f33ffe903e |
|
MD5 | 69fdd4f2ea39b1dccc860acc999f10d4 |
|
BLAKE2b-256 | c883d3c9380908dd1d4f0fb8b7ab9dca17c781007851e2e6f506881cb7a252a0 |