An open API service indexing awesome lists of open source software.

https://github.com/elide-dev/elide

fast polyglot runtime
https://github.com/elide-dev/elide

graalvm java javascript jvm kotlin multiplatform native runtime

Last synced: 13 days ago
JSON representation

fast polyglot runtime

Awesome Lists containing this project

README

        



Elide


Elide is a fast polyglot runtime, combining support for JavaScript, TypeScript, and Python.




elide: verb. to omit (a sound or syllable) when speaking. to join together; to merge.









Code of Conduct





Python 3.11.x


Latest: 1.0.0-beta2



Learn more at elide.dev | Docs, Guides, and Samples


> [!IMPORTANT]
> Careful! Elide is in beta.

## Usage

Elide is like Node or Python. Use it to run things:
```shell
> elide ./my-code.{ts,js,py}
```

You can use Node APIs. You can even mix languages:
```typescript
// sample.mts

// use node apis
import { readFileSync } from "node:fs"

// interoperate across languages
import sample from "./sample.py"

// this is typescript - no build step needed first, like deno or bun
const x: number = 42;

console.log(sample.greeting() + ` The answer is ${x}`);
```
```python
# sample.py

def greeting(name = "Elide"):
return f"Hello, {name}!"
```

```shell
> elide ./sample.mts
Hello, Elide! The answer is 42
```

Read more about Elide's [feature highlights](https://elide.dev)

## Installation

You can install Elide in several ways:

### Script Install (Linux amd64 or macOS arm64)
```shell
curl -sSL --tlsv1.2 elide.sh | bash -s -
```

### Homebrew (macOS)
```shell
brew tap elide-dev/elide
brew install elide
```

After installation, you can run `elide --help` or `elide info` to see more information.

> [!NOTE]
> If you need a binary for a different architecture, please file an issue.

### Using Elide via Docker

We provide a container image, hosted on GitHub:

```
docker run --rm -it ghcr.io/elide-dev/elide
```

### Using Elide in GitHub Actions

We provide a [setup action](https://github.com/marketplace/actions/setup-elide):

```yaml
- name: "Setup: Elide"
uses: elide-dev/setup-elide@v2
with:
# any tag from the `elide-dev/releases` repo; omit for latest
version: 1.0.0-beta2
```

### Using Elide via GitHub Codespaces

We provide a [GitHub Codespace](https://github.com/features/codespaces) with Elide pre-installed. You can click below to try it out, right from your browser:

[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/elide-dev/elide?devcontainer_path=.devcontainer%2Fdevcontainer.json)

## Contributing

Issue reports and pull requests are welcome! See our [contribution guidelines](CONTRIBUTING.md) or join our [discord community](https://elide.dev/discord) and let us know which features you would like to see implemented, or simply participate in the discussions to help shape the future of the project.

## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=elide-dev/elide&type=Date)](https://star-history.com/#elide-dev/elide)

[1]: https://kotlinlang.org/
[2]: https://graalvm.org/
[3]: https://micronaut.io/
[4]: https://reactjs.org/
[5]: https://developers.google.com/protocol-buffers
[6]: https://grpc.io/
[7]: https://developers.google.com/closure
[8]: https://bazel.build/
[9]: https://gradle.org/
[10]: https://developers.google.com/speed/pagespeed/module
[11]: https://github.com/sgammon/elide/tree/master
[12]: https://github.com/sgammon/elide
[13]: https://buf.build
[14]: https://esbuild.github.io/