Skip to main content

The Mojo programming language (compiler only)

Project description

Mojo

Mojo is a systems programming language specifically designed for high-performance AI infrastructure and heterogeneous hardware. Our vision for Mojo is to be the one programming language developers need to target diverse hardware—CPUs, GPUs, and other accelerators—using Python's intuitive syntax combined with modern systems programming capabilities. Of course, Mojo also provides strong interoperability with Python.

NOTE: Not available for Windows.

What's in mojo-compiler

The mojo-compiler package includes the minimal dependencies required to build and run Mojo code, such as the Mojo compiler and standard library. It's smaller than the full mojo package package and it's useful for environments where you only need to execute Mojo code. For example, mojo-compiler is good if you want it just to run Mojo in a production environment or when you're programming in Python and calling into a Mojo package (but not writing new Mojo code).

The mojo-compiler doesn't include the Mojo language server (LSP), LLDB debugger tools, Mojo code formatter, or Mojo REPL. For a complete developer installation, we recommend the mojo package package instead.

Get started with pip

  1. Install Mojo:

    pip install mojo-compiler
    

    If you want the nightly build, instead use:

    pip install --pre mojo-compiler \
      --index-url https://dl.modular.com/public/nightly/python/simple/
    
  2. Write some code:

    # hello.mojo
    def main():
      print("Hello, World!")
    
  3. Run the code:

    mojo hello.mojo
    
    Hello, World!
    

Using pip is great for existing Python-based environments, but if you're getting started for the first time, we recommend instead installing with pixi. For more information, see the Mojo install guide.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

mojo_compiler-0.25.7.0-py3-none-manylinux_2_34_x86_64.whl (104.4 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ x86-64

mojo_compiler-0.25.7.0-py3-none-manylinux_2_34_aarch64.whl (102.4 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ ARM64

mojo_compiler-0.25.7.0-py3-none-macosx_13_0_arm64.whl (76.6 MB view details)

Uploaded Python 3macOS 13.0+ ARM64

File details

Details for the file mojo_compiler-0.25.7.0-py3-none-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for mojo_compiler-0.25.7.0-py3-none-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b67bfed9675e582b72d1e52dbf64e9b8f13c47dcdf55f855cb889d2ba9a395a7
MD5 859947640a28ff29acc179e234900cf8
BLAKE2b-256 20579ceec8ae8fadb733272093e267732d9f4f3388099eb3099ae8b27f8b6d8c

See more details on using hashes here.

File details

Details for the file mojo_compiler-0.25.7.0-py3-none-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for mojo_compiler-0.25.7.0-py3-none-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 1d05455cff7513943c9582ea442547e22f0c266d6cd1d4be599999f183e09e32
MD5 a3bb733e23c1e9114ac94724d6e21b39
BLAKE2b-256 3396be2413eccf3c955534508ab66a044426f2a80a31b84af2204aad983d8e67

See more details on using hashes here.

File details

Details for the file mojo_compiler-0.25.7.0-py3-none-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for mojo_compiler-0.25.7.0-py3-none-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 c8be11b6f17be249ef89748b56c4ff82c60d840995aeb95c739ce3bae2483fe1
MD5 c06a8cf5707fb5145d3ecd0b9210c958
BLAKE2b-256 2cc869e66f0a8f67d85afe64ed266168e7e72dc2c074e60623aae4e8d5238989

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