Skip to main content

Embeded Python functions in pyecharts

Project description

https://api.travis-ci.org/pyecharts/pyecharts-javascripthon.svg?branch=master https://codecov.io/gh/pyecharts/pyecharts-javascripthon/branch/master/graph/badge.svg

Introduction

pyecharts-javascripthon helps translate Python functions into javascript ones. It uses javascripthon and dukpy to blend Python codes into javascript runtime. It supports python 2.7, 3.4, 3.5 and 3.6. It works on Linux, MacOS and Windows platforms.

Sample python function:

def renderItem(params, api):
    values = [api.value(0), api.value(1)]
    coord = api.coord(values)
    size = api.size([1, 1], values)
    return {
        "type": 'sector',
        "shape": {
            "cx": params['coordSys']['cx'],
            "startAngle": coord[3] - size[1] / 2
            }
        }

Compiled python functions:

function renderItem(params, api) {
    var coord, size, values;
    values = [api.value(0), api.value(1)];
    coord = api.coord(values);
    size = api.size([1, 1], values);
    return {"type": "sector", "shape": {"cx": params["coordSys"]["cx"], "startAngle": (coord[3] - (size[1] / 2))}};
}

From Python 2.7 to Python 3.4

Internet access is required because it uses javascripthon api as a free service. Down the line, community sponsorship will be required to cover the running cost of the service.

Because the service is still under development, the default api key and api host are subjected to change. When it does happen please declare these environment variables to continue:

for unix alike systems:

export SCRIPTHON_API_ENDPOINT=http://new_ip_address_or_domain_name/translate
export SCRIPTION_API_TOKEN=new_api_key

for windows systems:

set SCRIPTHON_API_ENDPOINT=http://new_ip_address_or_domain_name/translate
set SCRIPTION_API_TOKEN=new_api_key

Python 3.5 - 3.6

No internet access is required.

Usage

1. Only Python 3.5+ code can be transcompiled. If you use python 2.7 or 3.4, you are obliged to use generic Python codes so that python 2.7 and 3.4 interpreter do not complain.

  1. For browsers DOM object, please visit pyecharts_javascripthon.dom.

API (Dummy objects)

The following are the dummy objects and functions to help you bypass python interpreter.

DOM objects

window, Document, Date, Math, JSON, console, screen

from pyecharts_javascripthon.dom import window    # for window object
from pyecharts_javascripthon.dom import Document  # for Document object
from pyecharts_javascripthon.dom import Date      # for Date object
from pyecharts_javascripthon.dom import Math      # for Math module
from pyecharts_javascripthon.dom import JSON      # for JSON module
from pyecharts_javascripthon.dom import screen    # for screen object
from pyecharts_javascripthon.dom import console   # for console object

Global functions

from pyecharts_javascripthon.dom import alert    # provide alert dialog to the user

You are welcome to submit PRs to add more objects and functions.

Credits

javascripthon: Alberto Berti

Dukpy: Alessandro Molina and Sviatoslav Sydorenko

Installation

You can install pyecharts-javascripthon via pip:

$ pip install pyecharts-javascripthon

or clone it and install it:

$ git clone https://github.com/pyecharts/pyecharts-javascripthon.git
$ cd pyecharts-javascripthon
$ python setup.py install

Change log

0.0.6 - 12.05.2018

  1. Update its dependency on javascripthon to 0.10.

0.0.5 - 04.2018

  1. First release

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

pyecharts-javascripthon-0.0.6.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

pyecharts_javascripthon-0.0.6-py2.py3-none-any.whl (9.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pyecharts-javascripthon-0.0.6.tar.gz.

File metadata

File hashes

Hashes for pyecharts-javascripthon-0.0.6.tar.gz
Algorithm Hash digest
SHA256 d5559266d7545089843e055cb10d5779308a6e4e05641b8eea9ce2132e3d47fa
MD5 e5b060836734478db05ba155ca75379b
BLAKE2b-256 f18b7734d7a37cc1c197c686957764f97e897288a1dafdd40a8b6c68345c9c22

See more details on using hashes here.

File details

Details for the file pyecharts_javascripthon-0.0.6-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pyecharts_javascripthon-0.0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5710fe129137c1b8102ece4090e3c3e06c00ae7290ed108e774cb1663313b347
MD5 1ee1fff265131994fd6566d57668bd37
BLAKE2b-256 6f6823644a394341fef4cbcb48a3fa4b2816408a13a1fa3281cf9030b2ac2d67

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