Skip to main content

Brython Framework

Project description

Brython-Radiant

A Brython Framework for Web Apps development.

GitHub top language PyPI - License PyPI PyPI - Status PyPI - Python Version GitHub last commit CodeFactor Grade Documentation Status

Radiant is a Brython framework for the quick development of web apps with pure Python/Brython syntax so there is no need to care about (if you don’t want) HTML, CSS, or Javascript. Run over Tornado servers and include support to Websockets, Python Scripts and MDC.

Instalation

pip install radiant

Usage

Bare minimum

# Radiant modules
from radiant.server import RadiantAPI

# Brython modules
from browser import document, html  # This modules are faked after `radiant` inport

# Main class inheriting RadiantAPI
class BareMinimum(RadiantAPI):

    # Constructor 
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
    
        #-----------------------------------------------------------
        # Brython code (finally)
        document.select_one('body') <= html.H1('Hello World')
        #
        # ...all your brython code
        #-----------------------------------------------------------

# Run server
if __name__ == '__main__':
    BareMinimum()

Extra options

# Radiant modules
from radiant.server import RadiantAPI, RadiantServer  # import RadiantServer for advanced options

from browser import document, html

# Main class inheriting RadiantAPI
class BareMinimum(RadiantAPI):

    def __init__(self, *args, **kwargs):
        """"""
        super().__init__(*args, **kwargs)

        #-----------------------------------------------------------
        # Brython code
        document.select_one('body') <= html.H1('Hello World')
        #
        # ...all your brython code
        #-----------------------------------------------------------
        
if __name__ == '__main__':
    # Advance options
    RadiantServer('BareMinimum',
                  host='localhost',
                  port=5000,
                  brython_version='3.9.1',
                  debug_level=0,
                  )

How to works

This is basically a set of scripts that allows the same file run from Python and Brython, when is running under Python a Tornado server is created and configure the local path for serving static files, and a custom HTML template is configured in runtime to import the same script, this time under Brython, is very simple.

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

radiant-3.3.9.tar.gz (19.0 MB view details)

Uploaded Source

Built Distribution

radiant-3.3.9-py3-none-any.whl (28.9 MB view details)

Uploaded Python 3

File details

Details for the file radiant-3.3.9.tar.gz.

File metadata

  • Download URL: radiant-3.3.9.tar.gz
  • Upload date:
  • Size: 19.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for radiant-3.3.9.tar.gz
Algorithm Hash digest
SHA256 47877a30ae539641a44fcda0a15ce1b8ce8fbd91c2fb1696e374b5e2028122ee
MD5 f3cf3c703fe6a87fea4211ec84c3cce1
BLAKE2b-256 3efc3de919c2e50d852e98cc13e0976fa9f21aba0a1332e2a58c11f137963d75

See more details on using hashes here.

File details

Details for the file radiant-3.3.9-py3-none-any.whl.

File metadata

  • Download URL: radiant-3.3.9-py3-none-any.whl
  • Upload date:
  • Size: 28.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for radiant-3.3.9-py3-none-any.whl
Algorithm Hash digest
SHA256 fb3c860ba5022415fc057a9aab342977c7da3a429f61c2d008d4bdab771204f1
MD5 6884ec589ff1c7f77e85fcb40d7e59bf
BLAKE2b-256 3cb9508e34f0bcb6a8ef74b526f89277163a79b10aff3b564c2546c40f8c5428

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