Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

brython

Package Overview
Dependencies
Maintainers
1
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

brython

Python 3 in the browser

  • 3.2.7
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
231
increased by25.54%
Maintainers
1
Weekly downloads
 
Created
Source

Stories in Ready Travis

brython

Brython (Browser Python) is an implementation of Python 3 running in the browser, with an interface to the DOM elements and events.

Here is a simple example of an HTML page running Python:

    <html>

        <head>
            <script type="text/javascript" src="/path/to/brython.js"></script>
        </head>

        <body onload="brython()">

            <script type="text/python">
            from browser import document, alert

            def echo(event):
                alert(document["zone"].value)

            document['mybutton'].bind('click', echo)
            </script>

            <input id="zone"><button id="mybutton">click !</button>

        </body>

    </html>

To use Brython, all there is to do is:

  1. Load the script brython.js.
  2. Run the function brython() on page load, like <body onload=brython()>.
  3. Write Python code inside tags <script type="text/python"> or linking it.

Main features

Brython supports most of the syntax of Python 3, including comprehensions, generators, metaclasses, imports, etc. and many modules of the CPython distribution.

It includes libraries to interact with DOM elements and events, and with existing Javascript libraries such as jQuery, 3D, Highcharts, Raphael etc. It supports lastest specs of HTML5/CSS3, and can use CSS Frameworks like Bootstrap3, LESS, SASS etc.

Getting started

Zero install !

The most simple way to get started, without anything to install, is to use the distribution available online through rawgit. You can either choose the latest stable release, for instance for release 3.2.2 :

<script type="text/javascript"
    src="https://cdn.rawgit.com/brython-dev/brython/3.2.2/www/src/brython.js">
</script>

or the current development version :

<script type="text/javascript" 
    src="https://cdn.rawgit.com/brython-dev/brython/master/www/src/brython.js">
</script>

The previous code will allow you to use raw python code but imports will fail as they are implemented using ajax calls and it will not work using http://rawgit.com/. If you want to test your projects using a standalone javascript file with the available stdlib included (so import would work) you should use:

<script type="text/javascript"
    src="https://cdn.rawgit.com/brython-dev/brython/3.2.2/www/src/brython_dist.js">
</script>

or the current development version :

<script type="text/javascript" 
    src="https://cdn.rawgit.com/brython-dev/brython/master/www/src/brython_dist.js">
</script>

Local install

You can also install the development environment locally, either by cloning the project :

git clone https://github.com/brython-dev/brython.git
cd brython
python server.py

or by loading the latest version of the Brython site mirror from the releases page.

In both cases, start the built-in web server : python server.py. This will point your browser to http://localhost:8000/site: you access a clone of the Brython site with an online editor, a console similar to the CPython interpreter, a gallery with many examples and a comprehensive documentation.

Once you are familiar with the examples, create a new folder "app" at the same level as "site" and create a file "index.html" with the HTML example above. Point the browser to http://localhost:8000/app to see the result.

Test Brython online

If you want to test Brython online you can visit the following:

There is a gallery of examples where you can see simple and advanced examples using vanilla Brython or interacting with other javascript libraries.

Documentation

Documentation is available on the official site. You can read the docs in English, French and Spanish.

The most updated docs usually are the English and French versions so if you want to be up-to-date, please, use these versions.

Curious about how Brython works ?

Community (questions, feedback, issues, new features, ...)

There is a main mailing list in English. Also, you can find mail list in other languages but the activity is very low and it is recommended to use the main one in English.

If you find a bug/issue or do you want to see a new feature in Brython, please, open a new issue.

There's a Brython Community on Google Plus.

IRC: #brython on freenode

Agile Development

Throughput Graph

Thank you

  • BrowserStack for providing an access to their online testing environment.

Keywords

FAQs

Package last updated on 24 Jun 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc