Skip to main content

Jac programming language - Python-like syntax, compiles to Python bytecode, JavaScript, and native machine code with novel constructs for AI-integrated programming.

Project description

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jaclang-0.15.4.tar.gz (10.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jaclang-0.15.4-py3-none-any.whl (12.6 MB view details)

Uploaded Python 3

File details

Details for the file jaclang-0.15.4.tar.gz.

File metadata

  • Download URL: jaclang-0.15.4.tar.gz
  • Upload date:
  • Size: 10.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jaclang-0.15.4.tar.gz
Algorithm Hash digest
SHA256 b95af7c7c8a8dea2cc01f7af4bb1c722bc83cdc69493141d8e40c0b22d447fb0
MD5 1ba75fa683306a7e5a5d9bbd970ae913
BLAKE2b-256 ab45183ad1b7c28cb1a58c506e3dc36c6ba80d15385f80dd43d3bc36d5f12b98

See more details on using hashes here.

File details

Details for the file jaclang-0.15.4-py3-none-any.whl.

File metadata

  • Download URL: jaclang-0.15.4-py3-none-any.whl
  • Upload date:
  • Size: 12.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jaclang-0.15.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8cc2833167ef46f9d3234c4878b1f8c8591e21f30375a5476ba666bf90440e65
MD5 3a1b6a6aca07cab0ad865ab8a0ab2646
BLAKE2b-256 69c7a27a5b29b273b499d6c7de43d60ddcc1a204dbd690dacec9c89a2bbd54ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page