Skip to main content

PythonMonkey

Test and Publish Suite

About

PythonMonkey is a Mozilla SpiderMonkey JavaScript engine embedded into the Python Runtime, using the Python engine to provide the Javascript host environment.

We feature JavaScript Array and Object methods implemented on Python List and Dictionaries using the cPython C API, and the inverse using the Mozilla Firefox Spidermonkey JavaScript C++ API.

This project has reached MVP as of September 2024. It is under maintenance by Distributive.

External contributions and feedback are welcome and encouraged.

tl;dr

$ pip install pythonmonkey
from pythonmonkey import eval as js_eval

js_eval("console.log")('hello, world')

Goals

  • Fast and memory-efficient
  • Make writing code in either JS or Python a developer preference
  • Use JavaScript libraries from Python
  • Use Python libraries from JavaScript
  • The same process runs both JavaScript and Python VirtualMachines - no serialization, pipes, etc
  • Python Lists and Dicts behave as Javacript Arrays and Objects, and vice-versa, fully adapting to the given context.

Data Interchange

  • Strings share immutable backing stores whenever possible (when allocating engine choses UCS-2 or Latin-1 internal string representation) to keep memory consumption under control, and to make it possible to move very large strings between JavaScript and Python library code without memory-copy overhead.
  • TypedArrays share mutable backing stores.
  • JS objects are represented by Python dicts through a Dict subclass for optimal compatibility. Similarly for JS arrays and Python lists.
  • JS Date objects are represented by Python datetime.datetime objects
  • Intrinsics (boolean, number, null, undefined) are passed by value
  • JS Functions are automatically wrapped so that they behave like Python functions, and vice-versa
  • Python Lists are represented by JS true arrays and support all Array methods through a JS API Proxy. Similarly for Python Dicts and JS objects.

Roadmap

  • [done] JS instrinsics coerce to Python intrinsics
  • [done] JS strings coerce to Python strings
  • [done] JS objects coerce to Python dicts [own-properties only]
  • [done] JS functions coerce to Python function wrappers
  • [done] JS exceptions propagate to Python
  • [done] Implement eval() function in Python which accepts JS code and returns JS->Python coerced values
  • [done] NodeJS+NPM-compatible CommonJS module system
  • [done] Python strings coerce to JS strings
  • [done] Python intrinsics coerce to JS intrinsics
  • [done] Python dicts coerce to JS objects
  • [done] Python require function, returns a coerced dict of module exports
  • [done] Python functions coerce to JS function wrappers
  • [done] CommonJS module system .py loader, loads Python modules for use by JS
  • [done] Python host environment supplies event loop, including EventEmitter, setTimeout, etc.
  • [done] Python host environment supplies XMLHttpRequest
  • [done] Python TypedArrays coerce to JS TypeArrays
  • [done] JS TypedArrays coerce to Python TypeArrays
  • [done] Python lists coerce to JS Arrays
  • [done] JS arrays coerce to Python lists
  • [done] PythonMonkey can run the dcp-client npm package from Distributive.

Build Instructions

Read this if you want to build a local version.

  1. You will need the following installed (which can be done automatically by running ./setup.sh):

    • bash
    • cmake
    • Doxygen 1.9 series (if you want to build the docs)
    • graphviz (if you want to build the docs)
    • llvm
    • rust
    • python3.8 or later with header files (python3-dev)
    • spidermonkey latest from mozilla-central
    • npm (nodejs)
    • Poetry
    • poetry-dynamic-versioning
  2. Run poetry install. This command automatically compiles the project and installs the project as well as dependencies into the poetry virtualenv. If you would like to build the docs, set the BUILD_DOCS environment variable, like so: BUILD_DOCS=1 poetry install. PythonMonkey supports multiple build types, which you can build by setting the BUILD_TYPE environment variable, like so: BUILD_TYPE=Debug poetry install. The build types are (case-insensitive):

  • Release: stripped symbols, maximum optimizations (default)
  • DRelease: same as Release, except symbols are not stripped
  • Debug: minimal optimizations
  • Sanitize: same as Debug, except with AddressSanitizer enabled
  • Profile: same as Debug, except profiling is enabled
  • None: don't compile (useful if you only want to build the docs)

If you are using VSCode, you can just press Ctrl + Shift + B to run build task - We have the tasks.json file configured for you.

Running tests

  1. Compile the project
  2. Install development dependencies: poetry install --no-root --only=dev
  3. From the root directory, run poetry run pytest ./tests/python
  4. From the root directory, run poetry run bash ./peter-jr ./tests/js/

For VSCode users, similar to the Build Task, we have a Test Task ready to use.

Using the library

npm (Node.js) is required during installation only to populate the JS dependencies.

Install from PyPI

$ pip install pythonmonkey

Install the nightly build

$ pip install --extra-index-url https://nightly.pythonmonkey.io/ --pre pythonmonkey

Use local version

pythonmonkey is available in the poetry virtualenv once you compiled the project using poetry.

$ poetry run python
Python 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pythonmonkey as pm
>>> hello = pm.eval("() => {return 'Hello from Spidermonkey!'}")
>>> hello()
'Hello from Spidermonkey!'

Alternatively, you can build installable packages by running

$ cd python/pminit && poetry build --format=sdist && cd - && mv -v python/pminit/dist/* ./dist/
$ poetry build --format=wheel

and install them by pip install ./dist/*.

Uninstallation

Installing pythonmonkey will also install the pminit package as a dependency. However, pip uninstalling a package won't automatically remove its dependencies.
If you want to cleanly remove pythonmonkey from your system, do the following:

$ pip uninstall pythonmonkey pminit

Debugging Steps

  1. build the project locally
  2. To use gdb, run poetry run gdb python. See Python Wiki: DebuggingWithGdb

If you are using VSCode, it's more convenient to debug in VSCode's built-in debugger. Simply press F5 on an open Python file in the editor to start debugging - We have the launch.json file configured for you.

Examples

Official API

These methods are exported from the pythonmonkey module. See definitions in python/pythonmonkey/pythonmonkey.pyi.

eval(code, options)

Evaluate JavaScript code. The semantics of this eval are very similar to the eval used in JavaScript; the last expression evaluated in the code string is used as the return value of this function. To evaluate code in strict mode, the first expression should be the string "use strict".

options

The eval function supports an options object that can affect how JS code is evaluated in powerful ways. They are largely based on SpiderMonkey's CompileOptions. The supported option keys are:

  • filename: set the filename of this code for the purposes of generating stack traces etc.
  • lineno: set the line number offset of this code for the purposes of generating stack traces etc.
  • column: set the column number offset of this code for the purposes of generating stack traces etc.
  • mutedErrors: if set to True, eval errors or unhandled rejections are ignored ("muted"). Default False.
  • noScriptRval: if False, return the last expression value of the script as the result value to the caller. Default False.
  • selfHosting: experimental
  • strict: forcibly evaluate in strict mode ("use strict"). Default False.
  • module: indicate the file is an ECMAScript module (always strict mode code and disallow HTML comments). Default False.
  • fromPythonFrame: generate the equivalent of filename, lineno, and column based on the location of the Python call to eval. This makes it possible to evaluate Python multiline string literals and generate stack traces in JS pointing to the error in the Python source file.

tricks

  • function literals evaluate as undefined in JavaScript; if you want to return a function, you must evaluate an expression:
    pythonmonkey.eval("myFunction() { return 123 }; myFunction")
    
    or
    pythonmonkey.eval("(myFunction() { return 123 })")
    
  • function expressions are a great way to build JS IIFEs that accept Python arguments
    pythonmonkey.eval("(thing) => console.log('you said', thing)")("this string came from Python")
    

require(moduleIdentifier)

Return the exports of a CommonJS module identified by moduleIdentifier, using standard CommonJS semantics

  • modules are singletons and will never be loaded or evaluated more than once
  • moduleIdentifier is relative to the Python file invoking require
  • moduleIdentifier should not include a file extension
  • moduleIdentifiers which do not begin with ./, ../, or / are resolved by search require.path and module.paths.
  • Modules are evaluated immediately after loading
  • Modules are not loaded until they are required
  • The following extensions are supported:
  • .js - JavaScript module; source code decorates exports object
  • .py - Python module; source code decorates exports dict
  • .json - JSON module; exports are the result of parsing the JSON text in the file

globalThis

A Python Dict which is equivalent to the globalThis object in JavaScript.

createRequire(filename, extraPaths, isMain)

Factory function which returns a new require function

  • filename: the pathname of the module that this require function could be used for
  • extraPaths: [optional] a list of extra paths to search to resolve non-relative and non-absolute module identifiers
  • isMain: [optional] True if the require function is being created for a main module

runProgramModule(filename, argv, extraPaths)

Load and evaluate a program (main) module. Program modules must be written in JavaScript. Program modules are not necessary unless the main entry point of your program is written in JavaScript.

  • filename: the location of the JavaScript source code
  • argv: the program's argument vector
  • extraPaths: [optional] a list of extra paths to search to resolve non-relative and non-absolute module identifiers

Care should be taken to ensure that only one program module is run per JS context.

isCompilableUnit(code)

Examines the string code and returns False if the string might become a valid JS statement with the addition of more lines. This is used internally by pmjs and can be very helpful for building JavaScript REPLs; the idea is to accumulate lines in a buffer until isCompilableUnit is true, then evaluate the entire buffer.

new(function)

Returns a Python function which invokes function with the JS new operator.

import pythonmonkey as pm

>>> pm.eval("class MyClass { constructor() { console.log('ran ctor') }}")
>>> MyClass = pm.eval("MyClass")
>>> MyClass()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pythonmonkey.SpiderMonkeyError: TypeError: class constructors must be invoked with 'new'

>>> MyClassCtor = pm.new(MyClass)
>>> MyClassCtor()
ran ctor
{}
>>>

typeof(value)

This is the JS typeof operator, wrapped in a function so that it can be used easily from Python.

Standard Classes and Globals

All of the JS Standard Classes (Array, Function, Object, Date...) and objects (globalThis, FinalizationRegistry...) are available as exports of the pythonmonkey module. These exports are generated by enumerating the global variable in the current SpiderMonkey context. The current list is:

undefined, Boolean, JSON, Date, Math, Number, String, RegExp, Error, InternalError, AggregateError, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError, ArrayBuffer, Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, Uint8ClampedArray, BigInt64Array, BigUint64Array, BigInt, Proxy, WeakMap, Map, Set, DataView, Symbol, Intl, Reflect, WeakSet, Promise, WebAssembly, WeakRef, Iterator, AsyncIterator, NaN, Infinity, isNaN, isFinite, parseFloat, parseInt, escape, unescape, decodeURI, encodeURI, decodeURIComponent, encodeURIComponent, Function, Object, debuggerGlobal, FinalizationRegistry, Array, globalThis

Built-In Functions

See definitions in python/pythonmonkey/global.d.ts. Including:

  • console
  • atob
  • btoa
  • setTimeout
  • clearTimeout

CommonJS Subsystem Additions

The CommonJS subsystem is activated by invoking the require or createRequire exports of the (Python) pythonmonkey module.

  • require
  • exports
  • module
  • __filename
  • __dirname
  • python.print - the Python print function
  • python.getenv - the Python getenv function
  • python.stdout - an object with read and write methods, which read and write to stdout
  • python.stderr - an object with read and write methods, which read and write to stderr
  • python.exec - the Python exec function
  • python.eval - the Python eval function
  • python.exit - exit via sys.exit(); the exit code is the function argument or python.exit.code.
  • python.paths - the Python sys.paths list, visible in JS as an Array

Type Transfer (Coercion / Wrapping)

When sending variables from Python into JavaScript, PythonMonkey will intelligently coerce or wrap your variables based on their type. PythonMonkey will share backing stores (use the same memory) for ctypes, typed arrays, and strings; moving these types across the language barrier is extremely fast because there is no copying involved.

Note: There are plans in Python 3.12 (PEP 623) to change the internal string representation so that every character in the string uses four bytes of memory. This will break fast string transfers for PythonMonkey, as it relies on the memory layout being the same in Python and JavaScript. As of this writing (July 2023), "classic" Python strings still work in the 3.12 beta releases.

Where shared backing store is not possible, PythonMonkey will automatically emit wrappers that use the "real" data structure as its value authority. Only immutable intrinsics are copied. This means that if you update an object in JavaScript, the corresponding Dict in Python will be updated, etc.

JavaScript Array and Object methods are implemented on Python List and Dictionaries, and vice-versa.

Python Type JavaScript Type
String string
Integer number
Bool boolean
Function function
Dict object
List Array
datetime Date object
awaitable Promise
Error Error object
Buffer ArrayBuffer
JavaScript Type Python Type
string pythonmonkey.JSStringProxy (String)
number Float
bigint pythonmonkey.bigint (Integer)
boolean Bool
function pythonmonkey.JSFunctionProxy
object - most pythonmonkey.JSObjectProxy (Dict)
object - Date datetime
object - Array pythonmonkey.JSArrayProxy (List)
object - Promise awaitable
object - ArrayBuffer Buffer
object - type arrays Buffer
object - Error Error

Tricks

Integer Type Coercion

You can force a number in JavaScript to be coerced as an integer by casting it to BigInt:

function myFunction(a, b) {
  const result = calculate(a, b);
  return BigInt(Math.floor(result));
}

The pythonmonkey.bigint object works like an int in Python, but it will be coerced as a BigInt in JavaScript:

import pythonmonkey

def fn myFunction()
  result = 5
  return pythonmonkey.bigint(result)

Symbol injection via cross-language IIFE

You can use a JavaScript IIFE to create a scope in which you can inject Python symbols:

globalThis.python.exit = pm.eval("""'use strict';
(exit) => function pythonExitWrapper(exitCode) {
  if (typeof exitCode === 'number')
    exitCode = BigInt(Math.floor(exitCode));
  exit(exitCode);
}
""")(sys.exit);

Run Python event-loop

You need an event-loop running to use setTimeout and Promise<=>awaitable coercion.

import asyncio

async def async_fn():
  await pm.eval("""
    new Promise((resolve) => setTimeout((...args) => {
        console.log(args);
        resolve();
      }, 1000, 42, "abc")
    )
  """)
  await pm.eval("async (x) => await x")(asyncio.sleep(0.5))

asyncio.run(async_fn())

pmjs

A basic JavaScript shell, pmjs, ships with PythonMonkey. This shell can act as a REPL or run JavaScript programs; it is conceptually similar to the node shell which ships with Node.js.

Modules

Pmjs starts PythonMonkey's CommonJS subsystem, which allow it to use CommonJS modules, with semantics that are similar to Node.js - e.g. searching module.paths, understanding package.json, index.js, and so on. See the ctx-module for a full list of supported features.

In addition to CommonJS modules written in JavaScript, PythonMonkey supports CommonJS modules written in Python. Simply decorate a Dict named exports inside a file with a .py extension, and it can be loaded by require() -- in either JavaScript or Python.

Program Module

The program module, or main module, is a special module in CommonJS. In a program module:

  • variables defined in the outermost scope are properties of globalThis
  • returning from the outermost scope is a syntax error
  • the arguments variable in an Array which holds your program's argument vector (command-line arguments)
$ echo "console.log('hello world')" > my-program.js
$ pmjs my-program.js
hello world
$

CommonJS Module: JavaScript language

// date-lib.js - require("./date-lib")
const d = new Date();
exports.today = `${d.getFullYear()}-${String(d.getMonth()).padStart(2,'0')}-${String(d.getDay()).padStart(2,'0')}`

CommonJS Module: Python language

# date-lib.py - require("./date-lib")
from datetime import date # You can use Python libraries.
exports['today'] = date.today()

Troubleshooting Tips

CommonJS (require)

If you are having trouble with the CommonJS require function, set environment variable DEBUG='ctx-module*' and you can see the filenames it tries to load.

pmdb

PythonMonkey has a built-in gdb-like JavaScript command-line debugger called pmdb, which would be automatically triggered on debugger; statements and uncaught exceptions.

To enable pmdb, simply call from pythonmonkey.lib import pmdb; pmdb.enable() before doing anything on PythonMonkey.

import pythonmonkey as pm
from pythonmonkey.lib import pmdb

pmdb.enable()

pm.eval("...")

Run help command in pmdb to see available commands.

(pmdb) > help
List of commands:
• ...
• ...

pmjs

  • there is a .help menu in the REPL
  • there is a --help command-line option
  • the --inspect option enables pmdb, a gdb-like JavaScript command-line debugger
  • the -r option can be used to load a module before your program or the REPL runs
  • the -e option can be used evaluate code -- e.g. define global variables -- before your program or the REPL runs
  • The REPL can evaluate Python expressions, storing them in variables named $1, $2, etc.
$ pmjs

Welcome to PythonMonkey v1.0.0.
Type ".help" for more information.
> .python import sys
> .python sys.path
$1 = { '0': '/home/wes/git/pythonmonkey2',
  '1': '/usr/lib/python310.zip',
  '2': '/usr/lib/python3.10',
  '3': '/usr/lib/python3.10/lib-dynload',
  '4': '/home/wes/.cache/pypoetry/virtualenvs/pythonmonkey-StuBmUri-py3.10/lib/python3.10/site-packages',
  '5': '/home/wes/git/pythonmonkey2/python' }
> $1[3]
'/usr/lib/python3.10/lib-dynload'
>

Metadata

Release files for pythonmonkey 1.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pythonmonkey 1.4.1
File Size Uploaded
pythonmonkey-1.4.1.tar.gz 309.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pythonmonkey 1.4.1
File
pythonmonkey-1.4.1-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
pythonmonkey-1.4.1-cp315-cp315-manylinux_2_31_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.31+ x86-64 Details
pythonmonkey-1.4.1-cp315-cp315-manylinux_2_31_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.31+ ARM64 Details
pythonmonkey-1.4.1-cp315-cp315-macosx_11_0_x86_64.whl CPython 3.15 CPython 3.15 macOS 11.0+ x86-64 Details
pythonmonkey-1.4.1-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details
pythonmonkey-1.4.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
pythonmonkey-1.4.1-cp314-cp314-manylinux_2_31_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.31+ x86-64 Details
pythonmonkey-1.4.1-cp314-cp314-manylinux_2_31_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.31+ ARM64 Details
pythonmonkey-1.4.1-cp314-cp314-macosx_11_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 11.0+ x86-64 Details
pythonmonkey-1.4.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
pythonmonkey-1.4.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pythonmonkey-1.4.1-cp313-cp313-manylinux_2_31_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.31+ x86-64 Details
pythonmonkey-1.4.1-cp313-cp313-manylinux_2_31_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.31+ ARM64 Details
pythonmonkey-1.4.1-cp313-cp313-macosx_11_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 11.0+ x86-64 Details
pythonmonkey-1.4.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
pythonmonkey-1.4.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pythonmonkey-1.4.1-cp312-cp312-manylinux_2_31_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.31+ x86-64 Details
pythonmonkey-1.4.1-cp312-cp312-manylinux_2_31_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.31+ ARM64 Details
pythonmonkey-1.4.1-cp312-cp312-macosx_11_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 11.0+ x86-64 Details
pythonmonkey-1.4.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
pythonmonkey-1.4.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pythonmonkey-1.4.1-cp311-cp311-manylinux_2_31_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.31+ x86-64 Details
pythonmonkey-1.4.1-cp311-cp311-manylinux_2_31_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.31+ ARM64 Details
pythonmonkey-1.4.1-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details
pythonmonkey-1.4.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
pythonmonkey-1.4.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pythonmonkey-1.4.1-cp310-cp310-manylinux_2_31_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.31+ x86-64 Details
pythonmonkey-1.4.1-cp310-cp310-manylinux_2_31_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.31+ ARM64 Details
pythonmonkey-1.4.1-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
pythonmonkey-1.4.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
pythonmonkey-1.4.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
pythonmonkey-1.4.1-cp39-cp39-manylinux_2_31_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.31+ x86-64 Details
pythonmonkey-1.4.1-cp39-cp39-manylinux_2_31_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.31+ ARM64 Details
pythonmonkey-1.4.1-cp39-cp39-macosx_11_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 11.0+ x86-64 Details
pythonmonkey-1.4.1-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
pythonmonkey-1.4.1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
pythonmonkey-1.4.1-cp38-cp38-manylinux_2_31_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.31+ x86-64 Details
pythonmonkey-1.4.1-cp38-cp38-manylinux_2_31_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.31+ ARM64 Details
pythonmonkey-1.4.1-cp38-cp38-macosx_11_0_x86_64.whl CPython 3.8 CPython 3.8 macOS 11.0+ x86-64 Details
pythonmonkey-1.4.1-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details

Total release size: 701.7 MB

Release files / pythonmonkey-1.4.1.tar.gz

Download URL pythonmonkey-1.4.1.tar.gz
Size 309.7 kB
Tags Source
SHA-256 checksum
How to use checksums
fea88fa5fe4885073b597c51699eaba310edb5f3bba55d28d883d0e3c5a45a92
BLAKE2b-256 checksum
How to use checksums
795871b236ff9c74dc29d275c150baeb4e6ffb09e66a998ce924c65e96b6df39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp315-cp315-win_amd64.whl

Download URL pythonmonkey-1.4.1-cp315-cp315-win_amd64.whl
Size 13.4 MB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
7f2cc2ef3976d9cced1d7deacc82b06d104886e2f2303e4c8e54f236cd6764a2
BLAKE2b-256 checksum
How to use checksums
6ca490283171b19a1d827aad44c837893df9c1bb53ca9a68c22edd6109e05d84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp315-cp315-manylinux_2_31_x86_64.whl

Download URL pythonmonkey-1.4.1-cp315-cp315-manylinux_2_31_x86_64.whl
Size 22.4 MB
Tags CPython 3.15 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
3f87df391a5cdcd7275d7a42d89370cab6648bc0726a892b1b0270a7a20fcae0
BLAKE2b-256 checksum
How to use checksums
17dd581ddfd641f509a40df06369c1b7793a32aee810bbeadcad5c1942ca6fae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp315-cp315-manylinux_2_31_aarch64.whl

Download URL pythonmonkey-1.4.1-cp315-cp315-manylinux_2_31_aarch64.whl
Size 22.2 MB
Tags CPython 3.15 Linux glibc 2.31+ ARM64
SHA-256 checksum
How to use checksums
d6f09a4dbd3f4e880e01629d2fd1eb78d0182c9184c7f3b1c9f0e035d82f5fa0
BLAKE2b-256 checksum
How to use checksums
ac4a8dff5329971219f3b88e4b621e758b99e54e6bb3a494d3805a5f4c6c0783
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp315-cp315-macosx_11_0_x86_64.whl

Download URL pythonmonkey-1.4.1-cp315-cp315-macosx_11_0_x86_64.whl
Size 15.2 MB
Tags CPython 3.15 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
6e7cc3d7c6f5b1435929885a29c5369c0149ab6ffe60b5ffba120f38a5947e8c
BLAKE2b-256 checksum
How to use checksums
913ac48f7859a9f0fdff46880f178416d6c83db284f95cf34f503664c289fdd8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp315-cp315-macosx_11_0_arm64.whl

Download URL pythonmonkey-1.4.1-cp315-cp315-macosx_11_0_arm64.whl
Size 14.8 MB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
04fd7be0154118cb47ab3b78d866c6432b0168b81f42e71b304ad4a7eebf0c52
BLAKE2b-256 checksum
How to use checksums
b97b6d2e47380fbd786645ff5b8639f8ba2c89d58e1c2db0263eaf987d6b4cfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp314-cp314-win_amd64.whl

Download URL pythonmonkey-1.4.1-cp314-cp314-win_amd64.whl
Size 13.4 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
03eeb984e4491ec04f1565326e54d367c7bfd1decd5b08b0f82b37785aa5299c
BLAKE2b-256 checksum
How to use checksums
8aa88fe4d3a056dcd24aa9a752765369085afc3f66903d9dadc75511db9e9f49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp314-cp314-manylinux_2_31_x86_64.whl

Download URL pythonmonkey-1.4.1-cp314-cp314-manylinux_2_31_x86_64.whl
Size 22.4 MB
Tags CPython 3.14 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
0e0d44563abde3cd5e014cbba720ae063b6a62f7af3d8c529e7734e1a9f391c7
BLAKE2b-256 checksum
How to use checksums
d50c2849e17c67d5c75032614cab349b938cdf240c2b17757daf604275ee50f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp314-cp314-manylinux_2_31_aarch64.whl

Download URL pythonmonkey-1.4.1-cp314-cp314-manylinux_2_31_aarch64.whl
Size 22.2 MB
Tags CPython 3.14 Linux glibc 2.31+ ARM64
SHA-256 checksum
How to use checksums
3bf14d8f85720313570cea79e102ea6b898df64f103496f9a13f2c88fc34560e
BLAKE2b-256 checksum
How to use checksums
71678dc7624d1d6cc07a49a00038bf4214eba561444838195b37055c3789665a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp314-cp314-macosx_11_0_x86_64.whl

Download URL pythonmonkey-1.4.1-cp314-cp314-macosx_11_0_x86_64.whl
Size 15.2 MB
Tags CPython 3.14 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
84dce2b247692cd4cc021fb508b9084572e82c6f1e87cb9007562a52f1f5a401
BLAKE2b-256 checksum
How to use checksums
4f61098aec541651d49b4abb73b5a616c4aa570f8d93529fb3b01b63b93fd111
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL pythonmonkey-1.4.1-cp314-cp314-macosx_11_0_arm64.whl
Size 14.8 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
431a25caa831bc691494dd8677ead697baddc47ccc60da01c4b84c95148b91f8
BLAKE2b-256 checksum
How to use checksums
f4ad5fdd10256cc57cc7fc9f612314d190af489e6b89e79e739c74677c6b1b9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp313-cp313-win_amd64.whl

Download URL pythonmonkey-1.4.1-cp313-cp313-win_amd64.whl
Size 13.0 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
9554d2648aca38a7be2dce4452ee42bcca136920ebf93c5b7d7f2c3d91d171c3
BLAKE2b-256 checksum
How to use checksums
c7c150298e061699d76b3d85b56960ada71f903d2916ae2d48dedb92954b7488
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp313-cp313-manylinux_2_31_x86_64.whl

Download URL pythonmonkey-1.4.1-cp313-cp313-manylinux_2_31_x86_64.whl
Size 22.4 MB
Tags CPython 3.13 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
ff051ae23ce6cc4f04496ea4ee6dea6612494aea67cea64dd79a0570ac140ba6
BLAKE2b-256 checksum
How to use checksums
5c3fc39c4919ea92ab639c88d4b90bd913877044700af2480b36e2ded5ba2fee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp313-cp313-manylinux_2_31_aarch64.whl

Download URL pythonmonkey-1.4.1-cp313-cp313-manylinux_2_31_aarch64.whl
Size 22.2 MB
Tags CPython 3.13 Linux glibc 2.31+ ARM64
SHA-256 checksum
How to use checksums
2166b1bb57f77b142de3b2569ce712d740cde16ac23a7ffed8fe2786a5231055
BLAKE2b-256 checksum
How to use checksums
0918bbcdaf09de689c975830d835eee8e852fab9f41d0b7d6a771ebe6dc39273
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp313-cp313-macosx_11_0_x86_64.whl

Download URL pythonmonkey-1.4.1-cp313-cp313-macosx_11_0_x86_64.whl
Size 15.2 MB
Tags CPython 3.13 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
afb6641f2538d8d1cc3347072946e270e9d2b3352bbe98ba75502505d9247f0b
BLAKE2b-256 checksum
How to use checksums
ad8f7b61761ced987b6572cf5a2c1a6b508d5ba0ad3e21cd0cb6a870b8a68550
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL pythonmonkey-1.4.1-cp313-cp313-macosx_11_0_arm64.whl
Size 14.8 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f20663cb54c7c65fd801cddc5717cf99f5cd76d539335ef1d2c78df5bd2d98fb
BLAKE2b-256 checksum
How to use checksums
91bc2c6ae4e5d203d91551c9eba86eed5290022049b6faadc2ff46c34a6d5e67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp312-cp312-win_amd64.whl

Download URL pythonmonkey-1.4.1-cp312-cp312-win_amd64.whl
Size 13.0 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
01d6df884971e4c06f0972758567e23c6c3255a1ba12a065eb99d649b91376b0
BLAKE2b-256 checksum
How to use checksums
a9050bdebe2d169788eae5e1189f1438e680680c68e9af9c6acb3e705fb0b1d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp312-cp312-manylinux_2_31_x86_64.whl

Download URL pythonmonkey-1.4.1-cp312-cp312-manylinux_2_31_x86_64.whl
Size 22.4 MB
Tags CPython 3.12 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
acc98163d5f1adb706bfb2601e9072006f866cea28d8b94da41dcc40497bed6f
BLAKE2b-256 checksum
How to use checksums
75f4489de30ec2f223a5a69d676d89f0dc810cc19dcef5abe93eb5234db32f83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp312-cp312-manylinux_2_31_aarch64.whl

Download URL pythonmonkey-1.4.1-cp312-cp312-manylinux_2_31_aarch64.whl
Size 22.2 MB
Tags CPython 3.12 Linux glibc 2.31+ ARM64
SHA-256 checksum
How to use checksums
8a3be4ccd3f4e1658a904b08155f326e0e4532436b72c40ffc4201fa97ffedf8
BLAKE2b-256 checksum
How to use checksums
3e87e8d18159909d040ae98b3253515a4bcdb6e5ec3e50d10a954dc12c33f629
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp312-cp312-macosx_11_0_x86_64.whl

Download URL pythonmonkey-1.4.1-cp312-cp312-macosx_11_0_x86_64.whl
Size 15.2 MB
Tags CPython 3.12 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
ade1b37a5569323bfb82fb01e71fc3f989544bd717b59107483cce0c364ba68e
BLAKE2b-256 checksum
How to use checksums
11f45fec0001f331ebeaf9f6b0032570678815c488cc9bea83a150096731adba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL pythonmonkey-1.4.1-cp312-cp312-macosx_11_0_arm64.whl
Size 14.8 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e3cda23ad4b79a4edaa8e312d455e7b98ade1ef957b95e4c8e272c63a90ac358
BLAKE2b-256 checksum
How to use checksums
d081d55ebdce1a62956aa99cd82ad2432c137f4a3e8d25e2678808e9c61e4dbe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp311-cp311-win_amd64.whl

Download URL pythonmonkey-1.4.1-cp311-cp311-win_amd64.whl
Size 13.0 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
4a7c3567e96ab08be9f472e082438a00384ebb07831ad26b2417d6c8244ba18b
BLAKE2b-256 checksum
How to use checksums
95c81a08ef1a8a2737b22381ab6564f94ce2aeaaa0ea8d96a4167a22d3da3c67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp311-cp311-manylinux_2_31_x86_64.whl

Download URL pythonmonkey-1.4.1-cp311-cp311-manylinux_2_31_x86_64.whl
Size 22.4 MB
Tags CPython 3.11 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
12a1273e267cf430f490a73ad379107b488d894dbbb2b80783267c65055c5662
BLAKE2b-256 checksum
How to use checksums
f923dcb638c9b63d04f168602948089195eab71621eba952ae626f282c4d9792
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp311-cp311-manylinux_2_31_aarch64.whl

Download URL pythonmonkey-1.4.1-cp311-cp311-manylinux_2_31_aarch64.whl
Size 22.2 MB
Tags CPython 3.11 Linux glibc 2.31+ ARM64
SHA-256 checksum
How to use checksums
4ad7939e294fc184b478f0f9c32321fe8e36db02b02944844a771ff1331ae4e1
BLAKE2b-256 checksum
How to use checksums
88b8045cb003e337576203aa9c44d4f6654e2879efc55692bc3c5d0d0c260431
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp311-cp311-macosx_11_0_x86_64.whl

Download URL pythonmonkey-1.4.1-cp311-cp311-macosx_11_0_x86_64.whl
Size 15.2 MB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
6098274920b4e54824d835cfaea67ab507bf5a0a55d3d77971e73a92cc224fe3
BLAKE2b-256 checksum
How to use checksums
4a485741c93b242e2cdb296c4de4f7ac80e280482bcfc5a191d0128ced435c9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL pythonmonkey-1.4.1-cp311-cp311-macosx_11_0_arm64.whl
Size 14.8 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0c3408f8b30e09460694d98e85d013442d0f6fbcf012825acd821c4193c6cad4
BLAKE2b-256 checksum
How to use checksums
4cde84e1c39d30b9d646580e68764fdbb8d7373a07a06644ccf9a30c97a6f1bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp310-cp310-win_amd64.whl

Download URL pythonmonkey-1.4.1-cp310-cp310-win_amd64.whl
Size 13.0 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
a3bb80ec1be13fa269a58fe69a117e1ae64fb324c998bc4d23a24efc9b587568
BLAKE2b-256 checksum
How to use checksums
4e603c68ffa2437d04b3e2b04815b092b13534247467d92302f9349e56dd5148
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp310-cp310-manylinux_2_31_x86_64.whl

Download URL pythonmonkey-1.4.1-cp310-cp310-manylinux_2_31_x86_64.whl
Size 22.4 MB
Tags CPython 3.10 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
d892ae0b5211e6893d38de6ae2360264d5a7372213d6bb1fb10b86410e13c0f3
BLAKE2b-256 checksum
How to use checksums
dd9c12461e83695a696645c5cf91cd1486aac20645637fbc912c0f106edae038
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp310-cp310-manylinux_2_31_aarch64.whl

Download URL pythonmonkey-1.4.1-cp310-cp310-manylinux_2_31_aarch64.whl
Size 22.2 MB
Tags CPython 3.10 Linux glibc 2.31+ ARM64
SHA-256 checksum
How to use checksums
dbf8c9ce5c4f12b0900465abac11fd2ce0b5e80af813dbdd0a541881f34c8514
BLAKE2b-256 checksum
How to use checksums
998fb39e337996467639e497b3ee0d7430dbc88fbe006cbcbfb98fba27937e6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp310-cp310-macosx_11_0_x86_64.whl

Download URL pythonmonkey-1.4.1-cp310-cp310-macosx_11_0_x86_64.whl
Size 15.2 MB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
9f8817cb5b2f666025a79f10d666d1ad8532906cd610fb6268e7f409eba7e546
BLAKE2b-256 checksum
How to use checksums
dfa3b3a09ac367bf4f7dc931c2088380d3531c2ad8cd1836c91a7932532d71a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL pythonmonkey-1.4.1-cp310-cp310-macosx_11_0_arm64.whl
Size 14.8 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
acc902ddaec5b2bc663bb06ddc00cfe3114354cf33580624962e0abf14247571
BLAKE2b-256 checksum
How to use checksums
a2bc306432aac4341f5fb7528f596c0d6651445e9e2d214098e524987aae0b91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp39-cp39-win_amd64.whl

Download URL pythonmonkey-1.4.1-cp39-cp39-win_amd64.whl
Size 13.0 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
5a3369ca700995bd830534779b4bc7f0c8efe0941fdb790c52dfca21eaef396d
BLAKE2b-256 checksum
How to use checksums
458fae84cd5457e2d9c03034db6b3c6500eb17e41a7d5597477a442a72f7a3de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp39-cp39-manylinux_2_31_x86_64.whl

Download URL pythonmonkey-1.4.1-cp39-cp39-manylinux_2_31_x86_64.whl
Size 22.4 MB
Tags CPython 3.9 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
c43d79c8f1da626a854d4507805737fe2cdac62cda526a809bd16c128e8d6774
BLAKE2b-256 checksum
How to use checksums
a0acfaca2be9c7fb2f0c3170a97be3fcb4ec6b81d19ed86494c5646714fc33f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp39-cp39-manylinux_2_31_aarch64.whl

Download URL pythonmonkey-1.4.1-cp39-cp39-manylinux_2_31_aarch64.whl
Size 22.2 MB
Tags CPython 3.9 Linux glibc 2.31+ ARM64
SHA-256 checksum
How to use checksums
94ecea94d892760ce8786c3ff7c2993b259195ccbdc1d5756859d9c28d6699e4
BLAKE2b-256 checksum
How to use checksums
c800252cc5c4baf8ce8b5837ee6f8cbd5dd1c8a4471034b67143adbe6df98636
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp39-cp39-macosx_11_0_x86_64.whl

Download URL pythonmonkey-1.4.1-cp39-cp39-macosx_11_0_x86_64.whl
Size 15.2 MB
Tags CPython 3.9 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
a0d09109603e3100258d41d3242dabafd794587fed82f681d2d31bf92aafffb2
BLAKE2b-256 checksum
How to use checksums
603f45124e8d54915ef337470ba5aa1728c95d38f4c472192ebb3c7cba66e4bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp39-cp39-macosx_11_0_arm64.whl

Download URL pythonmonkey-1.4.1-cp39-cp39-macosx_11_0_arm64.whl
Size 14.8 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9d4590cfbe037a9c7079a2c647d5b342fa42c5bf357acec0a1e10d6cbc8d8444
BLAKE2b-256 checksum
How to use checksums
019a9635873b1a5708bcf5badbff96f6a157c9c368e7262175aae6a31b9ffeb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp38-cp38-win_amd64.whl

Download URL pythonmonkey-1.4.1-cp38-cp38-win_amd64.whl
Size 13.0 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
fbe30a113d4f1349080afa60c722c3d6025678ba170a94b785ce095115bdb331
BLAKE2b-256 checksum
How to use checksums
337e40ac5c9b3ef7ccfad66cb7a4e8ece72d821d5de3590b4ac00b47720222f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp38-cp38-manylinux_2_31_x86_64.whl

Download URL pythonmonkey-1.4.1-cp38-cp38-manylinux_2_31_x86_64.whl
Size 22.4 MB
Tags CPython 3.8 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
1872fb85da2fded49e1ea6ae703dd2dc1918da71f46f188de36688568540682b
BLAKE2b-256 checksum
How to use checksums
e83cd43f15b5a63748ebd667b750a0515c1ec7811232a42b69aa628df35f43be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp38-cp38-manylinux_2_31_aarch64.whl

Download URL pythonmonkey-1.4.1-cp38-cp38-manylinux_2_31_aarch64.whl
Size 22.2 MB
Tags CPython 3.8 Linux glibc 2.31+ ARM64
SHA-256 checksum
How to use checksums
6fea5fa3a58fab72cd39ded4f2650fb2f37ee13371ec76f030c107f3fa45b355
BLAKE2b-256 checksum
How to use checksums
3f658af291914c5e88364cfdce1a59c789a6e87516d14ff154fec75d12d41306
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp38-cp38-macosx_11_0_x86_64.whl

Download URL pythonmonkey-1.4.1-cp38-cp38-macosx_11_0_x86_64.whl
Size 15.2 MB
Tags CPython 3.8 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
d5baeaa1a0569f540ae564bcab3613c92b22591b3ebb55d07d9304b4557a5659
BLAKE2b-256 checksum
How to use checksums
3b0382159673862afe47bb0afe7c9ba5e61af88f540551496412d816e4c8b6f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pythonmonkey-1.4.1-cp38-cp38-macosx_11_0_arm64.whl

Download URL pythonmonkey-1.4.1-cp38-cp38-macosx_11_0_arm64.whl
Size 14.8 MB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
abcb22062281106a593a4beb48d450ad22ff107849f557b75ed41828bdb1a179
BLAKE2b-256 checksum
How to use checksums
5b08e48561fa629f4c58b5a3ed42e8aa123634d62e1532ec9ffb05c81d75ecab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

1.4.1 This release

41 release files

1.3.2

36 release files

1.3.1

36 release files

1.3.0

36 release files

1.2.0

31 release files

1.0.0

26 release files

0.9.0

26 release files

0.8.0

24 release files

0.7.1

24 release files

0.7.0

24 release files

0.3.0

18 release files

0.2.3

18 release files

0.2.2

18 release files

0.2.1

18 release files

0.2.0

18 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page