This is the main source code repository for the Jac programming language. It contains the compiler, language server, and documentation.
What and Why is Jac?
-
Ecosystem-Native Multi-Target Compilation - With Python-like syntax, Jac compiles to Python bytecode, JavaScript, and native machine code (C-ABI compatible). This means every library in PyPI, npm, and native C ecosystems is directly usable from Jac without interop wrappers or foreign function interfaces. Every Jac program can also be ejected to readable Python, and Python programs can be transpiled to Jac.
-
AI as a Programming Language Constructs - Jac includes a novel (neurosymbolic) language construct that allows replacing code with generative AI models themselves. Jac's philosophy abstracts away prompt engineering. (Imagine taking a function body and swapping it out with a model.)
-
New Modern Abstractions - Jac introduces a paradigm that reasons about persistence and the notion of users as a language level construct. This enables writing simple programs for which no code changes are needed whether they run in a simple command terminal, or distributed across a large cloud. Jac's philosophy abstracts away dev ops and container/cloud configuration.
-
Quality-of-Life Beyond Python - Jac introduces modern operators, new comprehension forms, and module organization that separates declarations from implementations -- going beyond what Python offers while remaining familiar.
Quick Start
To install Jac, run:
pip install jaclang
Run jac in the terminal to see whether it is installed correctly.
Read "Getting Started" from Docs for more information.
Installing from Source
If you really want to install from source (though this is not recommended):
# with a local clone at `path/to/repo`:
pip install path/to/repo/jac
# or to have `pip` clone for you:
pip install git+https://github.com/jaseci-labs/jaseci#subdirectory=jac
Getting Help
Submit and issue! Community links coming soon.
Contributing
See CONTRIBUTING.md.
License
Jaclang is distributed under the terms of both the MIT license with a few other open source projects vendored within with various other licenses that are very permissive.
See LICENSE-MIT, and COPYRIGHT for details.
Trademark
Jaseci owns and protects the Jaclang trademarks and logos (the "Jaclang Trademarks").
If you want to use these names or brands, please read the media guide.
Third-party logos may be subject to third-party copyrights and trademarks. See Licenses for details.
Metadata
Release files for jaclang 0.16.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jaclang-0.16.7.tar.gz | 12.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jaclang-0.16.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.0 MB
Release files / jaclang-0.16.7.tar.gz
| Download URL | jaclang-0.16.7.tar.gz |
|---|---|
| Size | 12.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
814ae2518feeb7e3f7203c2818bf1abff21e18bd670b06ecf8b011e7a07ff32d
|
|
BLAKE2b-256 checksum How to use checksums |
ceef2fb81a1c3f427a60aa62a2177d8d9baebf2f90a0d595f5c109a2e5124b7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / jaclang-0.16.7-py3-none-any.whl
| Download URL | jaclang-0.16.7-py3-none-any.whl |
|---|---|
| Size | 14.8 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
74f5a7e5e2c781cc3397a26b984b29c8ba672600703710562f68b0c86a1bc86c
|
|
BLAKE2b-256 checksum How to use checksums |
72c35507c2122e82a65348a867aa6e6e1db90ee48e249273edb824886fcbc1d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|