Skip to main content

Yet another make

Project description

yam: yet another make

tests license pypi downloads code style: black build automation: yam Lint: ruff

yam offers an alternative tool to control the housekeeping tasks of a project, as well as the creation of executables and non-source files from source files. It's inspired from GNU make, but offers more flexibility with regular expressions and phony targets.

Features

Phony timestamps

Makefiles are nowadays used more and more often to execute phony targets as with interpreted languages, there is no compiled file as output. The prerequisites are often other phony targets, which can add unnecessary rebuilds. yam can keep the track if there is a need to rebuild the phony target, and avoid them.

Regex recipes

GNU make targets can only have only a single % in a pattern. This is rather restrictive, especially in web development. yam allows a prerequisite or a target to be a regex, allowing much more flexibility.

Variety of configuration files

yam allows a multiple file types to configure it, to fit your needs: toml, yaml, and json files are all welcome here.

Local overrides

We realise that the modern development is a team sport, and that developers need the freedom to configure something that isn't optimal for their environment. Following the great UNIX tradition, everything in a cookbook can be locally overridden by files with the same extension inside a directory named <cookbook_filename>.d/.

Links

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

yamk-8.1.2.tar.gz (13.2 kB view hashes)

Uploaded Source

Built Distribution

yamk-8.1.2-py3-none-any.whl (13.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page