py3make
Bring basic Makefile support to any system with Python.
Simply install with pip install py3make then execute py3make in a directory containing a Makefile.
py3make works on any platform (Linux, Windows, Mac, FreeBSD, Solaris/SunOS).
py3make does not require any library to run, just a vanilla Python interpreter will do.
The goal is not to reproduce a whole implementation of GNU make, but only a very fast and succinct commands runner. This is often used to ease running tests and deployments locally, before uploading to a continuous integration/continuous deployment system such as GitHub Workflows.
Do not be fooled by the lack of updates: this module is very stable and is very frequently (daily) used in most of my Python projects.
This repository is a “fork” by the original author to regain full editing permissions stolen by a co-author, to update this package with full freedom.
Installation
Latest PyPI stable release
pip install py3make
Latest development release on GitHub
Pull and install in the current directory:
pip install -e git+https://github.com/lrq3000/py3make.git
Changelog
The list of all changes is available either on GitHub’s Releases:
or on crawlers such as
allmychanges.com.
Usage
Simply install then execute py3make -p to list commands and py3make <command> to use a command, in a directory containing a Makefile.
Known Issues
For compatibility, ensure:
Every alias is preceded by @[+]make (eg: @make alias)
A maximum of one @make alias or command per line
Sample makefile compatible with py3make:
PY=python -m py_compile
.PHONY:
all
test
install
compile
all:
@+make test
@make install
test:
nosetest
install:
python setup.py\
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
py3make --help
Contributions
All source code is hosted on GitHub. Contributions are welcome.
See the CONTRIBUTE file for more information.
LICENCE
Metadata
Release files for py3make 1.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| py3make-1.0.4.tar.gz | 20.2 kB | Without provenance | Details for py3make-1.0.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| py3make-1.0.4-py3-none-any.whl | Python 3 | none | any | Details for py3make-1.0.4-py3-none-any.whl |
Total release size: 31.2 kB
Release files / py3make-1.0.4.tar.gz
| Download URL | py3make-1.0.4.tar.gz |
|---|---|
| Size | 20.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa66fc7ed66d5cba5ec801341cfded1418968dd2005f1ec836d2d1e7c44d03c6
|
|
BLAKE2b-256 checksum How to use checksums |
1889c82f64db09188a58bdd548896e43ea64687b320a4fb90838853a496b17c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.17
|
Release files / py3make-1.0.4-py3-none-any.whl
| Download URL | py3make-1.0.4-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c4374965e4c8a4ff4b4fdbd9375fd094ed5f455e4952d8cbe16549d8392c44f3
|
|
BLAKE2b-256 checksum How to use checksums |
1c05d60fc23af406dd375f9ef2ad9940866797527f3eb49a7c9d8a7df139a7e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.17
|
Security for py3make 1.0.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.