MCPcopy Index your code
hub / github.com/brython-dev/brython

github.com/brython-dev/brython @3.14.3 sqlite

repository ↗ · DeepWiki ↗ · release 3.14.3 ↗
54,560 symbols 215,600 edges 1,503 files 6,866 documented · 13%
README

Stories in Ready Travis CDNJS version

brython

Brython (Browser Python) é uma implementação em Python 3 executada no navegador com interface para os elementos e eventos do DOM.

A seguir, um exemplo simples de uma página HTML utilizando Python:

<html>

    <head>
        <script type="text/javascript" src="https://github.com/brython-dev/brython/raw/3.14.3/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>

Para usar o Brython, tudo o que você precisará fazer é:

  1. Carregar o script brython.js.
  2. Executar a função brython() no carregamento da página, com <body onload=brython()>.
  3. Escrever os códigos em Python entre as tags <script type="text/python">.

Principais características

Brython suporta grande parte da sintaxe de Python 3, incluso compreensões, geradores, metaclasses, importações, dentre outros muitos módulos da distribuição CPython.

Inclui bibliotecas para interagir com elementos e eventos DOM além de algumas das bibliotecas existentes do Javascript tais como, jQuery, D3, Highcharts, Raphael etc.

Suporta as mais recentes especificações de HTML5/CSS3 podendo ser utilizado com frameworks de CSS como Bootstrap3, LESS, SASS etc.

Começando

Zero install !

A maneira mais simles para começar sem instalação é utilizar a distribuição disponível em cdnjs. Você pode escolher a versão estável mais recente em:

<script type="text/javascript"
    src="https://cdnjs.cloudflare.com/ajax/libs/brython/3.7.1/brython.min.js">
</script>

O código acima irá lhe permitir utilizar códigos python diretamente, mas, para importar módulos da biblioteca padrão é necessário carregar um único arquivo javascript com o stdlib disponível:

<script type="text/javascript"
    src="https://cdnjs.cloudflare.com/ajax/libs/brython/3.7.1/brython_stdlib.js">
</script>

Instalação local

Para instalar Brython localmente, caso você tenha uma distribuição CPython, é possível através do pip :

pip install brython

em seguida, crie um novo diretório e execute:

python -m brython --install

Você pode ainda obter a versão mais recente do Brython em formato zip através da nossa página de lançamentos.

Em ambos os casos, a distribuição obtida inclui brython.js (o arquivo central do Brython) e o brython_stdlib.js (um pacote com todos os arquivos na distribuição padrão).

Também inclui a página demo.html, a qual possui alguns exemplos de como interagir com uma página web utilizando Python como linguagem de script: como criar novos elementos, acessar e modificar elementos existentes, criar gráficos, animações, enviar requisições Ajax, etc.

Teste Brython online

Se você deseja testar o Brython online, você pode visitar algum dos sites a seguir:

Galeria de Exemplos

Em galeria de exemplos você encontra exemplos desde simples até a avançados usando Brython além de interações com outras bibliotecas javascript.

Documentação

Documentação disponível no site oficial. Disponível em Inglês, Francês e Espanhol.

As documentações mais atualizadas geralmente são as versões em inglês e francês, então caso você precise da versão mais recente, por favor, utilize uma dessas versões.

Curioso sobre como Brython funciona ?

Veja neste tutorial como contruir uma aplicação Android com Brython.

Comunidade (perguntas, feedback, issues, novas funcionalidades, ...)

Você pode se inscrever e postar em nossa lista de e-mails.

Se você encontrar um bug, possuir dúvidas ou queira conhecer mais sobre uma nova funcionalidade do Brython, por favor abra uma issue.

Se você deseja contribuir para o Brython, por favor, leia o guia de contribuição.

Obrigado

  • Utilize o BrowserStack para obter acesso ao ambiente de testes online.

Core symbols most depended-on inside this repo

range
called by 3146
www/src/libs/_zlib_utils.js
push
called by 2225
www/src/Lib/code.py
str
called by 2067
www/src/Lib/locale.py
assertFalse
called by 1932
www/src/Lib/unittest/case.py
join
called by 1859
www/src/Lib/multiprocessing/pool.py
assertIs
called by 1641
www/src/Lib/unittest/case.py
assertIn
called by 1622
www/src/Lib/unittest/case.py
log
called by 1511
www/src/Lib/logging/__init__.py

Shape

Method 36,458
Function 9,868
Class 8,066
Route 168

Languages

Python91%
TypeScript9%

Modules by API surface

www/src/brython.min.js1,181 symbols
www/src/brython.js1,181 symbols
www/src/Lib/asyncio.py1,028 symbols
www/src/Lib/test/test_socket.py801 symbols
www/src/Lib/test/test_descr.py652 symbols
www/src/gen_parse.js582 symbols
www/src/Lib/test/test_email/test_email.py535 symbols
www/src/Lib/test/test_inspect.py532 symbols
www/src/Lib/test/datetimetester.py510 symbols
www/src/Lib/test/test_io.py504 symbols
www/src/Lib/test/test_argparse.py484 symbols
www/src/Lib/test/test_logging.py440 symbols

Dependencies from manifests, versioned

aiohttp3.13.4 · 1×

For agents

$ claude mcp add brython \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact