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
File details
Details for the file serviceit-0.2.0.tar.gz
.
File metadata
- Download URL: serviceit-0.2.0.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.9.4 Linux/5.4.0-1043-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7e257b5d0b9db07aad76750a5462a5bd49c119f35fe825462b831f0428539e0 |
|
MD5 | 6e7931a00160a5b563839c0ffc830895 |
|
BLAKE2b-256 | 9a5b17435d0b3be0af5d92d3eab94b2315a1891323fe3bf93c0b38bea8de36ea |
File details
Details for the file serviceit-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: serviceit-0.2.0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.9.4 Linux/5.4.0-1043-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fadb7050a9ff471a3ef69b462d3bbc0d71c52b976fc69af7041252e14a2986f3 |
|
MD5 | a407718cc8bf7a871285bda923148fa7 |
|
BLAKE2b-256 | c7dd8dc9ef87706dfe4e19c2feb1f38bbb1ecf15073a58e806cb38ba48db37fb |