Skip to main content

A port of Javascript API to python. Useful for interoperability, porting js code and more...

Project description

esx
JS API in python 3!

PyPI version Downloads Python version Build status Python package

Contains

• js API in python 3

(A downsteam of the domonic js API)

API

from esx.javascript import Math
print(Math.random())

from esx.javascript import Array
myArr=Array(1,2,3)
print(myArr.splice(1))

from esx.javascript import URL
url = URL('https://somesite.com/blog/article-one#some-hash')
print(url.protocol)
print(url.host)
print(url.pathname)
print(url.hash)

# you can use Global class to import all the js methods from the global namespace i.e
# from esx.javascript.esx import Global
# Global.decodeURIComponent(...
# Global.encodeComponent(...
# Global.setInterval(...

# from esx.javascript.esx import Date, String, Number
# etc..

You can use setInterval and clearInterval with params

from esx.javascript import setInterval, clearInterval

x=0

def hi(inc):
    global x
    x = x+inc
    print(x)

test = setInterval(hi, 1000, 2)
import time
time.sleep(5)
clearInterval(test)
print(f"Final value of x:{x}")

Or for a single delayed function call use setTimeout, clearTimeout

from esx.javascript import setTimeout, clearTimeout

timeoutID = setTimeout(hi, 1000)

DOCS

https://esx.readthedocs.io/

notes

currently forking over from domonic.

Join-In

Feel free to contribute if you find it useful.

Email me, message me directly if you like or create a discussion on here.

If there are any methods you want that are missing or not complete yet or you think you can help make it better just update the code and send a pull request.

I'll merge and releaese asap.

run tests

There are tests used during dev. They are useful as code examples and to see what still needs doing.

See Makefile to run all tests:

make test

or to test a single function:

python -m unittest tests.test_esx.TestCase.test_esx_array

or to test a whole module

python -m unittest tests.test_esx

to see coverage

coverage run -m unittest discover tests/
coverage report

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

esx-0.0.4.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

esx-0.0.4-py3-none-any.whl (2.6 kB view details)

Uploaded Python 3

File details

Details for the file esx-0.0.4.tar.gz.

File metadata

  • Download URL: esx-0.0.4.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for esx-0.0.4.tar.gz
Algorithm Hash digest
SHA256 cce766ec90bd9c3f96c8123e9f29ba34fdd31752a1a0fd22dc8a365de0d0e5c7
MD5 9fdee02c261d3f8cc4ceb5a8d0449a99
BLAKE2b-256 83d73cb0e805b871894c990910e3664432a3c4eaa6546e392410e14c78bdf1f3

See more details on using hashes here.

Provenance

File details

Details for the file esx-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: esx-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 2.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for esx-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 32ba8008a705a0d2b347e52f6a58db21cbd4e77a89a262629eb59212ecce4a3a
MD5 abc4bbfcbabc554c8c401f03ec232e45
BLAKE2b-256 947f213c722fe9914d5bfa0bb1d3ccc25ec8b84279f72ff95bc701c887c0c54f

See more details on using hashes here.

Provenance

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