# inet
**v0.2.4 has bug so you'll have to clone the head**
A simple library built on top of zeromq to enable different python
programs talk over sockets. It works using three components
*server*, *name service* and *client*. The main feature(or use) of this
library is its persistent name service
### Name Service
Start the inet server on command line
```shell
$ inetserver
```
### Server
The server is a function to respond to requests
```python
from inet.inetclient import InetClient
from inet.server import RoutableServer
# talks with the inet server
proxy = InetClient('tcp://127.0.0.1:3014')
# frontend address is what clients connect to while backend address(unix socket)
# is what workers connect to
server = RoutableServer('testservice', proxy, 'tcp://127.0.0.1:4001',
'ipc:///tmp/inet.testservice.sock')
@server.route('hello/world')
def hello(req, resp):
resp.data['greeting'] = 'World'
return resp
server.setup(localproxy=False)
# spawn default(3) number of workers
server.spawnworkers()
server.loopforever()
```
### Client
```python
from inet.inetclient import InetClient
from inet.client import Client
proxy = InetClient('tcp://127.0.0.1:3014')
client = Client(proxy)
# service name acts as protocol
resp = client.get('testservice://hello/world')
print(resp.meta['status']) # 200
print(resp.data['greeting']) # 'World'
```
*N.B*: Notes that it uses gevent for managing workers
**v0.2.4 has bug so you'll have to clone the head**
A simple library built on top of zeromq to enable different python
programs talk over sockets. It works using three components
*server*, *name service* and *client*. The main feature(or use) of this
library is its persistent name service
### Name Service
Start the inet server on command line
```shell
$ inetserver
```
### Server
The server is a function to respond to requests
```python
from inet.inetclient import InetClient
from inet.server import RoutableServer
# talks with the inet server
proxy = InetClient('tcp://127.0.0.1:3014')
# frontend address is what clients connect to while backend address(unix socket)
# is what workers connect to
server = RoutableServer('testservice', proxy, 'tcp://127.0.0.1:4001',
'ipc:///tmp/inet.testservice.sock')
@server.route('hello/world')
def hello(req, resp):
resp.data['greeting'] = 'World'
return resp
server.setup(localproxy=False)
# spawn default(3) number of workers
server.spawnworkers()
server.loopforever()
```
### Client
```python
from inet.inetclient import InetClient
from inet.client import Client
proxy = InetClient('tcp://127.0.0.1:3014')
client = Client(proxy)
# service name acts as protocol
resp = client.get('testservice://hello/world')
print(resp.meta['status']) # 200
print(resp.data['greeting']) # 'World'
```
*N.B*: Notes that it uses gevent for managing workers
Metadata
Release files for gakp-inet 0.2.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gakp_inet-0.2.9-py3-none-any.whl | Python 3 | none | any | Details |
Release files / gakp_inet-0.2.9-py3-none-any.whl
| Download URL | gakp_inet-0.2.9-py3-none-any.whl |
|---|---|
| Size | 11.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b9821e975620a59cba0ab34abeb6c4b560db35d570e737e1953778a55b5b7e22
|
|
BLAKE2b-256 checksum How to use checksums |
0c9e05bff4143692bf9b24f2a1ab019bfea3fee05cb259e5c957d926602f01c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |