Metadata-Version: 2.1
Name: xio
Version: 0.0.5
Summary: simple microframework for microservices rapid prototyping
Home-page: https://github.com/inxio/xio
Author: Ludovic Jacquelin
Author-email: ludovic.jacquelin@gmail.com
License: MIT
Keywords: microframework microservices prototyping
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=3.5.*
Requires-Dist: requests
Requires-Dist: pyyaml
Requires-Dist: pynacl
Requires-Dist: ws4py
Requires-Dist: ethereum ; python_version < "3.0"
Requires-Dist: eth-typing (<2) ; python_version > "3.0"
Requires-Dist: web3 (>4.8) ; python_version > "3.0"
Provides-Extra: server
Requires-Dist: gevent ; extra == 'server'
Requires-Dist: uswgi ; extra == 'server'


### About xio

Xio is a Python micro framework for quickly write simple microservices REST based Web applications and APIs.

Xio is builded on concept of resources, app , node and network

- resources:

    The main concept is that everything is resource, a resource is a feature which match an uri and we can interact wich 

- app:

    An app is a root resource used as container for all resources it contain

- node 

    A node is a app gateway, an app (and so a resource) which provide unique checkpoint for resources delivery
    Nodes could be linked beetween for create network 

- network 

    A network is a container of nodes and define rules for decentralized backbone of resources 


### Requirements

You need Python >= 2.7


### Installation

```
pip install xio
```

### Usage

Basic app creation

```
mkdir myfirstapp
cd myfirstapp
vi app.py
```

Here is an minimalist example of what app.py look like

```
#-*- coding: utf-8 -*--

import xio 

app = xio.app(__name__)

@app.bind('www')
def _(req):
    return 'Hello World'

if __name__=='__main__':

    app.main()
```

start server

```
./app.py run 
```




