Skip to main content

Build tool

Project description

makex

Makex is a new and simplified build and automation tool, similar to the original Make.

It makex stuff happen. 🙂

What Makex is used for

  • Compiling software/applications/firmware
  • Building filesystems/trees/file archives
  • Building and deploying websites and web applications
  • Running things in a repeatable manner
  • Replacing most or all of the other build systems

Features 🍩

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

Links 🔗

Quick Start

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

        # or, you can use the shell, but it's not recommended:
        # shell(f"echo 'Hello World!' > {path('hello-world')}/hello-world.txt"),
    ],
    outputs=[
        "hello-world.txt",
    ],
)
  1. Run makex and the target:
makex run :hello-world
Use the path command to show getting an output path.
  1. A file at _output_/hello-world/hello-world.txt will have the following contents:
Hello World!

Limitations

  • Mac support is not tested.
  • Windows is not tested or supported (yet).
This is an early release of Makex. Things may change. If you have any problems, feel free to contact us. 

Pronunciation 🗣

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

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-20240601.tar.gz (109.0 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: makex-20240601.tar.gz
  • Upload date:
  • Size: 109.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for makex-20240601.tar.gz
Algorithm Hash digest
SHA256 9648070f927cdea5d5e37029e4b6a32624fda1d7c6acf9c153392bcb8027ade2
MD5 08b88df2a220ff4baf0c443eff0501ac
BLAKE2b-256 1b0b845ec754764e62fd8195e67ffdb54644fac521112e51b4997d82e178308e

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