Skip to main content

a new kind of make tool

Project description

makepyz - the makefile alternative

Intro

makepyz is a simple tool to collect task in a make.py file, in the same spirit of a Makefile: it allows you to write portable tasks in python leveraging an extensive internal library.

Install

There are two ways to install it, in standalone mode (eg. no dependencies) good for project that want to not rely on the makepyz project (or they want to keep a tight control on third parties code), and the usual pip installed package.

Using pip

You can use pip to install makepyz:

pip install makepyz

Stand alone

In standalone mod you can just get the latest makepyz:

curl -LO https://github.com/cav71/makepyz/raw/master/makepyz
echo hello

Using

First you need to create a make.py file:

from makepyz import api

@api.task()
def info(arguments: list[str]):
    """this is the hello world"""
    print(  # noqa: T201
        f"""
    Hi!
    python: {sys.executable}
    version: {sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}
    cwd: {Path.cwd()}
    arguments: {arguments}
    """)

Then:

makepyz

API

api.task - decorates a new makepyz task.

Example:

from make import api

@api.task()
def hello():
    print("Hello world")

api.which - finds an executablek. Example:

from make import api

print(api.which("dir"))

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

makepyz-0.0.1.tar.gz (23.7 kB view details)

Uploaded Source

Built Distribution

makepyz-0.0.1-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file makepyz-0.0.1.tar.gz.

File metadata

  • Download URL: makepyz-0.0.1.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for makepyz-0.0.1.tar.gz
Algorithm Hash digest
SHA256 cbe523e8d78e756b36e3ca98c1bce7e2546326a7e6ea8fc89aad99002ddc5428
MD5 af1c03193cf1ed100ddb8feddfd24de4
BLAKE2b-256 a3fde27abad3f2961183d16527a859e35213a7970310755a3e149e7c829085a9

See more details on using hashes here.

File details

Details for the file makepyz-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: makepyz-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 21.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for makepyz-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 57f981286593a2d74fc5dc29eb8e380dfffa4ff1fc37e671093332691d246ee3
MD5 4de5c028805ae6bd44f3a24b8cb5cf33
BLAKE2b-256 bce3402f68b63c778c8cb03a183ab1bfec12d25a7ab856f02b29acce55dc45a6

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