# makex
<!-- heading -->
Makex is a new and simplified build and automation tool, similar to the original [Make](https://en.wikipedia.org/wiki/Make_(software)).
It __*makex*__ stuff happen. 🙂
<!-- features -->
## 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 -->
## Links 🔗
- [Documentation](https://meta.company/go/makex)
- [Installation Instructions](https://documents.meta.company/makex/latest/install)
- [Troubleshooting](https://documents.meta.company/makex/latest/trouble)
- Support: [Google Groups](http://groups.google.com/group/makex) or [makex@googlegroups.com](mailto://makex@googlegroups.com)
<!-- quick-start -->
## Quick Start
1. Install:
```shell
pip install makex
```
2. Define a Makex file (name it `Makexfile`):
```python
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",
],
)
```
3. Run makex and the target:
```shell
makex run :hello-world
```
```{todo}
Use the path command to show getting an output path.
```
4. 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).
```{note}
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" 🙂)
Raw data
{
"_id": null,
"home_page": null,
"name": "makex",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "build, make, automation",
"author": "Nate Skulic, MetaCompany",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/1b/0b/845ec754764e62fd8195e67ffdb54644fac521112e51b4997d82e178308e/makex-20240601.tar.gz",
"platform": null,
"description": "# makex\n\n<!-- heading -->\n\nMakex is a new and simplified build and automation tool, similar to the original [Make](https://en.wikipedia.org/wiki/Make_(software)).\n\nIt __*makex*__ stuff happen. \ud83d\ude42\n\n<!-- features -->\n\n\n## What Makex is used for\n\n- Compiling software/applications/firmware\n- Building filesystems/trees/file archives\n- Building and deploying websites and web applications\n- Running things in a repeatable manner\n- Replacing most or all of the other build systems\n\n## Features \ud83c\udf69\n\n- Familiar Syntax\n- File Hashing and Checksums\n- Dependency Graphs\n- Caching\n- Workspaces\n- Copy on Write\n\n<!-- links -->\n\n## Links \ud83d\udd17\n\n- [Documentation](https://meta.company/go/makex)\n- [Installation Instructions](https://documents.meta.company/makex/latest/install)\n- [Troubleshooting](https://documents.meta.company/makex/latest/trouble)\n- Support: [Google Groups](http://groups.google.com/group/makex) or [makex@googlegroups.com](mailto://makex@googlegroups.com)\n\n<!-- quick-start -->\n\n\n## Quick Start\n\n1. Install:\n\n ```shell\n pip install makex\n ```\n\n2. Define a Makex file (name it `Makexfile`):\n\n ```python \n task(\n name=\"hello-world\",\n steps=[\n write(\"hello-world.txt\", \"Hello World!\"),\n \n # or, you can use the shell, but it's not recommended:\n # shell(f\"echo 'Hello World!' > {path('hello-world')}/hello-world.txt\"),\n ],\n outputs=[\n \"hello-world.txt\",\n ],\n )\n ```\n\n3. Run makex and the target:\n\n ```shell\n makex run :hello-world\n ```\n \n```{todo}\nUse the path command to show getting an output path.\n```\n\n4. A file at `_output_/hello-world/hello-world.txt` will have the following contents:\n\n ```\n Hello World!\n ```\n\n## Limitations\n\n- Mac support is not tested.\n- Windows is not tested or supported (yet).\n\n```{note}\nThis is an early release of Makex. Things may change. If you have any problems, feel free to contact us. \n```\n\n## Pronunciation \ud83d\udde3\n\nMakex is pronounced \"makes\", \u02c8me\u026aks, \u02c8me\u026ak\u02c8\u025bks (or just \"make\" \ud83d\ude42)\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Build tool",
"version": "20240601",
"project_urls": null,
"split_keywords": [
"build",
" make",
" automation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1b0b845ec754764e62fd8195e67ffdb54644fac521112e51b4997d82e178308e",
"md5": "08b88df2a220ff4baf0c443eff0501ac",
"sha256": "9648070f927cdea5d5e37029e4b6a32624fda1d7c6acf9c153392bcb8027ade2"
},
"downloads": -1,
"filename": "makex-20240601.tar.gz",
"has_sig": false,
"md5_digest": "08b88df2a220ff4baf0c443eff0501ac",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 109038,
"upload_time": "2024-06-01T21:19:56",
"upload_time_iso_8601": "2024-06-01T21:19:56.832470Z",
"url": "https://files.pythonhosted.org/packages/1b/0b/845ec754764e62fd8195e67ffdb54644fac521112e51b4997d82e178308e/makex-20240601.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-01 21:19:56",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "makex"
}