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-0.26.2.0-py3-none-manylinux_2_34_x86_64.whl (93.3 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ x86-64

mojo_compiler-0.26.2.0-py3-none-manylinux_2_34_aarch64.whl (88.7 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ ARM64

mojo_compiler-0.26.2.0-py3-none-macosx_13_0_arm64.whl (68.2 MB view details)

Uploaded Python 3macOS 13.0+ ARM64

File details

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

File metadata

File hashes

Hashes for mojo_compiler-0.26.2.0-py3-none-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 afb81f9146369bbef7f05899b95ce3897e598be69e0109694a85278613e84e1f
MD5 676ae267841c5caf718f0788d0a97724
BLAKE2b-256 93a58125e0025a9cc0d562c7b814bcb073bf80d55e41398bf74b58a2965c7c0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mojo_compiler-0.26.2.0-py3-none-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 a88837d71435330d1c100a8f16d9ef8221d366227c0eb1234d60e8cf06a5e48c
MD5 324ce1ca1565d0e8177887776aff8289
BLAKE2b-256 df54c6d06b05a51422872cae7e8ed4161bc7585db299a1239dcfca06cb5f3eb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mojo_compiler-0.26.2.0-py3-none-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 d9ff03ed5db5f921d7ef5c7e4afcb8bc1cb2ff4ff40ee0403f248d23f85d5881
MD5 78234467b608e5183fb577250991547d
BLAKE2b-256 53d409a8d8a98aadf260f466b2e35c62aff253600dce8d79e05170ee7ae5d75f

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