Skip to main content

Simple JavaScript interpreter for Python

Project description

https://img.shields.io/travis/amol-/dukpy/master.svg?label=Linux%20build%20%40%20Travis%20CI https://img.shields.io/appveyor/ci/amol-/dukpy/master.svg?label=Windows%20build%20%40%20Appveyor https://coveralls.io/repos/amol-/dukpy/badge.png?branch=master https://img.shields.io/pypi/v/dukpy.svg

DukPy is a simple javascript interpreter for Python built on top of duktape engine without any external dependency. It comes with a bunch of common transpilers built-in for convenience:

  • CoffeeScript

  • BabelJS

  • TypeScript

  • JSX

  • LESS

CoffeeScript Compiler

Using the coffeescript compiler is as easy as running:

>>> import dukpy
>>> dukpy.coffee_compile('''
...     fill = (container, liquid = "coffee") ->
...         "Filling the #{container} with #{liquid}..."
... ''')
'(function() {\n  var fill;\n\n  fill = function*(container, liquid) {\n    if (liquid == null) {\n      liquid = "coffee";\n    }\n    return "Filling the " + container + " with " + liquid + "...";\n  };\n\n}).call(this);\n'

TypeScript Transpiler

The TypeScript compiler can be used through the dukpy.typescript_compile function:

>>> import dukpy
>>> dukpy.typescript_compile('''
... class Greeter {
...     constructor(public greeting: string) { }
...     greet() {
...         return "<h1>" + this.greeting + "</h1>";
...     }
... };
...
... var greeter = new Greeter("Hello, world!");
... ''')
'var Greeter = (function () {\n    function Greeter(greeting) {\n        this.greeting = greeting;\n    }\n    Greeter.prototype.greet = function () {\n        return "<h1>" + this.greeting + "</h1>";\n    };\n    return Greeter;\n})();\n;\nvar greeter = new Greeter("Hello, world!");\n'

Currently the compiler has built-in options and doesn’t accept additional ones,

The DukPY based TypeScript compiler also provides a WebAssets ( http://webassets.readthedocs.org/en/latest/ ) filter to automatically compile TypeScript code in your assets pipeline. You register this filter as typescript within WebAssets using:

from webassets.filter import register_filter
from dukpy.webassets import TypeScript

register_filter(TypeScript)

Which makes the filter available with the typescript name.

NOTE: When using the TypeScript compiler for code that needs to run in the browser, make sure to add https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.24/system.js dependency. As import statements are resolved using SystemJS.

EcmaScript6 BabelJS Transpiler

To compile ES6 code to ES5 for everyday usage you can use dukpy.babel_compile:

>>> import dukpy
>>> dukpy.babel_compile('''
... class Point {
...     constructor(x, y) {
...             this.x = x;
...         this.y = y;
...         }
...         toString() {
...             return '(' + this.x + ', ' + this.y + ')';
...         }
... }
... ''')
'"use strict";\n\nvar _prototypeProperties = function (child, staticProps, instanceProps) { if (staticProps) Object.defineProperties(child, staticProps); if (instanceProps) Object.defineProperties(child.prototype, instanceProps); };\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } };\n\nvar Point = (function () {\n    function Point(x, y) {\n        _classCallCheck(this, Point);\n\n        this.x = x;\n        this.y = y;\n    }\n\n    _prototypeProperties(Point, null, {\n        toString: {\n            value: function toString() {\n                return "(" + this.x + ", " + this.y + ")";\n            },\n            writable: true,\n            configurable: true\n        }\n    });\n\n    return Point;\n})();\n'

You can pass options to the BabelJS compiler just as keywords on the call to babel_compile().

The DukPY based BabelJS compiler also provides a WebAssets ( http://webassets.readthedocs.org/en/latest/ ) filter to automatically compile ES6 code in your assets pipeline. You register this filter as babeljs within WebAssets using:

from webassets.filter import register_filter
from dukpy.webassets import BabelJS

register_filter(BabelJS)

Which makes the filter available with the babeljs name. Only supported filter option is currently BABEL_MODULES_LOADER with value systemjs or umd to specify that compiled code should use SystemJS or UMD instead of CommonJS for modules.

NOTE: When using the BabelJS compiler for code that needs to run in the browser, make sure to add https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/6.26.0/polyfill.min.js dependency.

JSX to React Transpiling

DukPy provides a built-in compiler from JSX to React, this is available as dukpy.jsx_compile:

>>> import dukpy
>>> dukpy.jsx_compile('var react_hello = <h1>Hello, world!</h1>;')
u'"use strict";\n\nvar react_hello = React.createElement(\n  "h1",\n  null,\n  "Hello, world!"\n);'

The DukPY based JSX compiler also provides a WebAssets ( http://webassets.readthedocs.org/en/latest/ ) filter to automatically compile JSX+ES6 code in your assets pipeline. You register this filter as babeljsx within WebAssets using:

from webassets.filter import register_filter
from dukpy.webassets import BabelJSX

register_filter(BabelJSX)

Which makes the filter available with the babeljsx name. This filter supports the same options as the babel one.

Less Transpiling

DukPy provides a built-in distribution of the less compiler available through dukpy.less_compile:

>>> import dukpy
>>> dukpy.less_compile('.class { width: (1 + 1) }')
'.class {\n  width: 2;\n}\n'

The DukPY based LESS compiler also provides a WebAssets ( http://webassets.readthedocs.org/en/latest/ ) filter to automatically compile LESS code in your assets pipeline. You register this filter as lessc within WebAssets using:

from webassets.filter import register_filter
from dukpy.webassets import CompileLess

register_filter(CompileLess)

Which makes the filter available with the lessc name.

Using the JavaScript Interpreter

Using dukpy is as simple as calling the dukpy.evaljs function with the javascript code:

>>> import dukpy
>>> dukpy.evaljs("var o = {'value': 5}; o['value'] += 3; o")
{'value': 8}

The evaljs function executes the javascript and returns the resulting value as far as it is possible to encode it in JSON.

If execution fails a dukpy.JSRuntimeError exception is raised with the failure reason.

Passing Arguments

Any argument passed to evaljs is available in JavaScript inside the dukpy object in javascript. It must be possible to encode the arguments using JSON for them to be available in Javascript:

>>> import dukpy
>>>
>>> def sum3(value):
...     return dukpy.evaljs("dukpy['value'] + 3", value=value)
...
>>> sum3(7)
10

Running Multiple Scripts

The evaljs function supports providing multiple source codes to be executed in the same context.

Multiple script can be passed in a list or tuple:

>>> import dukpy
>>> dukpy.evaljs(["var o = {'value': 5}",
...               "o['value'] += 3",
...               "o"])
{'value': 8}

This is useful when your code requires dependencies to work, as you can load the dependency and then your code.

This is actually how the coffeescript compiler is implemented by DukPy itself:

def coffee_compile(source):
    with open(COFFEE_COMPILER, 'r') as coffeescript_js:
        return evaljs((coffeescript_js.read(), 'CoffeeScript.compile(dukpy.coffeecode)'),
                      coffeecode=source)

Using a persistent JavaScript Interpreter

The evaljs function creates a new interpreter on each call, this is usually convenient and avoid errors due to dirt global variables or unexpected execution status.

In some cases you might want to run code that has a slow bootstrap, so it’s convenient to reuse the same interpreter between two different calls so that the bootstrap cost has already been paid during the first execution.

This can be achieved by using the dukpy.JSInterpreter object.

Creating a dukpy.JSInterpreter permits to evaluate code inside that interpreter and multiple eval calls will share the same interpreter and global status:

>>> import dukpy
>>> interpreter = dukpy.JSInterpreter()
>>> interpreter.evaljs("var o = {'value': 5}; o")
{u'value': 5}
>>> interpreter.evaljs("o.value += 1; o")
{u'value': 6}

Loading modules with require

When using the dukpy.JSInterpreter object it is possible to use the require('modulename') instruction to load a module inside javascript.

Modules are looked up in all directories registered with dukpy.JSInterpreter.loader.register_path:

>>> import dukpy
>>> jsi = dukpy.JSInterpreter()
>>> jsi.loader.register_path('./js_modules')
>>> jsi.evaljs("isEmpty = require('fbjs/lib/isEmpty'); isEmpty([1])")
False

Installing packages from npmjs.org

When using the persistent javascript interpreter it is also possible to install packages from npmjs.org through the dukpy.install_jspackage function:

>>> import dukpy
>>> jsi = dukpy.JSInterpreter()
>>> dukpy.install_jspackage('promise', None, './js_modules')
Packages going to be installed: promise->7.1.1, asap->2.0.3
Fetching https://registry.npmjs.org/promise/-/promise-7.1.1.tgz..........................
Fetching https://registry.npmjs.org/asap/-/asap-2.0.3.tgz............
Installing promise in ./js_modules Done!

The same functionality is also provided by the dukpy-install shell command:

$ dukpy-install -d ./js_modules promise
Packages going to be installed: promise->7.1.1, asap->2.0.3
Fetching https://registry.npmjs.org/promise/-/promise-7.1.1.tgz..........................
Fetching https://registry.npmjs.org/asap/-/asap-2.0.3.tgz............
Installing promise in ./js_modules Done!

Please note that currently install_jspackage is not able to resolve conflicting dependencies.

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

dukpy-0.2.3.tar.gz (1.9 MB view details)

Uploaded Source

Built Distributions

dukpy-0.2.3-cp38-cp38-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.8 Windows x86-64

dukpy-0.2.3-cp38-cp38-win32.whl (1.2 MB view details)

Uploaded CPython 3.8 Windows x86

dukpy-0.2.3-cp38-cp38-manylinux1_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.8

dukpy-0.2.3-cp38-cp38-manylinux1_i686.whl (1.9 MB view details)

Uploaded CPython 3.8

dukpy-0.2.3-cp37-cp37m-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.7m Windows x86-64

dukpy-0.2.3-cp37-cp37m-win32.whl (1.2 MB view details)

Uploaded CPython 3.7m Windows x86

dukpy-0.2.3-cp37-cp37m-manylinux1_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.7m

dukpy-0.2.3-cp37-cp37m-manylinux1_i686.whl (1.9 MB view details)

Uploaded CPython 3.7m

dukpy-0.2.3-cp36-cp36m-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.6m Windows x86-64

dukpy-0.2.3-cp36-cp36m-win32.whl (1.2 MB view details)

Uploaded CPython 3.6m Windows x86

dukpy-0.2.3-cp36-cp36m-manylinux1_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.6m

dukpy-0.2.3-cp36-cp36m-manylinux1_i686.whl (1.9 MB view details)

Uploaded CPython 3.6m

dukpy-0.2.3-cp35-cp35m-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.5m Windows x86-64

dukpy-0.2.3-cp35-cp35m-win32.whl (1.2 MB view details)

Uploaded CPython 3.5m Windows x86

dukpy-0.2.3-cp35-cp35m-manylinux1_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.5m

dukpy-0.2.3-cp35-cp35m-manylinux1_i686.whl (1.9 MB view details)

Uploaded CPython 3.5m

dukpy-0.2.3-cp27-cp27mu-manylinux1_x86_64.whl (1.9 MB view details)

Uploaded CPython 2.7mu

dukpy-0.2.3-cp27-cp27mu-manylinux1_i686.whl (1.9 MB view details)

Uploaded CPython 2.7mu

dukpy-0.2.3-cp27-cp27m-win_amd64.whl (1.3 MB view details)

Uploaded CPython 2.7m Windows x86-64

dukpy-0.2.3-cp27-cp27m-win32.whl (1.2 MB view details)

Uploaded CPython 2.7m Windows x86

dukpy-0.2.3-cp27-cp27m-manylinux1_x86_64.whl (1.9 MB view details)

Uploaded CPython 2.7m

dukpy-0.2.3-cp27-cp27m-manylinux1_i686.whl (1.9 MB view details)

Uploaded CPython 2.7m

File details

Details for the file dukpy-0.2.3.tar.gz.

File metadata

  • Download URL: dukpy-0.2.3.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for dukpy-0.2.3.tar.gz
Algorithm Hash digest
SHA256 cc8dd158326f95231d320da80be6e6a1d72bbaad9de2569eaffb6af736f45e6b
MD5 ec80bc01820b6b98804a4b0fa1d60cc6
BLAKE2b-256 170ee9c0c4d86142c529a62996d290e2f7d15cc4f214acf5386adc102191af94

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for dukpy-0.2.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 770c0795cbe5c41b604b12f372d2905587035f2f83489d2e1c36b88d50f9b175
MD5 4872cc730a5eb404a77e56e0b525e4cb
BLAKE2b-256 2996c45d843f05ce35a33f6f7c95b7c5208bc6ee6233aceefda0eb3939bd04be

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp38-cp38-win32.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp38-cp38-win32.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for dukpy-0.2.3-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 ff245b01239fbb25b4a0b9bf30d3b4499648ce52bba981fe2cbac868052354fe
MD5 a5ce6624d221440398bf353079be9c11
BLAKE2b-256 b76ce3be65318838a1d05cc6cb30654c105fc07aace64143fb69f29e7055a291

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for dukpy-0.2.3-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 9499ec53247cc0e2453d2be0586d9fa6803b751961d05bc947946341ecea6560
MD5 543aff3a7b0fc37b117abfe9e9097306
BLAKE2b-256 20a61d7baee8f35cd6b4a2d4c5993c2e1bc80145b2c6c594810e7261de9f5894

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp38-cp38-manylinux1_i686.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for dukpy-0.2.3-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 3395f84d793f1be55f250705fd1f4562c58718dde0304ae21b001dc0332e020a
MD5 a4c5e807a3dbfc571d1687d8508be369
BLAKE2b-256 404a8e35b0590dcaf96fa94cc76f59482388c4377657841dca469b434a2ca573

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.5

File hashes

Hashes for dukpy-0.2.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 929c5fe7fc4c0aff25c8bf6284e9fb3a3ac74430104c2d260858b76e290013fe
MD5 1b502336eb2aa47476ba1288cee653d8
BLAKE2b-256 7619c15d84efe045cd403f15fcb7e42b517b996400956b7e9a69200226e8cafa

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp37-cp37m-win32.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.5

File hashes

Hashes for dukpy-0.2.3-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 123c39095d5b282f2fdebe08088572688c67ce7d876129eb4bb7e1262650a4af
MD5 ff655aa7be50229f2eac1d8801cace0d
BLAKE2b-256 1b1f9e99247be9bd1a5b81558b9f1be7da4efa29dc2416dec5dddec776495c58

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for dukpy-0.2.3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 79f1dfe1276b3b2cef6f353df8889da45cab4cbae88c1b0c2f8895bc68efb345
MD5 8d4a8df88390100409c68f35bffcfc2c
BLAKE2b-256 e39c5ea737ab0f9c1657cd628091bd342df9c975582d9e1db492fcac2c986529

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for dukpy-0.2.3-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 061f84e9786f18e7bc63c78afcddec7287ebacae35b4a95c4c49fac0146b6f0d
MD5 54f926413d363cd8c2c85443010b0032
BLAKE2b-256 5177250c22342e8f4e528238f7b0ed2a286c89490b96641d006e09d204947fba

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.8

File hashes

Hashes for dukpy-0.2.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 494bccfe65c0db95c498584a99052b4039c28f171c901cf609dadf303c097d62
MD5 7db009d2fb0eeecbaef6f26b192f006e
BLAKE2b-256 c527ebb83f075f2c229ddf7c4d1c012f9f007663393d9923599bad2ab5300295

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp36-cp36m-win32.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.8

File hashes

Hashes for dukpy-0.2.3-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 cf8f702599f3abb42a1bc64df2d7a63115226042feff57b89d8f0fd3d5cb2592
MD5 51fc877e4ad24edee1deb78f52620d48
BLAKE2b-256 6a54ac6dec97b09b6b561ba00e5c8ca1d60e6ac49db32deb41e4eb535653f7a7

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for dukpy-0.2.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5b3589426d20dc46d6758754a42f359ad265f02a508de9978065de60626249dd
MD5 0e6409f50e5389527a41ca9ee61144d2
BLAKE2b-256 92a54bae803eb58ea342f18d73a42f8510ca4e0cc095856a32b8feca23d6445e

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for dukpy-0.2.3-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 9aa761142872407d39da88fdbfcc0cc77c6a91b25c9cb9547b564c3e699137b6
MD5 a41fcc29ae29c0e31f670f8a51337bbb
BLAKE2b-256 600849c8273ad1180b05e5faad16d901a8735f0fc72f900b816f2ae8e79bfd44

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.5.4

File hashes

Hashes for dukpy-0.2.3-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 e9512519d39d048e64c89a876e3d4b569862e9bacdb9294046b13385b92fe657
MD5 fa33c6dc634cf750b0801adc5d26ad8b
BLAKE2b-256 3014bdbd29a63eff7e60e7b5794ee02855d0b58d63c48a3749f8f190e113b98b

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp35-cp35m-win32.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.5.4

File hashes

Hashes for dukpy-0.2.3-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 f90e133688e2d2d010c909b7a0e8d2dff73b7c08622480dcb6f8d81169a48235
MD5 ac1a70cb689615651600795c6cabde06
BLAKE2b-256 5fa5e9e348da314610ab6d3265ac26533e5da9b9d8166d39736b21be8b70143c

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for dukpy-0.2.3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 39739d135786d14b430c1d0a82b821d731dfec31369d4a315e1929ca37c48d72
MD5 7f40a4624db1184aa29c7cb21cf06dce
BLAKE2b-256 8fa2c5c589542033d03b356621a5026f61ac7ef607dbb50f15d6a3585ede1583

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp35-cp35m-manylinux1_i686.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for dukpy-0.2.3-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 0658ecda9e85499c2a3236f59837aab27fbef19b75544f1d1f33704fa43e52e7
MD5 a1e493637e0c297552d4d3973d8ff652
BLAKE2b-256 ba6685df8195bca50044c4d6a091651cb836eda054db68ea58a047e810d72ae1

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for dukpy-0.2.3-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 906ec0fa1933fdb0df49e2de286ea8d64f14f7a1ed23705057b2f8eb73c5a036
MD5 7e0edbcec1619e07ad2bb81f02ddae28
BLAKE2b-256 149ec3ef0921638c7587429ff7d45d377d0ed0da8058df1431430cc10504df9b

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp27-cp27mu-manylinux1_i686.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp27-cp27mu-manylinux1_i686.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for dukpy-0.2.3-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 9a89548ff0bd15e415755bc034f76eb6220e8e0d5b9f9d476e6c7b7edc9470b7
MD5 8aaec084058fef54cdc6c79c683427b6
BLAKE2b-256 ab583a5b27cd1cab3c22ba9162a7873190b74f9252266a6239d5061f964867b0

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp27-cp27m-win_amd64.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp27-cp27m-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 2.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/2.7.17

File hashes

Hashes for dukpy-0.2.3-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 26af4776043578cd5a90b723f97c862172dd0c03be90db462c4a50526b370b70
MD5 5ca965d3ac0a3261e603ed1560285f9a
BLAKE2b-256 a1c3b0a46786291644d80d2fa7f0564c7b63233b60111e2bc137fa2fed03e0ce

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp27-cp27m-win32.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp27-cp27m-win32.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 2.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/2.7.17

File hashes

Hashes for dukpy-0.2.3-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 267ddd5e4e88903467d3b0940b26e248739f2c870dde1365749fe39f24b76ebe
MD5 97493778fab0d4bb5ad4780977e37f72
BLAKE2b-256 8384d1d1d51db8c3d20472371181b09c708e827106c58dd85c46b0e9c836a43b

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp27-cp27m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for dukpy-0.2.3-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 99e5a90e01cf60a52bafed04d2099ab91b853279429c39a6010fcb264615679a
MD5 fed7630924b518706f7f2e89558a5d29
BLAKE2b-256 1e3380ab614ee0dec72d723387791b254a6faac212e21da7521fdeef2ccdcb27

See more details on using hashes here.

File details

Details for the file dukpy-0.2.3-cp27-cp27m-manylinux1_i686.whl.

File metadata

  • Download URL: dukpy-0.2.3-cp27-cp27m-manylinux1_i686.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.0

File hashes

Hashes for dukpy-0.2.3-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 edd0862c34f085b60f17fc214c19ab6e38166fd08c85506aeaf370449b3ca20f
MD5 21de7a7987f84162507d153748990d30
BLAKE2b-256 54ea9b105f878707549fcd74662b8ce805fec2cc45a3b276a19ba3b4ed9156bd

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