py3make


Namepy3make JSON
Version 1.0.4 PyPI version JSON
download
home_page
SummaryMakefile execution powered by pure Python
upload_time2023-07-15 21:10:23
maintainer
docs_urlNone
author
requires_python>=3.7
licenseMIT License
keywords make makefile gnumake gnu console terminal cli py3make pymake py-make
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            py3make
=======

|PyPI-Status| |PyPI-Versions| |PyPI-Downloads|

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

|LICENCE|


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 <https://github.com/lrq3000?tab=repositories&q=&type=&language=python&sort=>`__.

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.

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

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


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

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

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

.. code:: sh

    pip install py3make

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/lrq3000/py3make.git


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/py3make/>`_.


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:

1. Every alias is preceded by @[+]make (eg: @make alias)
2. A maximum of one @make alias or command per line

Sample makefile compatible with ``py3make``:

.. code:: sh

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

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

|PyPI-Versions|

.. code:: sh

    py3make --help


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

|GitHub-Commits| |GitHub-Issues| |GitHub-PRs|

All source code is hosted on `GitHub <https://github.com/lrq3000/py3make>`__.
Contributions are welcome.

See the
`CONTRIBUTE <https://raw.githubusercontent.com/lrq3000/py3make/master/CONTRIBUTE>`__
file for more information.


LICENCE
-------

Open Source (OSI approved): |LICENCE|


Authors
-------

The main developers, ranked by surviving lines of code
(`git fame -wMC <https://github.com/casperdcl/git-fame>`__), are:

- Stephen Karl Larroque (`lrq3000 <https://github.com/lrq3000>`__, core logic & maintenance Py3)
- Casper da Costa-Luis (`casperdcl <https://github.com/casperdcl>`__, modularization & self-referential aliases & ironing out edge cases & documentation)

We are grateful for all |GitHub-Contributions|!

.. |Build-Status| image:: https://github.com/lrq3000/py3make/actions/workflows/ci-build.yml/badge.svg?event=push
    :target: https://github.com/lrq3000/py3make/actions/workflows/ci-build.yml
.. |Coverage-Status| image:: https://coveralls.io/repos/github/lrq3000/py3make/badge.svg?branch=main
   :target: https://coveralls.io/github/lrq3000/py3make?branch=main
.. |Branch-Coverage-Status| image:: https://codecov.io/gh/lrq3000/py3make/branch/main/graph/badge.svg?token=JCKB7CEBCC 
   :target: https://codecov.io/gh/lrq3000/py3make
.. |Codacy-Grade| image:: https://app.codacy.com/project/badge/Grade/64b870375f664419b5f2a0a956006db7
   :target: https://app.codacy.com/gh/lrq3000/py3make/dashboard
.. |GitHub-Status| image:: https://img.shields.io/github/tag/lrq3000/py3make.svg?maxAge=86400&logo=github&logoColor=white
   :target: https://github.com/lrq3000/py3make/releases
.. |GitHub-Forks| image:: https://img.shields.io/github/forks/lrq3000/py3make.svg?logo=github&logoColor=white
   :target: https://github.com/lrq3000/py3make/network
.. |GitHub-Stars| image:: https://img.shields.io/github/stars/lrq3000/py3make.svg?logo=github&logoColor=white
   :target: https://github.com/lrq3000/py3make/stargazers
.. |GitHub-Commits| image:: https://img.shields.io/github/commit-activity/y/lrq3000/py3make.svg?logo=git&logoColor=white
   :target: https://github.com/lrq3000/py3make/graphs/commit-activity
.. |GitHub-Issues| image:: https://img.shields.io/github/issues-closed/lrq3000/py3make.svg?logo=github&logoColor=white
   :target: https://github.com/lrq3000/py3make/issues
.. |GitHub-PRs| image:: https://img.shields.io/github/issues-pr-closed/lrq3000/py3make.svg?logo=github&logoColor=white
   :target: https://github.com/lrq3000/py3make/pulls
.. |GitHub-Contributions| image:: https://img.shields.io/github/contributors/lrq3000/py3make.svg?logo=github&logoColor=white
   :target: https://github.com/lrq3000/py3make/graphs/contributors
.. |GitHub-Updated| image:: https://img.shields.io/github/last-commit/lrq3000/py3make/master.svg?logo=github&logoColor=white&label=pushed
   :target: https://github.com/lrq3000/py3make/pulse
.. |PyPI-Status| image:: https://img.shields.io/pypi/v/py3make.svg
   :target: https://pypi.org/project/py3make
.. |PyPI-Versions| image:: https://img.shields.io/pypi/pyversions/py3make.svg?logo=python&logoColor=white
   :target: https://pypi.org/project/py3make
.. |PyPI-Downloads| image:: https://img.shields.io/pypi/dm/py3make.svg?label=pypi%20downloads&logo=python&logoColor=white
   :target: https://pypi.org/project/py3make
.. |Libraries-Rank| image:: https://img.shields.io/librariesio/sourcerank/pypi/py3make.svg?logo=koding&logoColor=white
   :target: https://libraries.io/pypi/py3make
.. |Libraries-Dependents| image:: https://img.shields.io/librariesio/dependent-repos/pypi/py3make.svg?logo=koding&logoColor=white
    :target: https://github.com/lrq3000/py3make/network/dependents
.. |LICENCE| image:: https://img.shields.io/badge/License-MIT-yellow.svg
   :target: https://opensource.org/licenses/MIT
.. |LICENCEAUTO| image:: https://img.shields.io/pypi/l/py3make.svg
   :target: https://raw.githubusercontent.com/lrq3000/py3make/master/LICENCE

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "py3make",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "tqdm developers <python.tqdm@gmail.com>",
    "keywords": "make,makefile,gnumake,gnu,console,terminal,cli,py3make,pymake,py-make",
    "author": "",
    "author_email": "Stephen Karl Larroque <LRQ3000@gmail.com>, Casper da Costa-Luis <casper.dcl@physics.org>",
    "download_url": "https://files.pythonhosted.org/packages/18/89/c82f64db09188a58bdd548896e43ea64687b320a4fb90838853a496b17c0/py3make-1.0.4.tar.gz",
    "platform": null,
    "description": "py3make\r\n=======\r\n\r\n|PyPI-Status| |PyPI-Versions| |PyPI-Downloads|\r\n\r\n|Build-Status| |Coverage-Status| |Branch-Coverage-Status| |Codacy-Grade| |Libraries-Rank|\r\n\r\n|LICENCE|\r\n\r\n\r\nBring basic ``Makefile`` support to any system with Python.\r\n\r\nSimply install with ``pip install py3make`` then execute ``py3make`` in a directory containing a ``Makefile``.\r\n\r\n``py3make`` works on any platform (Linux, Windows, Mac, FreeBSD, Solaris/SunOS).\r\n\r\n``py3make`` does not require any library to run, just a vanilla Python\r\ninterpreter will do.\r\n\r\nThe goal is not to reproduce a whole implementation of ``GNU make``, but only a very fast and succinct\r\ncommands runner. This is often used to ease running tests and deployments locally, before uploading to\r\na continuous integration/continuous deployment system such as GitHub Workflows.\r\n\r\nDo not be fooled by the lack of updates: this module is very stable and is very frequently (daily) used\r\nin most of `my Python projects <https://github.com/lrq3000?tab=repositories&q=&type=&language=python&sort=>`__.\r\n\r\nThis repository is a \"fork\" by the original author to regain full editing permissions stolen by a co-author,\r\nto update this package with full freedom.\r\n\r\n------------------------------------------\r\n\r\n.. contents:: Table of contents\r\n   :backlinks: top\r\n   :local:\r\n\r\n\r\nInstallation\r\n------------\r\n\r\nLatest PyPI stable release\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\n|PyPI-Status| |PyPI-Downloads| |Libraries-Dependents|\r\n\r\n.. code:: sh\r\n\r\n    pip install py3make\r\n\r\nLatest development release on GitHub\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\n|GitHub-Status| |GitHub-Stars| |GitHub-Commits| |GitHub-Forks| |GitHub-Updated|\r\n\r\nPull and install in the current directory:\r\n\r\n.. code:: sh\r\n\r\n    pip install -e git+https://github.com/lrq3000/py3make.git\r\n\r\n\r\nChangelog\r\n---------\r\n\r\nThe list of all changes is available either on GitHub's Releases:\r\n|GitHub-Status| or on crawlers such as\r\n`allmychanges.com <https://allmychanges.com/p/python/py3make/>`_.\r\n\r\n\r\nUsage\r\n-----\r\n\r\nSimply install then execute ``py3make -p`` to list commands and ``py3make <command>`` to use a command, in a directory containing a ``Makefile``.\r\n\r\n\r\nKnown Issues\r\n------------\r\n\r\nFor compatibility, ensure:\r\n\r\n1. Every alias is preceded by @[+]make (eg: @make alias)\r\n2. A maximum of one @make alias or command per line\r\n\r\nSample makefile compatible with ``py3make``:\r\n\r\n.. code:: sh\r\n\r\n    PY=python -m py_compile\r\n    .PHONY:\r\n    \tall\r\n    \ttest\r\n        install\r\n        compile\r\n    all:\r\n    \t@+make test\r\n    \t@make install\r\n    test:\r\n    \tnosetest\r\n    install:\r\n    \tpython setup.py\\\r\n        install\r\n    compile:\r\n    \t$(PY) test.py\r\n    circle:\r\n    \t# of life\r\n    \tcircle\r\n    empty:\r\n    \t# this is a comment\r\n\r\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>`__.\r\n\r\nDocumentation\r\n-------------\r\n\r\n|PyPI-Versions|\r\n\r\n.. code:: sh\r\n\r\n    py3make --help\r\n\r\n\r\nContributions\r\n-------------\r\n\r\n|GitHub-Commits| |GitHub-Issues| |GitHub-PRs|\r\n\r\nAll source code is hosted on `GitHub <https://github.com/lrq3000/py3make>`__.\r\nContributions are welcome.\r\n\r\nSee the\r\n`CONTRIBUTE <https://raw.githubusercontent.com/lrq3000/py3make/master/CONTRIBUTE>`__\r\nfile for more information.\r\n\r\n\r\nLICENCE\r\n-------\r\n\r\nOpen Source (OSI approved): |LICENCE|\r\n\r\n\r\nAuthors\r\n-------\r\n\r\nThe main developers, ranked by surviving lines of code\r\n(`git fame -wMC <https://github.com/casperdcl/git-fame>`__), are:\r\n\r\n- Stephen Karl Larroque (`lrq3000 <https://github.com/lrq3000>`__, core logic & maintenance Py3)\r\n- Casper da Costa-Luis (`casperdcl <https://github.com/casperdcl>`__, modularization & self-referential aliases & ironing out edge cases & documentation)\r\n\r\nWe are grateful for all |GitHub-Contributions|!\r\n\r\n.. |Build-Status| image:: https://github.com/lrq3000/py3make/actions/workflows/ci-build.yml/badge.svg?event=push\r\n    :target: https://github.com/lrq3000/py3make/actions/workflows/ci-build.yml\r\n.. |Coverage-Status| image:: https://coveralls.io/repos/github/lrq3000/py3make/badge.svg?branch=main\r\n   :target: https://coveralls.io/github/lrq3000/py3make?branch=main\r\n.. |Branch-Coverage-Status| image:: https://codecov.io/gh/lrq3000/py3make/branch/main/graph/badge.svg?token=JCKB7CEBCC \r\n   :target: https://codecov.io/gh/lrq3000/py3make\r\n.. |Codacy-Grade| image:: https://app.codacy.com/project/badge/Grade/64b870375f664419b5f2a0a956006db7\r\n   :target: https://app.codacy.com/gh/lrq3000/py3make/dashboard\r\n.. |GitHub-Status| image:: https://img.shields.io/github/tag/lrq3000/py3make.svg?maxAge=86400&logo=github&logoColor=white\r\n   :target: https://github.com/lrq3000/py3make/releases\r\n.. |GitHub-Forks| image:: https://img.shields.io/github/forks/lrq3000/py3make.svg?logo=github&logoColor=white\r\n   :target: https://github.com/lrq3000/py3make/network\r\n.. |GitHub-Stars| image:: https://img.shields.io/github/stars/lrq3000/py3make.svg?logo=github&logoColor=white\r\n   :target: https://github.com/lrq3000/py3make/stargazers\r\n.. |GitHub-Commits| image:: https://img.shields.io/github/commit-activity/y/lrq3000/py3make.svg?logo=git&logoColor=white\r\n   :target: https://github.com/lrq3000/py3make/graphs/commit-activity\r\n.. |GitHub-Issues| image:: https://img.shields.io/github/issues-closed/lrq3000/py3make.svg?logo=github&logoColor=white\r\n   :target: https://github.com/lrq3000/py3make/issues\r\n.. |GitHub-PRs| image:: https://img.shields.io/github/issues-pr-closed/lrq3000/py3make.svg?logo=github&logoColor=white\r\n   :target: https://github.com/lrq3000/py3make/pulls\r\n.. |GitHub-Contributions| image:: https://img.shields.io/github/contributors/lrq3000/py3make.svg?logo=github&logoColor=white\r\n   :target: https://github.com/lrq3000/py3make/graphs/contributors\r\n.. |GitHub-Updated| image:: https://img.shields.io/github/last-commit/lrq3000/py3make/master.svg?logo=github&logoColor=white&label=pushed\r\n   :target: https://github.com/lrq3000/py3make/pulse\r\n.. |PyPI-Status| image:: https://img.shields.io/pypi/v/py3make.svg\r\n   :target: https://pypi.org/project/py3make\r\n.. |PyPI-Versions| image:: https://img.shields.io/pypi/pyversions/py3make.svg?logo=python&logoColor=white\r\n   :target: https://pypi.org/project/py3make\r\n.. |PyPI-Downloads| image:: https://img.shields.io/pypi/dm/py3make.svg?label=pypi%20downloads&logo=python&logoColor=white\r\n   :target: https://pypi.org/project/py3make\r\n.. |Libraries-Rank| image:: https://img.shields.io/librariesio/sourcerank/pypi/py3make.svg?logo=koding&logoColor=white\r\n   :target: https://libraries.io/pypi/py3make\r\n.. |Libraries-Dependents| image:: https://img.shields.io/librariesio/dependent-repos/pypi/py3make.svg?logo=koding&logoColor=white\r\n    :target: https://github.com/lrq3000/py3make/network/dependents\r\n.. |LICENCE| image:: https://img.shields.io/badge/License-MIT-yellow.svg\r\n   :target: https://opensource.org/licenses/MIT\r\n.. |LICENCEAUTO| image:: https://img.shields.io/pypi/l/py3make.svg\r\n   :target: https://raw.githubusercontent.com/lrq3000/py3make/master/LICENCE\r\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "Makefile execution powered by pure Python",
    "version": "1.0.4",
    "project_urls": {
        "Changelog": "https://allmychanges.com/p/python/py3make/",
        "Documentation": "https://github.com/lrq3000/py3make/blob/master/README.md",
        "Download": "https://github.com/lrq3000/py3make/releases",
        "Homepage": "https://github.com/lrq3000/py3make",
        "Source": "https://github.com/lrq3000/py3make",
        "Tracker": "https://github.com/lrq3000/py3make/issues"
    },
    "split_keywords": [
        "make",
        "makefile",
        "gnumake",
        "gnu",
        "console",
        "terminal",
        "cli",
        "py3make",
        "pymake",
        "py-make"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1c05d60fc23af406dd375f9ef2ad9940866797527f3eb49a7c9d8a7df139a7e1",
                "md5": "4e63ad48881a2f92366fcaffd336bbfd",
                "sha256": "c4374965e4c8a4ff4b4fdbd9375fd094ed5f455e4952d8cbe16549d8392c44f3"
            },
            "downloads": -1,
            "filename": "py3make-1.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4e63ad48881a2f92366fcaffd336bbfd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 10961,
            "upload_time": "2023-07-15T21:10:21",
            "upload_time_iso_8601": "2023-07-15T21:10:21.816295Z",
            "url": "https://files.pythonhosted.org/packages/1c/05/d60fc23af406dd375f9ef2ad9940866797527f3eb49a7c9d8a7df139a7e1/py3make-1.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1889c82f64db09188a58bdd548896e43ea64687b320a4fb90838853a496b17c0",
                "md5": "1de814a58064750359b2f4497c2b90ee",
                "sha256": "aa66fc7ed66d5cba5ec801341cfded1418968dd2005f1ec836d2d1e7c44d03c6"
            },
            "downloads": -1,
            "filename": "py3make-1.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "1de814a58064750359b2f4497c2b90ee",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 20214,
            "upload_time": "2023-07-15T21:10:23",
            "upload_time_iso_8601": "2023-07-15T21:10:23.411065Z",
            "url": "https://files.pythonhosted.org/packages/18/89/c82f64db09188a58bdd548896e43ea64687b320a4fb90838853a496b17c0/py3make-1.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-15 21:10:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "lrq3000",
    "github_project": "py3make",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "py3make"
}
        
Elapsed time: 0.10445s