skillfed

jsii

Python client for jsii runtime

jsii v1.139.0 9.0M downloads/30d#1,569 on PyPI2,866
Permissive license Apache-2.0 Active released

What it is and what it does

jsii is the Python runtime layer for the jsii polyglot framework, which allows a single TypeScript class library to be consumed natively from Python, Java, C#, and other languages. When you install jsii, you get the Python bindings and runtime machinery needed to call JavaScript classes as if they were native Python objects—the framework handles marshalling, type conversion, and cross-language method dispatch behind the scenes.

The primary use case is consuming jsii-compiled libraries from Python code. Rather than rewriting libraries in every target language, teams author once in TypeScript, compile to jsii format, and jsii's language-specific runtimes (including this Python client) make those classes available with natural syntax in each language. It depends on attrs, cattrs, typeguard, publication, python-dateutil, and typing_extensions to handle serialization, type checking, and object lifecycle across the language boundary.

Use it for:

  • Consume jsii-compiled TypeScript libraries from Python with native class and method syntax.
  • Build polyglot infrastructure or application frameworks where a single TypeScript codebase serves multiple language ecosystems.
  • Integrate Python applications with JavaScript libraries that have been published in jsii format.
  • Maintain type safety and IDE support when calling cross-language bindings through typeguard validation.
  • Use libraries authored in TypeScript without rewriting them for Python environments.

Worth the install?

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

jsii is a Python runtime client that enables Python code to interact with JavaScript classes compiled to jsii format, allowing polyglot use of TypeScript-authored class libraries across multiple languages.

Yes, if you are using jsii-compiled libraries in Python. The package is actively maintained, has no known vulnerabilities, installs with low friction, and carries a permissive Apache-2.0 license. Install only if you have a concrete need to consume jsii-compiled bindings; it is not useful as a standalone tool.

Install

jsii on PyPI

pip

pip install jsii

uv

uv add jsii

poetry

poetry add jsii

Installing jsii

Before you install

Low friction installation with six stable runtime dependencies (attrs, cattrs, publication, typeguard, python-dateutil, typing_extensions). Active maintenance with a release within the last month and no known vulnerabilities. Requires Python 3.10 or later.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and notice file but face no copyleft obligations.

Quickstart

pip install jsii

import jsii
# jsii provides runtime support for consuming compiled bindings
# Typically used with pre-compiled jsii libraries

Requires Python 3.10 or later. The package is a runtime client for jsii-compiled libraries; you need pre-compiled bindings to use it effectively.

Verify before relying

  • Whether all listed Python versions (3.10–3.14) are actively tested or if some are aspirational.
  • Performance characteristics and memory overhead when bridging between Python and JavaScript runtimes.
  • Availability and ecosystem of jsii-compiled libraries beyond the primary use case.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 6 — attrs, cattrs, publication, typeguard, python-dateutil, typing_extensions
Maintenance actively maintained — 28 days since the last release
Last repo commit
First released
Downloads 9,003,259/month — #1,569 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: jsii-1.139.0-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: JavaScriptProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: LibrariesTopic :: UtilitiesTyping :: Typed

Tags

python javascript interoppolyglot library bindingstypescript to pythonjsii runtime clientcross-language class bindingslanguage bridge runtimejavascript class wrapper
polyglotlanguage-bridgetypescript-interop

More Libraries packages