Python的简单JavaScript解释器
项目描述
DukPy是一个基于duktape引擎构建的Python简单JavaScript解释器,没有任何外部依赖。它内置了一些常见的转换器,方便使用。
CoffeeScript
BabelJS
TypeScript
JSX
LESS
CoffeeScript编译器
使用CoffeeScript编译器就像运行
>>> 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转换器
可以通过dukpy.typescript_compile函数使用TypeScript编译器
>>> 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'
目前编译器内置了选项,不接受额外的选项,
基于DukPY的TypeScript编译器还提供了一个WebAssets(http://webassets.readthedocs.org/en/latest/)过滤器,可以自动编译资产管道中的TypeScript代码。您可以使用以下方式在WebAssets中将此过滤器注册为typescript:
from webassets.filter import register_filter
from dukpy.webassets import TypeScript
register_filter(TypeScript)
这使得过滤器可以通过typescript名称使用。
注意:当使用TypeScript编译器运行在浏览器中的代码时,请确保添加https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.24/system.js依赖。因为导入语句是通过SystemJS解析的。
EcmaScript6 BabelJS转换器
要将ES6代码编译为ES5以供日常使用,您可以使用 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'
您可以将 选项 传递给BabelJS编译器,就像在调用 babel_compile() 时的关键字一样。
基于DukPY的BabelJS编译器还提供了一个WebAssets(http://webassets.readthedocs.org/en/latest/)过滤器,以自动在您的资产管道中编译ES6代码。您可以通过以下方式在WebAssets中使用该过滤器并注册为 babeljs
from webassets.filter import register_filter
from dukpy.webassets import BabelJS
register_filter(BabelJS)
这使过滤器可以通过 babeljs 名称使用。目前仅支持一个过滤器选项 BABEL_MODULES_LOADER,其值为 systemjs 或 umd,以指定编译后的代码应使用SystemJS或UMD而不是CommonJS作为模块。
注意:当使用BabelJS编译器编译需要在浏览器中运行的代码时,请确保添加 https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/6.26.0/polyfill.min.js 依赖项。
JSX到React转换
DukPy提供了一个从JSX到React的内置编译器,这可以通过 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);'
基于DukPY的JSX编译器还提供了一个WebAssets(http://webassets.readthedocs.org/en/latest/)过滤器,以自动在您的资产管道中编译JSX+ES6代码。您可以通过以下方式在WebAssets中使用该过滤器并注册为 babeljsx
from webassets.filter import register_filter
from dukpy.webassets import BabelJSX
register_filter(BabelJSX)
这使得过滤器可以通过 babeljsx 名称使用。此过滤器支持与babel相同的选项。
Less转换
DukPy提供了一个内置的less编译器分发,可通过 dukpy.less_compile 获取。
>>> import dukpy
>>> dukpy.less_compile('.class { width: (1 + 1) }')
'.class {\n width: 2;\n}\n'
基于DukPY的LESS编译器还提供了一个WebAssets(http://webassets.readthedocs.org/en/latest/)过滤器,以自动在您的资产管道中编译LESS代码。您可以通过以下方式在WebAssets中使用该过滤器并注册为 lessc
from webassets.filter import register_filter
from dukpy.webassets import CompileLess
register_filter(CompileLess)
这使得过滤器可以通过 lessc 名称使用。
使用JavaScript解释器
使用dukpy就像使用带有JavaScript代码的 dukpy.evaljs 函数一样。
>>> import dukpy
>>> dukpy.evaljs("var o = {'value': 5}; o['value'] += 3; o")
{'value': 8}
evaljs 函数执行JavaScript,并尽可能将其结果值作为JSON编码返回。
如果执行失败,将抛出带有失败原因的 dukpy.JSRuntimeError 异常。
传递参数
传递给 evaljs 的任何参数都可在javascript中的 dukpy 对象内部使用。为了在JavaScript中可用,参数必须能够使用JSON进行编码。
>>> import dukpy
>>>
>>> def sum3(value):
... return dukpy.evaljs("dukpy['value'] + 3", value=value)
...
>>> sum3(7)
10
运行多个脚本
evaljs 函数支持提供多个源代码以在相同上下文中执行。
多个脚本可以通过列表或元组传递
>>> import dukpy
>>> dukpy.evaljs(["var o = {'value': 5}",
... "o['value'] += 3",
... "o"])
{'value': 8}
当您的代码需要依赖项才能工作时,这很有用,因为您可以首先加载依赖项,然后加载您的代码。
实际上,DukPy本身就是这样实现coffeescript编译器的。
def coffee_compile(source):
with open(COFFEE_COMPILER, 'r') as coffeescript_js:
return evaljs((coffeescript_js.read(), 'CoffeeScript.compile(dukpy.coffeecode)'),
coffeecode=source)
使用持久JavaScript解释器
evaljs 函数在每次调用时都会创建一个新的解释器,这通常是方便的,可以避免由于全局变量的污点或不预期的执行状态而引起的错误。
在某些情况下,您可能想运行具有缓慢引导的代码,因此方便在两次不同的调用之间重用相同的解释器,以便引导成本已经在第一次执行期间支付。
这可以通过使用 dukpy.JSInterpreter 对象来实现。
创建一个 dukpy.JSInterpreter 允许在解释器内部评估代码,并且多个 eval 调用将共享同一个解释器和全局状态
>>> import dukpy
>>> interpreter = dukpy.JSInterpreter()
>>> interpreter.evaljs("var o = {'value': 5}; o")
{u'value': 5}
>>> interpreter.evaljs("o.value += 1; o")
{u'value': 6}
使用 require 加载模块
当使用 dukpy.JSInterpreter 对象时,可以使用 require('modulename') 指令在 JavaScript 中加载一个模块。
模块将在所有与 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
从 npmjs.org 安装软件包
使用持久 JavaScript 解释器时,也可以通过 dukpy.install_jspackage 函数从 npmjs.org 安装软件包
>>> 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!
同样,dukpy-install 壳命令也提供了相同的功能
$ 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!
请注意,目前 install_jspackage 还无法解析冲突的依赖关系。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。
源分布
构建分布
dukpy-0.4.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 677ec7102d1c1c511f7ef918078e8099778dbcea7caf3d6a2a2a72f72aa2d135 |
|
MD5 | 442c1a13f8b80451b23048d1abb322d9 |
|
BLAKE2b-256 | d10b402194ebcd92bb5a743106c0f4af8cf6fc75bcfeb441b90290accb197745 |
dukpy-0.4.0-pp310-pypy310_pp73-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 108dea56d21a2be12a6b4c567343cef79406cd1520cd2549f0f90dc325f949ca |
|
MD5 | b3a13506b2be94fceaa3401a95a701e9 |
|
BLAKE2b-256 | bf2ce03db2616d9a04947fe0755679161956478f689133d28c42932f82f24b39 |
dukpy-0.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 49c5e24233bb56ffa3d9c76bfacf982f74054c37933759f803387055c9e8a02e |
|
MD5 | 034014625af8e441868e7f5a737204d5 |
|
BLAKE2b-256 | c767386a833704d94c824ef253a96277b61ee8979e0bae578cd10c9312a99c33 |
dukpy-0.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 419ef43f38872269bdde8e966b35dd4efb0eb66f816ff621c496b79f1f59382b |
|
MD5 | 08fa5b19173dd58aed206d876618a42b |
|
BLAKE2b-256 | 441eeff8fd3cae3682a48b23dc9a9c4a8c7f70fe150e121b507662b1d197677b |
dukpy-0.4.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ac687961f5448a29aa3c3e6d2919fdb25d8d689c2d551320b31b10d0164496fd |
|
MD5 | b77d5d710bbdeea5f904936703299a79 |
|
BLAKE2b-256 | 0689d9570ed75d4eaf05b815d35464a6757da5130f6f318596c2317e41d630b3 |
dukpy-0.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b5c67856b28f7fbbb029a496c0b5a84b26a75a514cefb78e1cdb0b91449e993f |
|
MD5 | 636f4025aaa4b79e7a00d545ce0fa10f |
|
BLAKE2b-256 | 7531435606e2ce57c48d93cb9987f83834a72d4628412a9102e5ca3ace62284a |
哈希值 用于 dukpy-0.4.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bc0e11550e720e479fbe25b77cb2977fed2de52760f2cd39c96f767c2b732cb4 |
|
MD5 | 36b0837bd170337ccd65c09403727553 |
|
BLAKE2b-256 | 1237b018a55d173e1393ec5029bf92cf6625665813370e2a9d3a2497242377e0 |
哈希值 用于 dukpy-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 73517558f5cb3ffbf13a509212f89c000169a30cfc3d71c2f1f29cb73f3d7628 |
|
MD5 | ab9118c2a79f3083f77ca92b2e3a8d3f |
|
BLAKE2b-256 | 345003698d702d9d779b508e7ebdc11f43fd99a1551141e5bb4de46916db0357 |
哈希值 用于 dukpy-0.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d5442604d5eba8d7fe0dff2dbb09b98455bb7c74e477ef45db61c99e40957284 |
|
MD5 | c7e0930f5f46bf040d49b3255a8cb345 |
|
BLAKE2b-256 | 8af55a88dfdb6674bbaa1645a5c363842d89299c60314f43ef0222b18874477e |
哈希值 用于 dukpy-0.4.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 097d2db90f78f310bcdd789ca07dcb126301d3888099b90ccd4b20df3a7304d1 |
|
MD5 | 9769e65e0f7f2398e20bc9c035d78f8d |
|
BLAKE2b-256 | e37e98c55e796abf26831215bfaeea523b03e2465da6dd8fddb5efd6f8b48b3c |
哈希值 用于 dukpy-0.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 74321da1ef7943e1f2f3f0a1353e780f13e302834d1afa63547c531e9add23d0 |
|
MD5 | 8fd69af9b53537cf671837640a21456f |
|
BLAKE2b-256 | dde295b1b2c0068befdf2c50ce49239b393926102b5a1e91712dcc47451ab501 |
哈希值 用于 dukpy-0.4.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5ed94e7fadb73a5bc7b6ccdcd92789c7de1ce261f8a976641d4f89266cb32e72 |
|
MD5 | 1b6652df811bea44ff7c68c7c5c4fa98 |
|
BLAKE2b-256 | 05017fbd8a46a38062e057f738db4bcfaee0f3bef6408041674617e6db999c83 |
哈希值 用于 dukpy-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 65e7631e9a0da15f0f4897f7f57421e5aa5c5eab466731271d9a32c3b0cce5be |
|
MD5 | e12e738d35dea3162ca3480cb30e2952 |
|
BLAKE2b-256 | 380528e18f244e5e45bceb6a7106c21ee7910317518c9e795cc3c570d292f553 |
哈希值 用于 dukpy-0.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b0d547f73bd5c05eb38d5b03af6ae801a2f3c5b584d96fef3d2a2afae4b13623 |
|
MD5 | 73e0c590506a4475a7363b2c3079b245 |
|
BLAKE2b-256 | a646ac4e56ee8a7ab7cc9f674522c2b42c26f8a0ee20c3dd9dbed028cb728372 |
哈希值 用于 dukpy-0.4.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 98f7ef3e41960915b2cf903b0786070be438b23be4826af82adb1570ddf97d13 |
|
MD5 | dc0e5da0b0a7a84461416503b61e0ab3 |
|
BLAKE2b-256 | 33f8b26d634d74daa3d6b3e914d9e6728c9baa6378e13b905256b10eeb381f6e |
哈希值 用于 dukpy-0.4.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | eaa47bb14e7eec70cc6a4b7695e48d49ba4d65d847ef8965e815f812a6e86bea |
|
MD5 | 3171d3cb028e9fe811f16fc377346d25 |
|
BLAKE2b-256 | fc9232028de8e098c06a7065420483ffb2f68b97d4d9403cf813fe73c42ec7b0 |
哈希值 用于 dukpy-0.4.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4de21a0d83888958cecfb60cbb79b6bbbc8c70505e1da53d73d02620b32f798c |
|
MD5 | bde13af81550fed22092fb20da47c340 |
|
BLAKE2b-256 | 277e2d3cdfbe7163152d2c91f10daa7cd138cc5b1c22db1bc7ee80cceb4ec2ea |
哈希值 用于 dukpy-0.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a63e6243684197abd8f57ef62248c2764021a7cdc7346f0538f631b8774fc997 |
|
MD5 | 7880e78761828dfdd75dfe5c5c95b3ea |
|
BLAKE2b-256 | 7020dc9f0aac02f6620fd39b5f8ce7c8882efd630e0fe1ddee53f97c80b1ce54 |
哈希值 用于 dukpy-0.4.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a0d8600fb790845f761f6d672c75e1973aee8de5499d2eacfd6d0ceefd1ec34a |
|
MD5 | baff329c2bc506e366c9ed51eda53a5b |
|
BLAKE2b-256 | 516091e55645f3aa88c885dd4e6885403734709978c6d376a12a4343e8b39226 |
哈希值 用于 dukpy-0.4.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dc602343a2ac8647d6656e74bd1e79b866c8f48aa7112507fafdd14b7a67dd40 |
|
MD5 | 853f25c8885713f9905c3edbba17f30b |
|
BLAKE2b-256 | 784e5bbad081fc5f6e14bb5bfe02f048f84022bb83df25d21770b8248b87e5ac |
哈希值 用于 dukpy-0.4.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c7f6ac34bd11b0cff03ffb2bffdc93a8331a18d4bc4b7358a8ff490a0ccb7b14 |
|
MD5 | fed3ffe10cab90cd8e077912198312f1 |
|
BLAKE2b-256 | 25a93893749decb4b56395706b5af536de64577ef63a93aa61effc5572e247ab |
哈希值 用于 dukpy-0.4.0-cp312-cp312-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4c0ded9a59eaefb1309459328e9655a4cf33cffd8e5322adc0d6def016e57d7b |
|
MD5 | ce6f97330c76893291e3ed801cdb2b5f |
|
BLAKE2b-256 | 69e7f36e196552f769bccbd18ce3272f734d5c6fd00058565b4d23360e5bcc93 |
哈希值 用于 dukpy-0.4.0-cp312-cp312-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | df4ddae0761700dbcd96632087a39c9f3fc7671487c68da20432e9ace63a5a8d |
|
MD5 | da65ca84af54ed47419af7b27fb7ca36 |
|
BLAKE2b-256 | 54ef5ea69c9d746b2936a5f6a4a0d876bbcb98be8489e48c530e6fe9f5647e89 |
哈希值 用于 dukpy-0.4.0-cp312-cp312-musllinux_1_1_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | faf977a2a9f60a9717c0a963b40738144b7375df997238927273e155456f01d4 |
|
MD5 | b6afb4d07cc98108b26d7ae233003d57 |
|
BLAKE2b-256 | df13ad52b016df02eed3740f2a66ee05a1b3fa36fb811cd54e72d6ed96d001b4 |
哈希值 用于 dukpy-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5c23782b9738374e2481def88aebf975e754471efab29eb1f5a03da8c2354ec3 |
|
MD5 | 6665a8ab639b31d734d14794632c7f61 |
|
BLAKE2b-256 | c20871e5b999b7656dcd42d17b0487f797365796a7073a33c1b110ef4b3f0620 |
哈希值 用于 dukpy-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | eaedc9f39c9f228c193b3f6758580765990dd99c0320f3712d0c10a1720bf266 |
|
MD5 | 96e8361fbdca58dd92b149c10eeda301 |
|
BLAKE2b-256 | ae1a07a1218e4fa31c6d62d7c5338806933e09da8fec5b1ad8c1dd6b638d0329 |
哈希值 用于 dukpy-0.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 053da89e1d51c8ac6bee9f631fe068a2ff6341333559d8fc2c896bdb24c573a9 |
|
MD5 | 195a54b92e2ffddbacc1f229b7ffd483 |
|
BLAKE2b-256 | b0f9238bdd27353ae733f9c14c51a94fa0c479357ec506a833c5225766c4e05d |
哈希值 用于 dukpy-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9923170321ebf8c0ac96c6b9fe5f28d7124fd5bc991291bba98d6913e2669e15 |
|
MD5 | 590775c31797f3a32791afdf968a4a6e |
|
BLAKE2b-256 | bc740f21a3e322637b1274c26a6d3d1045c09fadefbc172a402bcf495eaba47f |
哈希值 用于 dukpy-0.4.0-cp312-cp312-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | de46d0b9a38971afad0e85f45ec36728f818e9ca475a8756a62231f42b5bf457 |
|
MD5 | be84a3c8ac6ec5f991bd5736424ec3e2 |
|
BLAKE2b-256 | 0e21d34c9c1f11e537cc9a98283baaf5468ef75930239322fe8491db611b0e61 |
哈希值 用于 dukpy-0.4.0-cp311-cp311-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 356328c25d9ef503e8592369a27403faf41907ed0cb28f5e77231120f5dfd504 |
|
MD5 | 61a076871213a13a203ebe10617b4adf |
|
BLAKE2b-256 | 052cef113d96135ef5904566da96ffcfbb7ceb50fee8a21f2a53104de8170bb9 |
哈希值 用于 dukpy-0.4.0-cp311-cp311-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c1eda3f2c7bb40f22baae5349c2d9c82be5a2882f8497adbd6f3fb93b1a8195c |
|
MD5 | 4ba46e0855fb0148ad58e46c31460277 |
|
BLAKE2b-256 | 0f4e7bfd5ceaf1f376185987e1442c0275d7582b89643f77e12ee5b0d2418f5d |
哈希值 用于 dukpy-0.4.0-cp311-cp311-musllinux_1_1_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 855547fbbac7f2ec97ed659c146e8679190ff2544a61370b8de99b4c981be910 |
|
MD5 | 459f87fff18d14d5f5a41e8395c219c1 |
|
BLAKE2b-256 | 832799b111ccb79986241d2e8bcb15087a9f1650495f0a58d44dcd5ef352cb3f |
哈希值 用于 dukpy-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 601adc77605fa83ad6f4b201fd6701528c1eee1ec7de2465ca8a23c636f39552 |
|
MD5 | 9c52639aa0fb773ebcee991d471484ce |
|
BLAKE2b-256 | b211ef428e024465396d8c76a7c6ea9047bf95c33ed7070bd45e96fab164c704 |
哈希值 用于 dukpy-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e9ebfc337ab735e3f077649268ffcfe10fe96a39ba38bb01a8167d417d24479b |
|
MD5 | 2fa5b2ae974fe2e8727c7997bc485625 |
|
BLAKE2b-256 | d98a24acc6ed58f58357512e65c41b40e250765a3a9b4f67e11bb71b2c83fb71 |
哈希值 用于 dukpy-0.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 48bba25f914a75448833d62c4601e3816df4c81326edd77bf21ea41195166aff |
|
MD5 | aec17da55266f65e197f07a859d90fb8 |
|
BLAKE2b-256 | 64c201d47f15f0cbc31e780b080c6ecadfb531c8ed2f55ef4785eeba45a21055 |
哈希值 用于 dukpy-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3dbb35b8aa6ad0a5cd32eae68bbf287b4d113b69bee310d36e88b64d2c1a6292 |
|
MD5 | e500f9c7cfdb49300fc81a1d85f9cdcc |
|
BLAKE2b-256 | ce6557606be338d378546270dc63eabbde79dcc158d86533e7633a93a28d790e |
哈希值 用于 dukpy-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8e0b65799a6dc174a055d8f7b0702d952e7ea30c2209f0a7ee2dc133a540c123 |
|
MD5 | 75ea6a4df0fdadf26de0928d522f88b4 |
|
BLAKE2b-256 | 752f51d78f50fc25184370edc54e217f35f1c1699013a4183f0c86d95c1ce17d |
哈希值 用于 dukpy-0.4.0-cp310-cp310-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a9f6225aa0b6acad9ac114e8121a95f82d9bc2194c4faae59afddc9ec8975187 |
|
MD5 | 10a568be9f912358a55286263c13ce2c |
|
BLAKE2b-256 | 88574a5263fecc4dd7f3e68a505a84ea51c015e198af5f4f0fafb6245b61a287 |
哈希值 用于 dukpy-0.4.0-cp310-cp310-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 501f94e2374ba2340ea7e690ac1df39973e6336b6a310b89410ffa0edbae408c |
|
MD5 | 22ca8461d8fae05ee21556cb6e0faea3 |
|
BLAKE2b-256 | a558d4fb75946172b7fefc5822d3f8f84b1f70ac0e781551a08b82c826094467 |
哈希值 用于 dukpy-0.4.0-cp310-cp310-musllinux_1_1_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f7e537d543ddd538f6172d60afe88de2d2160a2fd3b6541944de2148793c378e |
|
MD5 | d2342a8edc89e3599ef200a1a25a5cfe |
|
BLAKE2b-256 | 49e1d7cd28e2a761e27f947b076f7ba85eeadc215be4e6bd373fc01fd43c1567 |
哈希值 用于 dukpy-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cb0ff04128c16e4d51f5f10b4347903661f5aeb6ed778c247c1fde95fb191a23 |
|
MD5 | 9802279346e82395f4f21f2ebc251a7d |
|
BLAKE2b-256 | 3650b2aad2bd065a8a7a521e105a1e71107aaf16f063653e8022b815959f3d92 |
哈希值 用于 dukpy-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e9f1ed1ed49c7b97b30943631431f7814fed1f2f8e026c7d4a2aea74eb3c63b2 |
|
MD5 | 7fb30b8e1157eb9a8ea1bb7dc735a427 |
|
BLAKE2b-256 | 80dbbc0c89d0254f7b712090322322606658c6fbae4b896fc92feb02e972d54e |
哈希值 用于 dukpy-0.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f0bf9a1ee548fd5a97f8af08e82a304ea42c3cee6300f1cd59e54d72b6b9c8d1 |
|
MD5 | 01daf5747e8775c07e79524af751b05f |
|
BLAKE2b-256 | 355d1e2e9bbec5c6d6cc2a9575d74fbab3086ca09dbfe538438751f90306d784 |
哈希值 用于 dukpy-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 781e65201e65ec6d33120ffc1f68be5834802ebf0b76aff79b3405e8723c8679 |
|
MD5 | 6651548b5db8e3e9270dc32434f007a1 |
|
BLAKE2b-256 | ddb5841dd4799074899400fb1dc747784278f59922a95f78186bb1f95d756edf |
哈希值 用于 dukpy-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cc4b628eeac9c39e2712e12b4f7f08356c4722e264fa9775306eec36a8b1b7c2 |
|
MD5 | b393eae598c779e0b8e242492414cdb1 |
|
BLAKE2b-256 | d932cf5a3af3e9475ba7e766ea37f6813e7276f15fe30697f347e50a06112180 |
哈希值 用于 dukpy-0.4.0-cp39-cp39-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f38b7553761197786ca91fe4cb954586701674e118d2843f983a0b9ec4662df8 |
|
MD5 | 71edebf72aed815995a034469cd39b1a |
|
BLAKE2b-256 | 235dc3e8e09a5729830ebc350cd8a8b6cddb726eec93d99cac7db099998e8450 |
哈希值 用于 dukpy-0.4.0-cp39-cp39-musllinux_1_1_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6402493da0809ed6c36b2e482b6f8e8dd865ad898af0f754c8b203af3fd63d01 |
|
MD5 | df3d6172349856e7407be9179f401daf |
|
BLAKE2b-256 | ba31665f15c995b293a28b45fcdbd9e2b9443de32150e109d335a4c5c16c7949 |
哈希值 用于 dukpy-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2a85cfa88da4ea2569b8a3e1f3bf409b8b90820ff832261df65aae5e9279899f |
|
MD5 | 0fb154efaa1dd9bb87217983584473bb |
|
BLAKE2b-256 | 1821c6c9719138d39ddf105b0323341c024eef00b029e30b7882bc723b56e066 |
哈希值 用于 dukpy-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 96a59c31f4520063428e8f6b4e26ddf0882ce56aee98650f234eec66be37b8e8 |
|
MD5 | 691296cfce2d7950cc13f715f04f9a0d |
|
BLAKE2b-256 | a11210326bfeede74805034063a18b9943c29891be694dbd09c2cdc9e2c5e458 |
哈希值 用于 dukpy-0.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7cec31fabe25542e5465311f3533867606064c676b1eb68f25129518a7028ba5 |
|
MD5 | 7dca54891c0e9202215f0434b644fa3f |
|
BLAKE2b-256 | 2eff3c2dc3c1dd7f8e03c00bf9ec6a28dedf8ce124cda54db3d5f6ca6530d03c |
哈希值 用于 dukpy-0.4.0-cp38-cp38-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 82e3161234980086a0d91d497b6b54141060c12ab7d74ed20d5aa46757b54c1e |
|
MD5 | 6a2e50e2267dcf89392aa614c4517631 |
|
BLAKE2b-256 | 5b6fe0657f04c4995fae27219b48d5096032ec29ea1e0ae902a962ff2c99514d |
哈希值 用于 dukpy-0.4.0-cp38-cp38-musllinux_1_1_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5cb3cd8605a361dd81ee983f7bf37463c24b3be340aef1c25606e1d7d620d379 |
|
MD5 | 7b3b80dc36d8cc78f54c88b3b38135cb |
|
BLAKE2b-256 | dd2dff48240843aab3a2cbac7ec913e1bfebbf37ec4758427d1a75c6af98be21 |
哈希值 用于 dukpy-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 46f20eeaedc7aae9588bbb8a7787ea4e3183703d73c671a1d499fa21a2f5f454 |
|
MD5 | 1f60e4255bb2490de10d0c83532deb56 |
|
BLAKE2b-256 | 099ec300dc065f2c71b1045f138ffa5b21f31bef816874c306ccfe3ef21f19cb |
哈希值 用于 dukpy-0.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 52cacb5f8c07b63e9fe82ce2a92c028078d06a2db9a9168d892ff1f48c09b104 |
|
MD5 | 7ec94a30a7d09de6fd0beaf05213ddf8 |
|
BLAKE2b-256 | b5d467d77f71b8c0c0f4dd859e4fddb98a999c3ed8da6541d286b850f447f08b |
哈希值 用于 dukpy-0.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b7ea9b755175b138d996494447ec0057eb968203565702b53993e3f308001252 |
|
MD5 | 433ded89afa6515be3390ea984b1bea9 |
|
BLAKE2b-256 | ad4b1411cdbd7c24b1b3a2f3ebbe2663aed015cddd99b7b0133ff43aa714a0f8 |
哈希值 用于 dukpy-0.4.0-cp37-cp37m-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 31d86029282fd07b76557292929affe7491701b3e1b66d15e0d82dc591402ed9 |
|
MD5 | c80510d0897c77f1a59f69cf9b426d73 |
|
BLAKE2b-256 | 17c716f6130a7e019eff3ad6e7bfa3c51f2d11d37eaf9082fe66f8ba9a04de43 |
哈希值 用于 dukpy-0.4.0-cp37-cp37m-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 56d436d29648f0df1544d2bdd4e9b7b377902de0bbfed920ecd910fe8b990da4 |
|
MD5 | b0270773a28f1884f475897e41ccd0dd |
|
BLAKE2b-256 | cf45087bad22ac6386a27ef0868088f572670f3f7f5bc404e4d3cb26c0593c04 |
哈希值 用于 dukpy-0.4.0-cp37-cp37m-musllinux_1_1_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6a99a7303132034f52e6e5a4d93df02d52bb29ef04ec28b1cf72295a590faae7 |
|
MD5 | 8476163e8078e82ca65826e51bfaa729 |
|
BLAKE2b-256 | 61b8b71862658a91c9ff0f9d9918659c4dd63b130df71f309083bad1e7551e63 |
哈希值 用于 dukpy-0.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 30a8f858207156b378fcc3434aff122eeaa48b78499aa5c7d6e453db13b9431e |
|
MD5 | 56d3cf3046393d54eafb4903c1444f34 |
|
BLAKE2b-256 | ebaeb3c4190959773b0a871c2ff32ef7e1fa833360c2795b29892bdccbe8efb6 |
哈希值 用于 dukpy-0.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 909329642df0d72574d6a156b73f16330706d129e30fb5a836fa3e31ef43bc77 |
|
MD5 | 5536104fe9c792811f78885ef3b2383a |
|
BLAKE2b-256 | cf05a1e197c9050fcd7dac78168ba932aa478aa0de062d6d07db1f756ca8e7bc |
哈希值 用于 dukpy-0.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 39dfd35f2fdf350dc4396894d33b6d3d5f0345aae3ee0c64d954a2046b20ad42 |
|
MD5 | 0571f85c3408cce5196a5104076df8d7 |
|
BLAKE2b-256 | 42a3df7cc152d8392c806f4454a79ac66f8ff027cc92aed55fcb786a1f3f2f13 |
哈希值 用于 dukpy-0.4.0-cp37-cp37m-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 80f888ddaf9dd2231203b5866971722647566b1928f0f826b8d4497c8dbea8c4 |
|
MD5 | c0b205d6c713b7247da0166e0ff9666a |
|
BLAKE2b-256 | 255b1fd0119c5d04be6459e1108254f46feb5d44f044024f44838b299f9ec3cc |
哈希值 用于 dukpy-0.4.0-cp36-cp36m-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8346c0d31b1f3d6526b57a93e0d9084228ff0085fd6d8ed441b03be0404c7faf |
|
MD5 | 97d075da9daf066084947d3f1d2c0c69 |
|
BLAKE2b-256 | 844a7b3666757154581bbcab0eb4bc8a60ecf8b7199b7d728225ef8ae07f519e |
哈希值 用于 dukpy-0.4.0-cp36-cp36m-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 61d738867053678902145fa66f0cbfebd569f7f00a248f2a14abd865efec7acb |
|
MD5 | 8076d1a172a152589e8da3fdc247095e |
|
BLAKE2b-256 | 72be13b576e58c6f2e930f3de36d5616d550774e176707c53769e7cf526912cc |
哈希值 用于 dukpy-0.4.0-cp36-cp36m-musllinux_1_1_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 35abc430b8af48f7d1c72365bfbc9484a05d807134bf03f599f28b72534275d9 |
|
MD5 | 3f75d01c94eac78b0266a5540963e8fc |
|
BLAKE2b-256 | 901b6734d46c29d2f096bf555c1374171b0eccc4aea17fe417232f589fff045e |
哈希值 用于 dukpy-0.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 01af28eacd173ca0eeea304b3d66664e9a99d1fca75fa65c9a0a6a7e3d82c91d |
|
MD5 | 6f3328785a919bc5ec2ce153ca13fda0 |
|
BLAKE2b-256 | d2222391ceb5108cad89044544146c1cf53931ae7b50bb84f6e7203c9535f947 |
哈希值 用于 dukpy-0.4.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 503c792e6ba0d4925f8269427480ad66b75691558afe3e1d86d6ba634a094eb7 |
|
MD5 | a948a120a31f52cb8fc4dadd57db31b8 |
|
BLAKE2b-256 | fc696db298a208a8368a29e5632f4ffa30cfe8e794374bb4f5526a52bb78508d |
哈希值 用于 dukpy-0.4.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c93199fa445b4a8acc9636fd51dbf893be1ec4b75cdfe9ed86f06e4f8f7ecbef |
|
MD5 | 1628eb042b2c06ed116f4c83896da914 |
|
BLAKE2b-256 | e6ef335ef49ab442f953a92d9020ca2feff78ac52a8598c3f1c9577226e1e2fc |
哈希值 用于 dukpy-0.4.0-cp36-cp36m-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7328254bcca4f10be4e72ba11c58a940593dda506f432519d1db980de9e6f63f |
|
MD5 | b57a079ce6832b806617db6f66eddd30 |
|
BLAKE2b-256 | affd4638d5be285645636cc23ad21bc13097ffecffc2e16f155103951679cbb6 |