skillfed

stpyv8

Python Wrapper for Google V8 Engine

stpyv8 v13.1.201.22 2.1M downloads/30d#3,288 on PyPI542
Permissive license Apache License 2.0 Abandoned released

What it is and what it does

STPyV8 is a Python C++ extension that wraps Google's V8 JavaScript engine, enabling bidirectional interoperability between Python and JavaScript in a single process. You can evaluate JavaScript code and call JavaScript functions from Python, or export Python classes and objects to be used from within V8 contexts. The package is a maintained fork of the original PyV8 project, updated to work with modern V8 versions and Python 3.

The library ships as precompiled wheels for Linux, macOS, and Windows across Python versions 3.9 through 3.14, with a single runtime dependency on importlib_resources. It is designed for scenarios where you need to execute JavaScript logic alongside Python code without spawning a separate process or network call.

Use it for:

  • Embed JavaScript logic (e.g., data transformations, validation rules) directly into a Python application without external process overhead.
  • Call Python functions and classes from JavaScript code running in V8, bridging domain logic written in both languages.
  • Prototype or test JavaScript code in a Python environment before deploying it to a browser or Node.js runtime.
  • Migrate JavaScript-heavy workflows into Python by wrapping V8 execution within Python control flow.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

STPyV8 embeds Google V8 JavaScript engine into Python, allowing you to run JavaScript code from Python and call Python code from JavaScript within the same process.

Yes, if you need Python–JavaScript interoperability in a single process and can accept that the repository is archived. The package is stable, has no known vulnerabilities, and works across major platforms and recent Python versions. However, do not rely on it for active maintenance or security patches; use it only in contexts where you control the JavaScript code being executed or can audit it thoroughly.

Install

stpyv8 on PyPI

pip

pip install stpyv8

uv

uv add stpyv8

poetry

poetry add stpyv8

Installing stpyv8

Before you install

Medium install friction due to compiled C++ extension and platform-specific wheels. Repository is archived and marked abandoned as of the fact sheet date, though the package remains functional and receives occasional updates; no active maintenance should be expected.

License in practice

Apache License 2.0 is permissive, allowing commercial and private use with minimal restrictions; you must retain license notices in distributions.

Quickstart

import STPyV8

with STPyV8.JSContext() as ctxt:
  upcase = ctxt.eval("(s) => s.toUpperCase()")
  print(upcase("hello"))

Requires precompiled wheels for your platform and Python version (3.9–3.14 supported); building from source requires C++ compiler, Python headers, and Boost libraries.

Verify before relying

  • Whether the archived repository will receive security patches or bug fixes going forward.
  • Performance characteristics and memory overhead when embedding large or long-running V8 contexts.
  • Compatibility guarantees with future Python or V8 engine versions.

Package facts

License Apache License 2.0 (permissive)
Python support not specified
Install friction medium — platform-specific wheel
Runtime dependencies 1 — importlib_resources
Maintenance abandoned — 582 days since the last release
Last repo commit (repository archived)
First released
Downloads 2,109,637/month — #3,288 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: stpyv8-13.1.201.22-cp310-cp310-macosx_13_0_x86_64.whl; stpyv8-13.1.201.22-cp310-cp310-macosx_14_0_arm64.whl; stpyv8-13.1.201.22-cp310-cp310-manylinux_2_31_x86_64.whl; stpyv8-13.1.201.22-cp310-cp310-win_amd64.whl; stpyv8-13.1.201.22-cp311-cp311-macosx_13_0_x86_64.whl; stpyv8-13.1.201.22-cp311-cp311-macosx_14_0_arm64.whl; stpyv8-13.1.201.22-cp311-cp311-manylinux_2_31_x86_64.whl; stpyv8-13.1.201.22-cp311-cp311-win_amd64.whl; stpyv8-13.1.201.22-cp312-cp312-macosx_13_0_x86_64.whl; stpyv8-13.1.201.22-cp312-cp312-macosx_14_0_arm64.whl; stpyv8-13.1.201.22-cp312-cp312-manylinux_2_31_x86_64.whl; stpyv8-13.1.201.22-cp312-cp312-win_amd64.whl; stpyv8-13.1.201.22-cp313-cp313-macosx_13_0_x86_64.whl; stpyv8-13.1.201.22-cp313-cp313-macosx_14_0_arm64.whl; stpyv8-13.1.201.22-cp313-cp313-manylinux_2_31_x86_64.whl; stpyv8-13.1.201.22-cp313-cp313-win_amd64.whl; stpyv8-13.1.201.22-cp314-cp314-macosx_13_0_x86_64.whl; stpyv8-13.1.201.22-cp314-cp314-macosx_14_0_arm64.whl; stpyv8-13.1.201.22-cp314-cp314-manylinux_2_35_x86_64.whl; stpyv8-13.1.201.22-cp39-cp39-macosx_13_0_x86_64.whl

Development Status :: 5 - Production/StableEnvironment :: PluginsIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: C++Programming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Topic :: InternetTopic :: Internet :: WWW/HTTPTopic :: Software DevelopmentTopic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities

Tags

python javascript interopembed v8 engine pythonrun javascript in pythonpython v8 bridgejavascript python integrationcall javascript from pythonv8 engine wrapper
javascript-enginelanguage-bridgearchived

More Software Development packages