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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file yamk-8.1.2.tar.gz.

File metadata

  • Download URL: yamk-8.1.2.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for yamk-8.1.2.tar.gz
Algorithm Hash digest
SHA256 420561b75c3f8144dd3a1154930926cdb6e5bdc29d40529053ea28dd38733756
MD5 c8337c6d52f018d5a17341325928aed3
BLAKE2b-256 58d70ebfce329f38c9c4706defab4c81ff57508a8fbb93d29f0b7860620b7c18

See more details on using hashes here.

File details

Details for the file yamk-8.1.2-py3-none-any.whl.

File metadata

  • Download URL: yamk-8.1.2-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for yamk-8.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 03b7b35f02b2c356eafab598ce93037b826b9ded0ddde2eb18271a5c356c785e
MD5 519dabc8f4d024bd65f53f6c772d0c08
BLAKE2b-256 348408e69a07690fa12d666599dee6dfe1849f9ec905e46d4f31c114d3b1f06d

See more details on using hashes here.

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