py-make


Namepy-make JSON
Version 0.1.2 PyPI version JSON
download
home_page
SummaryMakefile execution powered by pure Python
upload_time2024-02-06 19:44:49
maintainer
docs_urlNone
author
requires_python>=3.7
licenseMPL-2.0
keywords make makefile gnumake gnu console terminal cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            py-make
=======

|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 <https://github.com/tqdm/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.

------------------------------------------

.. contents:: Table of contents
   :backlinks: top
   :local:


Installation
------------

Latest PyPI stable release
~~~~~~~~~~~~~~~~~~~~~~~~~~

|PyPI-Status| |PyPI-Downloads| |Libraries-Dependents|

.. code:: sh

    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:

.. code:: sh

    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 <https://allmychanges.com/p/python/py-make/>`_.


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 <https://github.com/tqdm/py-make/issues/1>`__.

Sample makefile compatible with ``pymake``:

.. code:: sh

    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 <https://stackoverflow.com/questions/56974927/permission-denied-trying-to-run-python-on-windows-10>`__.

Documentation
-------------

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

.. code:: sh

    pymake --help


Contributions
-------------

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

All source code is hosted on `GitHub <https://github.com/tqdm/py-make>`__.
Contributions are welcome.

See the
`CONTRIBUTING.md <https://raw.githubusercontent.com/tqdm/py-make/master/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 <https://github.com/casperdcl/git-fame>`__), are:

- Stephen Larroque (`lrq3000 <https://github.com/lrq3000>`__, core logic)
- Casper da Costa-Luis (`casperdcl <https://github.com/casperdcl>`__, modularization & maintenance)

We are grateful for all |GitHub-Contributions|.

|README-Hits| (Since 28 Oct 2016)

.. |Build-Status| image:: https://img.shields.io/github/actions/workflow/status/tqdm/py-make/test.yml?branch=master&label=py-make&logo=GitHub
   :target: https://github.com/tqdm/py-make/actions/workflows/test.yml
.. |Coverage-Status| image:: https://coveralls.io/repos/tqdm/py-make/badge.svg?branch=master
   :target: https://coveralls.io/github/tqdm/py-make
.. |Branch-Coverage-Status| image:: https://codecov.io/gh/tqdm/py-make/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/tqdm/py-make
.. |Codacy-Grade| image:: https://api.codacy.com/project/badge/Grade/1f1dab515f294a05af8fc45e200660e5
   :target: https://www.codacy.com/app/tqdm/py-make/dashboard
.. |GitHub-Status| image:: https://img.shields.io/github/tag/tqdm/py-make.svg?maxAge=86400&logo=github&logoColor=white
   :target: https://github.com/tqdm/py-make/releases
.. |GitHub-Forks| image:: https://img.shields.io/github/forks/tqdm/py-make.svg?logo=github&logoColor=white
   :target: https://github.com/tqdm/py-make/network
.. |GitHub-Stars| image:: https://img.shields.io/github/stars/tqdm/py-make.svg?logo=github&logoColor=white
   :target: https://github.com/tqdm/py-make/stargazers
.. |GitHub-Commits| image:: https://img.shields.io/github/commit-activity/y/tqdm/py-make.svg?logo=git&logoColor=white
   :target: https://github.com/tqdm/py-make/graphs/commit-activity
.. |GitHub-Issues| image:: https://img.shields.io/github/issues-closed/tqdm/py-make.svg?logo=github&logoColor=white
   :target: https://github.com/tqdm/py-make/issues
.. |GitHub-PRs| image:: https://img.shields.io/github/issues-pr-closed/tqdm/py-make.svg?logo=github&logoColor=white
   :target: https://github.com/tqdm/py-make/pulls
.. |GitHub-Contributions| image:: https://img.shields.io/github/contributors/tqdm/py-make.svg?logo=github&logoColor=white
   :target: https://github.com/tqdm/py-make/graphs/contributors
.. |GitHub-Updated| image:: https://img.shields.io/github/last-commit/tqdm/py-make/master.svg?logo=github&logoColor=white&label=pushed
   :target: https://github.com/tqdm/py-make/pulse
.. |PyPI-Status| image:: https://img.shields.io/pypi/v/py-make.svg
   :target: https://pypi.org/project/py-make
.. |PyPI-Downloads| image:: https://img.shields.io/pypi/dm/py-make.svg?label=pypi%20downloads&logo=python&logoColor=white
   :target: https://pypi.org/project/py-make
.. |PyPI-Versions| image:: https://img.shields.io/pypi/pyversions/py-make.svg?logo=python&logoColor=white
   :target: https://pypi.org/project/py-make
.. |Libraries-Rank| image:: https://img.shields.io/librariesio/sourcerank/pypi/py-make.svg?logo=koding&logoColor=white
   :target: https://libraries.io/pypi/py-make
.. |Libraries-Dependents| image:: https://img.shields.io/librariesio/dependent-repos/pypi/py-make.svg?logo=koding&logoColor=white
    :target: https://github.com/tqdm/py-make/network/dependents
.. |OpenHub-Status| image:: https://www.openhub.net/p/tqdm_py-make/widgets/project_thin_badge?format=gif
   :target: https://www.openhub.net/p/tqdm_py-make?ref=Thin+badge
.. |LICENCE| image:: https://img.shields.io/pypi/l/py-make.svg
   :target: https://raw.githubusercontent.com/tqdm/py-make/master/LICENCE
.. |DOI-URI| image:: https://img.shields.io/badge/DOI-10.5281/zenodo.2546871-blue.svg
   :target: https://doi.org/10.5281/zenodo.2546871
.. |README-Hits| image:: https://caspersci.uk.to/cgi-bin/hits.cgi?q=py-make&style=social&r=https://github.com/tqdm/py-make
   :target: https://caspersci.uk.to/cgi-bin/hits.cgi?q=py-make&a=plot&r=https://github.com/tqdm/py-make&style=social

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "py-make",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "tqdm developers <tqdm@cdcl.ml>",
    "keywords": "make,makefile,gnumake,gnu,console,terminal,cli",
    "author": "",
    "author_email": "Stephen Larroque <lrq3000@gmail.com>, Casper da Costa-Luis <tqdm@cdcl.ml>",
    "download_url": "https://files.pythonhosted.org/packages/60/69/a18072af4fd4c6d77893843b6704e181342ae74a6aeff5a4b811068cd290/py-make-0.1.2.tar.gz",
    "platform": null,
    "description": "py-make\n=======\n\n|PyPI-Status| |PyPI-Versions|\n\n|Build-Status| |Coverage-Status| |Branch-Coverage-Status| |Codacy-Grade| |Libraries-Rank|\n\n|DOI-URI| |LICENCE| |OpenHub-Status|\n\n\nBring basic ``Makefile`` support to any system with Python.\n\nInspired by work in `tqdm <https://github.com/tqdm/tqdm>`__.\n\nSimply install then execute ``pymake`` in a directory containing a ``Makefile``.\n\n``pymake`` works on any platform (Linux, Windows, Mac, FreeBSD, Solaris/SunOS).\n\n``pymake`` does not require any library to run, just a vanilla Python\ninterpreter will do.\n\n------------------------------------------\n\n.. contents:: Table of contents\n   :backlinks: top\n   :local:\n\n\nInstallation\n------------\n\nLatest PyPI stable release\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n|PyPI-Status| |PyPI-Downloads| |Libraries-Dependents|\n\n.. code:: sh\n\n    pip install py-make\n\nLatest development release on GitHub\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n|GitHub-Status| |GitHub-Stars| |GitHub-Commits| |GitHub-Forks| |GitHub-Updated|\n\nPull and install in the current directory:\n\n.. code:: sh\n\n    pip install -e git+https://github.com/tqdm/py-make.git@master#egg=py-make\n\n\nChangelog\n---------\n\nThe list of all changes is available either on GitHub's Releases:\n|GitHub-Status| or on crawlers such as\n`allmychanges.com <https://allmychanges.com/p/python/py-make/>`_.\n\n\nUsage\n-----\n\nSimply install then execute ``pymake -p`` to list commands and ``pymake <command>`` to use a command, in a directory containing a ``Makefile``.\n\n\nKnown Issues\n------------\n\nFor compatibility, ensure:\n\n1. Every alias is preceded by @[+]make (eg: @make alias)\n2. A maximum of one @make alias or command per line\n\nA full list of what is and is not supported is on the\n`issue tracker <https://github.com/tqdm/py-make/issues/1>`__.\n\nSample makefile compatible with ``pymake``:\n\n.. code:: sh\n\n    PY=python -m py_compile\n    .PHONY:\n    \tall\n    \ttest\n        install\n        compile\n    all:\n    \t@+make test\n    \t@make install\n    test:\n    \tpytest\n    install:\n    \tpython -m pip install\n    compile:\n    \t$(PY) test.py\n    circle:\n    \t# of life\n    \tcircle\n    empty:\n    \t# this is a comment\n\nIf 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 <https://stackoverflow.com/questions/56974927/permission-denied-trying-to-run-python-on-windows-10>`__.\n\nDocumentation\n-------------\n\n|PyPI-Versions| |README-Hits| (Since 28 Oct 2016)\n\n.. code:: sh\n\n    pymake --help\n\n\nContributions\n-------------\n\n|GitHub-Commits| |GitHub-Issues| |GitHub-PRs| |OpenHub-Status|\n\nAll source code is hosted on `GitHub <https://github.com/tqdm/py-make>`__.\nContributions are welcome.\n\nSee the\n`CONTRIBUTING.md <https://raw.githubusercontent.com/tqdm/py-make/master/CONTRIBUTING.md>`__\nfile for more information.\n\n\nLICENCE\n-------\n\nOpen Source (OSI approved): |LICENCE|\n\nCitation information: |DOI-URI|\n\n\nAuthors\n-------\n\nThe main developers, ranked by surviving lines of code\n(`git fame -wMC <https://github.com/casperdcl/git-fame>`__), are:\n\n- Stephen Larroque (`lrq3000 <https://github.com/lrq3000>`__, core logic)\n- Casper da Costa-Luis (`casperdcl <https://github.com/casperdcl>`__, modularization & maintenance)\n\nWe are grateful for all |GitHub-Contributions|.\n\n|README-Hits| (Since 28 Oct 2016)\n\n.. |Build-Status| image:: https://img.shields.io/github/actions/workflow/status/tqdm/py-make/test.yml?branch=master&label=py-make&logo=GitHub\n   :target: https://github.com/tqdm/py-make/actions/workflows/test.yml\n.. |Coverage-Status| image:: https://coveralls.io/repos/tqdm/py-make/badge.svg?branch=master\n   :target: https://coveralls.io/github/tqdm/py-make\n.. |Branch-Coverage-Status| image:: https://codecov.io/gh/tqdm/py-make/branch/master/graph/badge.svg\n   :target: https://codecov.io/gh/tqdm/py-make\n.. |Codacy-Grade| image:: https://api.codacy.com/project/badge/Grade/1f1dab515f294a05af8fc45e200660e5\n   :target: https://www.codacy.com/app/tqdm/py-make/dashboard\n.. |GitHub-Status| image:: https://img.shields.io/github/tag/tqdm/py-make.svg?maxAge=86400&logo=github&logoColor=white\n   :target: https://github.com/tqdm/py-make/releases\n.. |GitHub-Forks| image:: https://img.shields.io/github/forks/tqdm/py-make.svg?logo=github&logoColor=white\n   :target: https://github.com/tqdm/py-make/network\n.. |GitHub-Stars| image:: https://img.shields.io/github/stars/tqdm/py-make.svg?logo=github&logoColor=white\n   :target: https://github.com/tqdm/py-make/stargazers\n.. |GitHub-Commits| image:: https://img.shields.io/github/commit-activity/y/tqdm/py-make.svg?logo=git&logoColor=white\n   :target: https://github.com/tqdm/py-make/graphs/commit-activity\n.. |GitHub-Issues| image:: https://img.shields.io/github/issues-closed/tqdm/py-make.svg?logo=github&logoColor=white\n   :target: https://github.com/tqdm/py-make/issues\n.. |GitHub-PRs| image:: https://img.shields.io/github/issues-pr-closed/tqdm/py-make.svg?logo=github&logoColor=white\n   :target: https://github.com/tqdm/py-make/pulls\n.. |GitHub-Contributions| image:: https://img.shields.io/github/contributors/tqdm/py-make.svg?logo=github&logoColor=white\n   :target: https://github.com/tqdm/py-make/graphs/contributors\n.. |GitHub-Updated| image:: https://img.shields.io/github/last-commit/tqdm/py-make/master.svg?logo=github&logoColor=white&label=pushed\n   :target: https://github.com/tqdm/py-make/pulse\n.. |PyPI-Status| image:: https://img.shields.io/pypi/v/py-make.svg\n   :target: https://pypi.org/project/py-make\n.. |PyPI-Downloads| image:: https://img.shields.io/pypi/dm/py-make.svg?label=pypi%20downloads&logo=python&logoColor=white\n   :target: https://pypi.org/project/py-make\n.. |PyPI-Versions| image:: https://img.shields.io/pypi/pyversions/py-make.svg?logo=python&logoColor=white\n   :target: https://pypi.org/project/py-make\n.. |Libraries-Rank| image:: https://img.shields.io/librariesio/sourcerank/pypi/py-make.svg?logo=koding&logoColor=white\n   :target: https://libraries.io/pypi/py-make\n.. |Libraries-Dependents| image:: https://img.shields.io/librariesio/dependent-repos/pypi/py-make.svg?logo=koding&logoColor=white\n    :target: https://github.com/tqdm/py-make/network/dependents\n.. |OpenHub-Status| image:: https://www.openhub.net/p/tqdm_py-make/widgets/project_thin_badge?format=gif\n   :target: https://www.openhub.net/p/tqdm_py-make?ref=Thin+badge\n.. |LICENCE| image:: https://img.shields.io/pypi/l/py-make.svg\n   :target: https://raw.githubusercontent.com/tqdm/py-make/master/LICENCE\n.. |DOI-URI| image:: https://img.shields.io/badge/DOI-10.5281/zenodo.2546871-blue.svg\n   :target: https://doi.org/10.5281/zenodo.2546871\n.. |README-Hits| image:: https://caspersci.uk.to/cgi-bin/hits.cgi?q=py-make&style=social&r=https://github.com/tqdm/py-make\n   :target: https://caspersci.uk.to/cgi-bin/hits.cgi?q=py-make&a=plot&r=https://github.com/tqdm/py-make&style=social\n",
    "bugtrack_url": null,
    "license": "MPL-2.0",
    "summary": "Makefile execution powered by pure Python",
    "version": "0.1.2",
    "project_urls": {
        "changelog": "https://github.com/tqdm/py-make/releases",
        "repository": "https://github.com/tqdm/py-make"
    },
    "split_keywords": [
        "make",
        "makefile",
        "gnumake",
        "gnu",
        "console",
        "terminal",
        "cli"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ea202f60d93edd6b5344e2887eff96704180fe063394180f3933c31ac3f26ac1",
                "md5": "7c109f51e433d219f28b5d2cebf569f1",
                "sha256": "9b14c17b6b72904ad72d57a75e837e546a20020f8778f561d570c8851d513a62"
            },
            "downloads": -1,
            "filename": "py_make-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7c109f51e433d219f28b5d2cebf569f1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 8756,
            "upload_time": "2024-02-06T19:44:47",
            "upload_time_iso_8601": "2024-02-06T19:44:47.488903Z",
            "url": "https://files.pythonhosted.org/packages/ea/20/2f60d93edd6b5344e2887eff96704180fe063394180f3933c31ac3f26ac1/py_make-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6069a18072af4fd4c6d77893843b6704e181342ae74a6aeff5a4b811068cd290",
                "md5": "501da621a86c0a49af7f9728c6037b97",
                "sha256": "03f9cc7e946adbadaf27c08d03ed329192c680166b734e4a5688dc83abdf9521"
            },
            "downloads": -1,
            "filename": "py-make-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "501da621a86c0a49af7f9728c6037b97",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 15232,
            "upload_time": "2024-02-06T19:44:49",
            "upload_time_iso_8601": "2024-02-06T19:44:49.395184Z",
            "url": "https://files.pythonhosted.org/packages/60/69/a18072af4fd4c6d77893843b6704e181342ae74a6aeff5a4b811068cd290/py-make-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-06 19:44:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "tqdm",
    "github_project": "py-make",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "py-make"
}
        
Elapsed time: 0.17445s