Skip to main content

Jac programming language - a superset of both Python and TypeScript/JavaScript 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?

  • Native Superset of Python and TypeScript/JavaScript - Jac is a native superset of both Python and TypeScript/JavaScript, meaning both ecosystems (PyPI and npm) are directly interoperable with Jac without any trickery (no interop interface needed). Every Jac program can be ejected to pure 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.

  • Jac Improves on Python - Jac makes multiple thoughtful quality-of-life improvements/additions to Python. These include new modern operators, new types of comprehensions, new ways of organizing modules (i.e., separating implementations from declarations), etc.

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.10.0.tar.gz (3.4 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.10.0-py3-none-any.whl (5.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jaclang-0.10.0.tar.gz
  • Upload date:
  • Size: 3.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for jaclang-0.10.0.tar.gz
Algorithm Hash digest
SHA256 2b082c8e7e73222d6ecb876761c39019e7c6c557920dc202a6e579e334f0da71
MD5 db584b7ebfe3294a2c506ef163b2f7fe
BLAKE2b-256 fdc671fa81bc6de4915978fa1f2433b0ffe6fde0e8dc8e4ff263718df7a0da4c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jaclang-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 5.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for jaclang-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 60f1a49d22ca12088a37b45153ee0a8fab9d6741d5f6ff59cea4a189abefc69d
MD5 fa59a22a9cec244ee410c2c9c4f3c7f2
BLAKE2b-256 ae463ab87baeacd7eb95fb2010f3479c2c3a1edb1e66a38d4730063b3dbd35c9

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