/awesome-janet

Curated list of awesome Janet things

Awesome Janet

Curated list of libraries and tooling for the Janet programming language: https://janet-lang.org

If you have a library or package you're working on, or have come across one, feel free to make a PR.

Table of Contents

Editors

This section doesn't need much explanation.

Emacs

  • janet-mode Major mode for editing Janet files
  • inf-janet Comint mode for wrapping an inferior Janet process

Vim

VS

  • vscode-janet Visual Studio Code plugin (Syntax highlighting, Eval sexp/file)

JPM installable packages

JPM (Janet Package Manager) is the official package manager of Janet and comes with the Janet distribution.

Concurrency

Continuous Integration

GitHub Actions

  • build.yaml A simple workflow for GitHub Actions that will download, set up and test a project

Database

Game Dev

Graphics

  • Jaylib Janet bindings to Raylib.

GUI

Package Management

  • pkgs The official package listing for Janet.
  • hermes Nix/Guix like software environment manager.

Serialization

  • json JSON library
  • jdn Janet Data Notation library

Testing

  • Testament A testing library inspired by clojure.test
  • tester A testing library extracted from the Joy project

Web

Client

  • jurl Janet bindings for libcurl

Frameworks

  • Joy Full stack web framework
  • Chidi API oriented web framework (WIP).
  • Ahungry Janet Curated library of other Janet packages with custom additions.

Frontend/JS

Server

  • Circlet HTTP and networking library with a Clojure Ring-like abstraction.

Random

  • Spork Various Janet utility modules (includes a code formatter).
  • janet-sh Shell like short hands for running commands in janet code.
  • argparse CLI argument parser for Janet
  • args A simple (KISS) CLI argument parser

Related tooling/projects

Projects that are not necessarily written in Janet or directly in the Janet/JPM ecosystem, but are of potential interest to the Janet audience and have direct usage for Janet projects.

  • janetdocs Community doc site
  • Puny GUI Pre-built cross-platform distribution of Janet runtime with extras (native GUI, libcurl, sqlite)
  • swig (add-janet-branch) SWIG auto-generates bindings from C header files and/or SWIG interface files, and produces the appropriate Janet-wrap bindings (tested/used on IUP, libcurl, libcairo and more).
  • Powered by Janet A collection of all things written in Janet

For your reading pleasure