Mojo is a new programming language that bridges the gap between research and production by combining Python syntax and ecosystem with systems programming and metaprogramming features. Mojo is still young, but it is designed to become a superset of Python over time.
This repo includes source code for:
- Mojo examples
- Mojo documentation hosted at modular.com
- The Mojo standard library
This repo has two primary branches:
-
The
main
branch, which is in sync with the last stable released version of Mojo. Use the examples here if you’re using a release build of Mojo. -
The
nightly
branch, which is in sync with the Mojo nightly build and subject to breakage. Use this branch for contributions, or if you're using the latest nightly build of Mojo.
To learn more about Mojo, see the Mojo Manual.
To install the last released build of Mojo, follow the guide to Get started with Mojo.
The nightly Mojo builds are subject to breakage and provide an inside view of how the development of Mojo is progressing. Use at your own risk and be patient!
To get nightly builds, see the same instructions to Get started with
Mojo, but when you create
your project, instead use the following magic init
command to set the
conda package channel to max-nightly
:
magic init hello-world-nightly --format mojoproject \
-c conda-forge -c https://conda.modular.com/max-nightly
Or, if you're using conda, add the
https://conda.modular.com/max-nightly
channel to your environment.yaml
file. For example:
[project]
name = "Mojo nightly example"
channels = ["conda-forge", "https://conda.modular.com/max-nightly"]
platforms = ["osx-arm64", "linux-aarch64", "linux-64"]
[dependencies]
max = "*"
And when you clone this repo, switch to the nightly
branch because the main
branch might not be compatible with nightly builds:
git clone https://github.com/modularml/mojo.git
git checkout nightly
When you want to report issues or request features, please create a GitHub issue here. See here for guidelines on filing good bugs.
We welcome contributions to this repo on the
nightly
branch. If you’d like to contribute to Mojo, please first read our Contributor
Guide.
For more general questions or to chat with other Mojo developers, check out our Discord.
This repository and its contributions are licensed under the Apache License v2.0 with LLVM Exceptions (see the LLVM License). MAX and Mojo usage and distribution are licensed under the MAX & Mojo Community License.