Jaseci LogoJac and Jaseci

The Jac programming language and Jaseci runtime stack supersets Python withAI-first constructs,object spatial programming, andscale-native constructs.

Our journey is strengthened by our sponsors and partners

Affiliation 1

Part of Nvidia Inception Program, supporting cutting edge AI innovation and scalability

Affiliation 2

Research led by faculty and researchers at University of Michigan, United States

Affiliation 3

Sponsored by NSF, advancing community driven open source ecosystem

What is Jac?

Jac is a drop-in replacement and superset of Python, like TypeScript for JavaScript, offering full Python interoperability while adding features to simplify and accelerate AI application development.

Get Started with Jac

🚀

Getting Started

Install Jac and setup your development environment. Write your first Jac program.

Start Guide
🎯

Tour of Jac

Learn core concepts including Object-Spatial Programming and AI export constructs.

Take Tour
📚

The Jac Book

Complete guide for Python developers transitioning to Jac programming.

Read Book
🐦

LittleX Tutorial

Build your own Twitter-like app with Jac. Learn object-spatial programming hands-on.

Build Twitter
🤖

RAG Chatbot

Create an AI-powered conversational chatbot with retrieval-augmented generation.

Build Chatbot
🎮

AI Games

Explore AI-driven applications with RPG games and fantasy trading systems.

Play Games
☁️

Jac Cloud

Deploy your Jac applications to the cloud with built-in scaling and persistence.

Go Cloud
🧠

AI Programming

Master AI integration with byLLM and multimodal models in Jac.

AI Guide

Quick Reference

Jac in 2 minutes! Quick syntax reference and cheat sheets for fast learning.

Quick Start

Why Choose Jac?

🐍

Jac supersets Python

Jac is a drop-in replacement for Python and supersets Python, much like Typescript supersets Javascript or C++ supersets C.

🧠

Novel Code Export Construct for AI

Jac introduces a new way programmers can integrate LLMs into their code. Simply replace a function body with an llm call, need for prompt engineering.

🌐

Object-Spatial Programming

Jac introduces super OOP export constructs for a new paradigm called object-spatial OOP, enhancing the handling and visualization of data.

☁️

Cloud Native Abstractions

Jac makes persistence and user concepts part of the language, enabling simple programs to run unchanged in terminals or across clouds.

Zero DevOps Setup

Deploy applications without complex infrastructure setup. Jac handles scaling, persistence, and user management automatically.

🔄

Seamless Interoperability

Use any Python library or framework. Jac maintains full compatibility with the entire Python ecosystem while adding powerful new capabilities.

Built by Nerds and Innovators

~ Imagine, Create, Launch ~

Jaseci Logo

Jac is an innovative programming language that extends Python's semantics while maintaining full interoperability with the Python ecosystem. Created by @marsninjawith contributors of Jac Hackers Everywhere, it introduces cutting-edge programming models and abstractions specifically designed to minimize complexity and embrace AI-forward development.

Our mission is to automate categories of common software systems that typically require manual implementation, making advanced programming paradigms accessible to developers worldwide.

Journey of Jaseci

~ The story of an idea realized ~

Prologue: In 2020, the concept of a new way of developing software in the AI era is concieved and later described in a Forbes blog article.
What’s In Store For The Next Generation Of AI? The Jaseci Perspective

In 2022, the idea has evolved and the first intellectual step in the journey of Jaseci and Jac is described.
The Case for a Wholistic Serverless Programming Paradigm and Full Stack Automation for AI and Beyond -- The Philosophy of Jaseci and Jac

Then in 2023, the idea survives peer-review at Computer Architecture Letters.
The Jaseci Programming Paradigm and Runtime Stack: Building Scale-out Production Applications Easy and Fast

In 2024, the idea that AI should be a conventional code construct in the language is conjoured and ellucidated.
LLMs are Meaning-Typed Code Constructs

That same year, "data-spatial programming" described in earlier works becomes "object-spatial programming" and is rigorously defined.
Object-Spatial Programming

And, in 2025, the notion of "scale-native programming" through language abstraction is rigorously defined though it was first described in the original 2022 paper.
Extending Object-Spatial Semantics for Scale Native Programming

And the journey continues...