Skip to main content

A react type module for nice visuals in the console

Project description

PythonReact

Did you ever think: "We need a JS library turned into a python module used for console output in stead of rendering a webpage."? No? Well I did. So here it is.

Installation

This package is on pypi.
Installing can be done via pip

Windows:

pip install pythonreact

Mac/ Linux:

pip3 install pythonreact

Usage

If you are familliar with the JS library react this should be very easy.

Component

Everything is a component.
To create a new component, make a class that inherits from PythonReact.Component

import PythonReact


class MyComponent(PythonReact.Component):
    pass

Hello python react

To show something in the console we will add a render function. This render function should return a list of printable items or other Components.

import PythonReact


class MyComponent(PythonReact.Component):
    def render(self) -> list:
        return [
            "Hello",
            "Python React"
        ]

Let's make an object of that type:

# snip
my_comp = MyComponent()

It will automatically start printing now. And it will render your function.

State

If you have used React you know about state.

To create a state add it to the __init__ of your component. And then simply call the variables in your render function.

import PythonReact


class MyComponent(PythonReact.Component):
    def __init__(self):
        self.state = {
            "name": "Donkere",
        }

        super().__init__()

    def render(self) -> list:
        return [
            f"Hello {self.state['name']}!",
        ]


my_comp = MyComponent()

>>>
Hello Donkere!

Set state

Just as in React there is a set state function.

import PythonReact


class MyComponent(PythonReact.Component):
    def __init__(self):
        self.state = {
            "name": "Donkere",
        }

        super().__init__()

    def render(self) -> list:
        return [
            f"Hello {self.state['name']}!",
        ]


my_comp = MyComponent()
my_comp.set_state({"name": "New Name"})

>>>
Hello Donkere!
# Screen get's cleared
Hello New Name!

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

pythonreact-0.2.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

pythonreact-0.2-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file pythonreact-0.2.tar.gz.

File metadata

  • Download URL: pythonreact-0.2.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.6

File hashes

Hashes for pythonreact-0.2.tar.gz
Algorithm Hash digest
SHA256 c013e79de30039c4df3a3d44e3c12cd0b2637693fd6c676714b1025efedba253
MD5 a223fb300ae281bc808527d5b34a632c
BLAKE2b-256 6d43763b8b72482b311613f50aef50c877247e1aacd26c2c08a246ba447a2dcd

See more details on using hashes here.

File details

Details for the file pythonreact-0.2-py3-none-any.whl.

File metadata

  • Download URL: pythonreact-0.2-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.6

File hashes

Hashes for pythonreact-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7806b7eaa7d7111bb2073635b6071f1bd2faf5e0179dd01619e333a942bbdf38
MD5 30485b85a9886939544341d7e5850dbb
BLAKE2b-256 4ac452020f7043f3c4bea5981497adbd066357353d732a89309ce05291bce83e

See more details on using hashes here.

Supported by

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