Skip to main content

ni_sh_a.char-IDE

Run any language. Anywhere.

A polyglot execution engine, a standalone IDE, and a one-line embeddable component — in one Apache-2.0 package.

CI PyPI npm pub Maven Central License Languages PRs welcome

Try it live →  ·  Docs  ·  Add a language  ·  Roadmap


pip install nishachar-ide && nishachar

That opens a full IDE in your browser that runs 62 languages — Python, Rust, Go, C++, Haskell, COBOL, Brainfuck and SHE — plus a real terminal for the system commands your code needs.

Or drop it into any web page, in one line:

<script type="module" src="https://cdn.jsdelivr.net/npm/@nishachar/ide"></script>
<nishachar-ide language="she"></nishachar-ide>

That snippet has no backend. It executes in the visitor's browser tab.

Available everywhere you already work

Ecosystem Install What you get
Python pip install nishachar-ide The engine, the CLI, the IDE, the server
npm npm i @nishachar/ide <nishachar-ide> web component
Dart / Flutter dart pub add nishachar_ide Typed client + the registry, offline
Maven / Gradle io.github.ni-sh-a-char:nishachar-ide Kotlin & Java client, zero dependencies
Docker ghcr.io/ni-sh-a-char/nishachar-ide The server, containerised

Every client ships the same 62-language registry compiled in, so language lookup works offline and before any backend exists.


Why this exists

Every online IDE has the same architecture: your code is POSTed to somebody's server, run in somebody's container, and billed to somebody's credit card. That works right up until the free tier ends or the project is abandoned.

ni_sh_a.char-IDE inverts it. Code always runs on hardware that is already paid for — the visitor's own browser, or your own machine. There is no central runner to abuse, meter, or shut down. The hosted demo costs its maintainer exactly nothing, and always will.

Three ways to run code

Tier Where it runs Languages Setup
Browser the visitor's tab, via WebAssembly Python, SHE, JavaScript, TypeScript none — it's a <script> tag
Local your machine, your toolchains anything you have installed pip install nishachar-ide
Docker a locked-down container all 62, safely Docker running

One interface covers all three, and auto picks per language: your installed toolchain when you have it, a container when you don't.

Use it three ways

As an IDE

nishachar                      # the full IDE, in your browser
nishachar run hello.she        # language inferred from the extension
nishachar run -l rust -c 'fn main(){println!("hi")}'
nishachar languages            # what's available, and what's installed

As an embeddable component — a native Web Component, so it works unmodified in React, Vue, Svelte, Angular, Astro, plain HTML, Electron and Tauri:

<nishachar-ide
  language="python"
  theme="dark"
  endpoint="http://localhost:8777"><!-- omit endpoint to run in-browser -->
</nishachar-ide>
document.querySelector('nishachar-ide')
  .addEventListener('result', e => console.log(e.detail.stdout));

As a Python library

import nishachar

result = nishachar.run('say "Hello from SHE!"', "she")
print(result.stdout, result.exit_code, result.duration_ms)

nishachar.run_file("script.rs", runner="docker", timeout=30)

A language is data, not code

No language has an integration written for it. Every one is a single JSON file:

{
  "id": "python",
  "name": "Python",
  "extensions": [".py"],
  "image": "python:3.12-slim",
  "run": ["python", "{file}"],
  "template": "print(\"Hello!\")\n"
}

That is the whole integration. Adding a language is an 8-line pull request that touches no source code — and it is the best first contribution this project has to offer. Start here.

All 62 languages

Ada · Assembly (NASM) · AWK · Bash · Brainfuck · Bun · C · C# · C++ · Clojure · COBOL · CoffeeScript · Common Lisp · Crystal · D · Dart · Deno · Elixir · Elm · Erlang · F# · Fish · Fortran · Gleam · Go · Groovy · Haskell · Haxe · Io · Java · JavaScript · Julia · Kotlin · Lua · Nim · Nushell · Objective-C · OCaml · Pascal · Perl · PHP · PowerShell · Prolog · Python · R · Racket · Raku · Ruby · Rust · Scala · Scheme · SHE · Solidity · SQL (SQLite) · Swift · Tcl · TypeScript · V · Vala · Wren · Zig · Zsh

Security

Executing arbitrary code is this project's job, so the boundaries are drawn explicitly rather than waved away:

  • Docker tier — no network, read-only root filesystem, all capabilities dropped, no-new-privileges, and hard memory/CPU/process caps. Packages a language needs are installed at image build time, so the network is gone by the time your code runs.
  • Local tier — runs as you, with no isolation. That is correct for your own code and wrong for anyone else's, and the docs say so plainly.
  • Every tier — wall-clock timeout, output byte cap, and a full process-tree kill on timeout.
  • The server — refuses to serve the unsandboxed runner on a non-loopback address, validates the Host header against DNS rebinding, and ships with CORS closed and the terminal disabled.

Read SECURITY.md for the full model, including what it does not protect against.

Contributing

Good first issues are labelled good first issue, and the easiest of them is adding your favourite language. See CONTRIBUTING.md and ARCHITECTURE.md.

Support this project

ni_sh_a.char-IDE is free, Apache-2.0, and architected so it costs nothing to run — there is no hosted runner to pay for, and there never will be. If it saves you time, you can buy me a coffee.

Buy me a coffee

Starring the repo helps just as much — it is how other people find it.

License

Apache License 2.0 — commercial use, modification and distribution permitted, with an explicit patent grant.

Built by Piyush Mishra · If this is useful, a ⭐ helps others find it.

Metadata

Release files for nishachar-ide 2.0.0

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

Source distribution (sdist)

Source distribution for nishachar-ide 2.0.0
File Size Uploaded Provenance
nishachar_ide-2.0.0.tar.gz 50.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for nishachar-ide 2.0.0
File Interpreter ABI Platform
nishachar_ide-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 110.9 kB

Release files / nishachar_ide-2.0.0.tar.gz

Download URL nishachar_ide-2.0.0.tar.gz
Size 50.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6efaf2d5c77da7ccfd51f87dd37ed572e1edd88a50c84949a7d9afa4153db806
BLAKE2b-256 checksum
How to use checksums
c809d4bdcf356caef0c1c668572bec2b9630731a81afbf4281e21050c48e4861
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.

Transparency log

Release files / nishachar_ide-2.0.0-py3-none-any.whl

Download URL nishachar_ide-2.0.0-py3-none-any.whl
Size 60.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc703fae186a605fc087a30d8c32e8b9ada5a8917f11a8f2def9deb0fb0f3e9f
BLAKE2b-256 checksum
How to use checksums
1bc9347f3a24541ada9afe5a193e87c22affe52b66b2da20d159b128fce9136d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.

Transparency log

Security for nishachar-ide 2.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for nishachar_ide-2.0.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files Full provenance

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