Mojo packages are an effective way to organize and reuse code in Mojo projects. They allow you to bundle related modules into packages, making them easier to manage and share. This tutorial guides you on creating and using Mojo packages.

What is a Mojo Package?

A Mojo package is essentially a directory that groups multiple Mojo modules. It includes an __init__.mojo file, indicating that the directory is recognized as a package. This package organization makes managing and using different modules in your Mojo projects easier.

Creating a Mojo Package

To create a Mojo package, you need to follow these steps:

  1. Create a directory with a name that represents your package. For example, mypackage.
  2. Create an __init__.mojo file inside the directory. This file is required to mark the directory as a package. It can be empty or contain some initialization code for the package.
  3. Create one or more Mojo modules inside the directory. These files contain the code you want to import and use in other Mojo programs. For example, mymodule.mojo.
  4. Optionally, compile the package into a .mojopkg or .\uD83D\uDCE6 file using the mojo package command. This command takes the directory name as an argument and produces a binary file with the same or custom name you specify. For example, mojo package mypackage or mojo package mypackage mypackage.\uD83D\uDCE6.

How to Use a Mojo Package?

To use a Mojo package effectively in your Mojo program, you can follow these methods for importing the package and its components:

  1. Import the Entire Package: To use a Mojo package in your Mojo program, you can import it using the following syntax:
    import mypackage

    You can access its modules using mypackage.mymodule.

  2. Import a Specific Module: You can also import specific modules from a package using the following syntax:
    from mypackage import mymodule

    You can then access its members directly, like mymodule.MyPair.

  3. Import a Specific Member: To import a specific member from a module and use it directly, you can import it using the following syntax:
    from mypackage.mymodule import MyPair

    You can use it directly, like MyPair.

  4. Using Aliases: To import a module using an alias, you can use the following syntax:
    • For a package: import mypackage as my, then access modules with my.mymodule.
    • For a module: from mypackage import mymodule as mm, then use mm.MyPair.
    • For a member: from mypackage.mymodule import MyPair as MP, then use MP.

These methods provide flexibility and clarity in your code, allowing you to access the necessary functionalities of the Mojo package efficiently.


This tutorial taught you how to create and use Mojo packages in your projects. Mojo packages are a convenient way to organize and share your code libraries with other Mojo developers. You can import packages and their modules from source files or compiled binary files. You can also use different ways to import packages and their modules, depending on your preference and the structure of your project.

Found This Page Useful? Share It!
Get the Latest Tutorials and Updates
Join us on Telegram