Skip to main content

Makefile execution powered by pure Python

Project description

PyPI-Status PyPI-Versions

Build-Status Coverage-Status Branch-Coverage-Status Codacy-Grade Libraries-Rank

DOI-URI LICENCE OpenHub-Status

Bring basic Makefile support to any system with Python.

Inspired by work in tqdm.

Simply install then execute pymake in a directory containing a Makefile.

pymake works on any platform (Linux, Windows, Mac, FreeBSD, Solaris/SunOS).

pymake does not require any library to run, just a vanilla Python interpreter will do.


Installation

Latest PyPI stable release

PyPI-Status PyPI-Downloads Libraries-Dependents

pip install py-make

Latest development release on GitHub

GitHub-Status GitHub-Stars GitHub-Commits GitHub-Forks GitHub-Updated

Pull and install in the current directory:

pip install -e git+https://github.com/tqdm/py-make.git@master#egg=py-make

Changelog

The list of all changes is available either on GitHub’s Releases: GitHub-Status or on crawlers such as allmychanges.com.

Usage

Simply install then execute pymake -p to list commands and pymake <command> to use a command, in a directory containing a Makefile.

Known Issues

For compatibility, ensure:

  1. Every alias is preceded by @[+]make (eg: @make alias)

  2. A maximum of one @make alias or command per line

A full list of what is and is not supported is on the issue tracker.

Sample makefile compatible with pymake:

PY=python -m py_compile
.PHONY:
    all
    test
    install
    compile
all:
    @+make test
    @make install
test:
    pytest
install:
    python -m pip install
compile:
    $(PY) test.py
circle:
    # of life
    circle
empty:
    # this is a comment

If you get a “Permission Denied” error, please check if maybe your antivirus may be preventing the launch of compiled python scripts, if the Scripts subdirectory is in the PATH, or other issues with the Python install.

Documentation

PyPI-Versions README-Hits (Since 28 Oct 2016)

pymake --help

Contributions

GitHub-Commits GitHub-Issues GitHub-PRs OpenHub-Status

All source code is hosted on GitHub. Contributions are welcome.

See the CONTRIBUTING.md file for more information.

LICENCE

Open Source (OSI approved): LICENCE

Citation information: DOI-URI

Authors

The main developers, ranked by surviving lines of code (git fame -wMC), are:

  • Stephen Larroque (lrq3000, core logic)

  • Casper da Costa-Luis (casperdcl, modularization & maintenance)

We are grateful for all GitHub-Contributions.

README-Hits (Since 28 Oct 2016)

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

py-make-0.1.2.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

py_make-0.1.2-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file py-make-0.1.2.tar.gz.

File metadata

  • Download URL: py-make-0.1.2.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for py-make-0.1.2.tar.gz
Algorithm Hash digest
SHA256 03f9cc7e946adbadaf27c08d03ed329192c680166b734e4a5688dc83abdf9521
MD5 501da621a86c0a49af7f9728c6037b97
BLAKE2b-256 6069a18072af4fd4c6d77893843b6704e181342ae74a6aeff5a4b811068cd290

See more details on using hashes here.

File details

Details for the file py_make-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: py_make-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for py_make-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9b14c17b6b72904ad72d57a75e837e546a20020f8778f561d570c8851d513a62
MD5 7c109f51e433d219f28b5d2cebf569f1
BLAKE2b-256 ea202f60d93edd6b5344e2887eff96704180fe063394180f3933c31ac3f26ac1

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