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 \
      --extra-index-url https://whl.modular.com/nightly/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-1.0.0b2-py3-none-manylinux_2_34_x86_64.whl (96.9 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ x86-64

mojo_compiler-1.0.0b2-py3-none-manylinux_2_34_aarch64.whl (92.0 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ ARM64

mojo_compiler-1.0.0b2-py3-none-macosx_13_0_arm64.whl (70.7 MB view details)

Uploaded Python 3macOS 13.0+ ARM64

File details

Details for the file mojo_compiler-1.0.0b2-py3-none-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for mojo_compiler-1.0.0b2-py3-none-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7c10021ca0d775f37af1ee8afa62094294405cee85f0bdb2af7eeb956055f140
MD5 1509717186260d06ae6e50ba11d55ab2
BLAKE2b-256 b7cbace18363deee8f3d8cdf439a2c9460334efd7d3a2883d266a6c7ab9e2e50

See more details on using hashes here.

File details

Details for the file mojo_compiler-1.0.0b2-py3-none-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for mojo_compiler-1.0.0b2-py3-none-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 344a35eae3fecb31f6d22380f821e84da1c6c302d852573444fcdc47a5fcf2f5
MD5 98c0ea214bfb80ac5c0a8e2ab6613318
BLAKE2b-256 476f037a8337f4f4d8f3be33109134cbfeab07600c6c8261a50da95429c55a7b

See more details on using hashes here.

File details

Details for the file mojo_compiler-1.0.0b2-py3-none-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for mojo_compiler-1.0.0b2-py3-none-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 45013b502b31d9dfa02b2071f7ce9a56d3bb7997a91f26b89e3e69614e070a9d
MD5 b33b43cfa35a48a5c2e02000dd7d5ae3
BLAKE2b-256 d50b3b0d33545a684c6e92b77730f55d3317d487a926345ab923f640b03d655e

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