--- id: jsii version: "1.139.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # jsii — Python client for jsii runtime License: permissive · Maintenance: active · Downloads: 9.0M/mo ## 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 above — 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 pip install jsii uv add jsii 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_current - Install friction: low - Maintenance: active - Downloads: 9.0M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags python javascript interop, polyglot library bindings, typescript to python, jsii runtime client, cross-language class bindings, language bridge runtime, javascript class wrapper, polyglot, language-bridge, typescript-interop [View on SkillFed](https://skillfed.io/packages/jsii) · [View on PyPI](https://pypi.org/project/jsii/)