relask 0.1.0

Creator: railscoderz

Last updated:

Add to Cart

Description:

relask 0.1.0

Relask




A Relay-based web development kit on Flask.

Free software: BSD license
Documentation: https://relask.readthedocs.io.


Features

Fast web development setup with ES6, React and Relay
Batteries included: React Router, Webpack and Babel
Server is powered by Python, Flask and Graphene
JWT integrated, with a working example using Flask-Login



Usage

Install Relask:

pip install git+https://github.com/decentfox/relask

Create a Flask application, for example: http://flask.pocoo.org/docs/quickstart/
Initialize your Flask application with Relask (this requires npm):

FLASK_APP=xxx flask init-relask

Under the root path of your Flask application, create scripts/app.js with something like this:

import React from "react";
import ReactDOM from "react-dom";
import {Route, IndexRoute} from "react-router";
import Relay from "react-relay";
import {Relask, RelayContainer} from "babel-loader!relask";


@RelayContainer
class Hello extends React.Component {
render() {
return (
<div>Hello, {this.props.hello.name}!</div>
);
}

static relay = {
fragments: {
hello: () => Relay.QL`fragment on Hello { name }`
}
};
}

ReactDOM.render((
<Relask>
<Route path="/" component={Hello} queries={{
hello: () => Relay.QL`query { hello }`
}}/>
</Relask>
), document.getElementById('app'));

Initialize the Relask extension with something like this:

import graphene
from flask import Flask
from graphene import relay
from relask import Relask


class Hello(relay.Node):
name = graphene.String()

def resolve_name(self, args, info):
return 'World'

@classmethod
def get_node(cls, id, info):
return Hello(id=id)


class Query(graphene.ObjectType):
node = relay.NodeField()
hello = graphene.Field(Hello)

def resolve_hello(self, args, info):
return Hello.get_node(1, None)


app = Flask(__name__)
relask = Relask(app)
relask.schema.query = Query

See your result with one command - don’t worry about webpack any more:

FLASK_APP=xxx flask run


Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.



History
0.1.0 (2016-06-07)

First release on PyPI.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.