Adds a new docs website, built with Gatsby JS, to replace the old Jekyll site. Source code for the new site lives in /www (although markdown and YML data still comes from the legacy /docs folder). Changes to either markdown or website source code can be previewed on Netlify. The react-js bot should automatically add comments to each PR with preview links. (This preview is generated by running the newly-added yarn build:docs command in the root package.json.) The majority of the changes in this PR are contained within the new /www directory. However some minor modifications have been made to existing content in the /docs directory: * Modified frontmatter author block to always be an array * Small markdown formatting tweaks
2.0 KiB
| title | author | |
|---|---|---|
| Use React and JSX in Python Applications |
|
Today we're happy to announce the initial release of PyReact, which makes it easier to use React and JSX in your Python applications. It's designed to provide an API to transform your JSX files into JavaScript, as well as provide access to the latest React source files.
Usage
Transform your JSX files via the provided jsx module:
from react import jsx
# For multiple paths, use the JSXTransformer class.
transformer = jsx.JSXTransformer()
for jsx_path, js_path in my_paths:
transformer.transform(jsx_path, js_path)
# For a single file, you can use a shortcut method.
jsx.transform('path/to/input/file.jsx', 'path/to/output/file.js')
For full paths to React files, use the source module:
from react import source
# path_for raises IOError if the file doesn't exist.
react_js = source.path_for('react.min.js')
Django
PyReact includes a JSX compiler for django-pipeline. Add it to your project's pipeline settings like this:
PIPELINE_COMPILERS = (
'react.utils.pipeline.JSXCompiler',
)
Installation
PyReact is hosted on PyPI, and can be installed with pip:
$ pip install PyReact
Alternatively, add it into your requirements file:
PyReact==0.1.1
Dependencies: PyReact uses PyExecJS to execute the bundled React code, which requires that a JS runtime environment is installed on your machine. We don't explicitly set a dependency on a runtime environment; Mac OS X comes bundled with one. If you're on a different platform, we recommend PyV8.
For the initial release, we've only tested on Python 2.7. Look out for support for Python 3 in the future, and if you see anything that can be improved, we welcome your contributions!