Skip to main content

A pythonic adaptation of React JS

Project description

PyReact

The goal of the repo is to introduce a pythonic web application tool similar to ReactJS. As you look through the code or build with PyReact you will notice similarities between the two; this is the point. You should be able to move between the two (PyReact & ReactJS) with ease and without the need to learn an entire new flow.

Release State: Alpha (Do not use for production)

Requirements

  1. Python 3.6+
  2. PyPM (pip install pypm2) - Refer to my repo PyPM for more information

Recommendations

  1. Please look at the PyPM repo. This tool is required to run PyReact and is similar to npm.
  2. If you're unfamiliar with ReactJS, head over to their site and get an overview of what it is.
  3. While PyReact is still in development, it is recommended to use this within a python virtual environment.

Installation

pip install pypm2
git clone https://github.com/ableinc/pyreact
cd pyreact
pypm install
pypm setup

How to run

pypm start

Create your own PyReact app

Note: It is recommended that you install PyReact in a python virtual environment.

  1. Make sure you follow the steps above to install PyReact
  2. Once installed, run pyreact init
  3. cd into your new PyReact app directory
  4. Run pypm install
  5. All done!

File Structure

Notice, /app is unrelated to the PyReact code. It is necessary to develop a PyReact web application, but is not tracked for release under the PyReact repo. Its here for testing purposes.

You will notice the start command in the package.json points to the index.py file in /app. This is normal react convention. If you'd like to build your own PyReact application, please follow the installation instructions above and alter the contents of /app. Do NOT edit within the /public folder, as you could break your project.

Environment Variables

If you'd like your PyReact project to recognize new environment variables please prepend PYREACT_ to your variable names. Note, you will not need to import or install a library to import enviornment variables, PyReact does it under the hood. Just import variables with os.environ.

Examples

Just like this repo, examples and documentation are on-going. For the meantime, refer to the /app folder to see how everything works. Feel free to explore the pyreact code itself, if you notice something, make a PR!

Important Information

  • When you are creating your class views, containing your render function, make sure that self.root(self) is the first line in render. This flow is very important. In future updates this will not be needed.

  • PyReact is both a client-side and server-side application. You have the full flexibility to do one or the other or both. Go to the /examples directory for examples.

Changelog

  1. Append user defined react class to index file to render - Done
  2. Add stylesheet rendering with html - Done
  3. Add or create a python syntax friendly way of generating views with HTML attributes (i.e. not using multiline strings to create view)
  4. Find and replace %PUBLIC_URL% in index.html - Done
  5. When user adds list of HTML elements to html content in render, it will be parsed appropriately - Done
  6. Fix recurssion error generated when setState() is used in either render() or init() - Done
  7. Be able to render multiple stylesheets for multiple pages - Done
  8. Add event listeners - Done
  9. Stop the browser from reopening the PyReact project homepage after every server refresh. - Disabled (Bug)
  10. Add Node dot notation dictionary/Object attribute
  11. When printing in view, display in browser console
  12. Create CLI tool to create PyReact app - Done

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyreact2-0.0.4.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

pyreact2-0.0.4-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

Details for the file pyreact2-0.0.4.tar.gz.

File metadata

  • Download URL: pyreact2-0.0.4.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8

File hashes

Hashes for pyreact2-0.0.4.tar.gz
Algorithm Hash digest
SHA256 34bfc977e0a12a46c471c002ad8ce728634a7725560b1719ddd6c08fdd7b3144
MD5 c1dda39c3d834c619de42b9d1cf83479
BLAKE2b-256 3ae0c97261dd979ea41f0aadd4b6a5253a92623eceae19530b954805f696f75e

See more details on using hashes here.

File details

Details for the file pyreact2-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: pyreact2-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 16.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8

File hashes

Hashes for pyreact2-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b80ac3bbc73e48add80637325e8f06209e643e1854fb0df1e175105c1fc36c83
MD5 38358a5885c39ebc2f759823ce9af88b
BLAKE2b-256 20ed7ec10a256d65e831c15c0c9e607fc7bf8330632223a0ca7cdd1fdb598223

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page