Skip to main content

Build tool

Project description

makex

Makex is a modern build and automation tool.

It makex stuff happen. 🙂

What Makex is used for

  • Compiling software/applications/firmware
  • Building file systems/trees/images/file archives
  • Building and deploying websites and web applications
  • Running things repeatably
  • Replacing most or all of the other build systems

Features 🍩

  • Task based
  • Familiar Syntax
  • File Hashing and Checksums
  • Dependency Graphs
  • Caching
  • Workspaces
  • Copy on Write

Links 🔗

Requirements

  • Python >= 3.9

Quick Start 🏎️

  1. Install:
pip install makex
  1. Define a Makex file and name it Makexfile (or makexfile, if you prefer):
task(
    name="hello",
    steps=[
        write("hello-world.txt", "Hello World!"),

        # you may also execute things:
        # execute("echo", "Hello World!"),
        
        # or just print things:
        # print("Hello World!"),
        
        # more actions can go here; 
        # such as copying, mirroring or archiving...
    ],
    outputs=[
        "hello-world.txt",
    ],
)
  1. Run makex, specifying the task name:
makex run hello
  1. A file at $PWD/_output_/hello/hello-world.txt shall have the following contents:
Hello World!

Read the documentation to learn more.

Limitations

  • Mac support is not tested.
  • Windows is not tested or supported (yet).

Pronunciation 🗣

Makex is pronounced "makes", ˈmeɪks, ˈmeɪkˈɛks (or just "make" 🙂)

Related

Coming Soon

  • Dynamic Task/Resource Allocation
  • Task Tags/Labels
  • Regular Expressions
  • Intellij/VSCode integration
This is an early release of Makex. Things may change. Those changes will be noted in the HISTORY file (especially major ones).

With that, Makex is being used extensively by us. We've created many tasks and Makex files, and we don't want to create more work. 🫡

If you have any problems, feel free to contact us. 

Project details


Download files

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

Source Distribution

makex-20250301.tar.gz (155.3 kB view details)

Uploaded Source

File details

Details for the file makex-20250301.tar.gz.

File metadata

  • Download URL: makex-20250301.tar.gz
  • Upload date:
  • Size: 155.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for makex-20250301.tar.gz
Algorithm Hash digest
SHA256 f319f0a7a9e9744d4c91f2c6ec2aa31646b0c481c1831bed9a5cb5c8e6005cf6
MD5 87ded4a4a20b88bd88982a044efde9e7
BLAKE2b-256 aa0f85c40b697f3f6418799d7fdd9f5cdbc3cfe28868038712d0c24daf50cb62

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