Skip to main content

Make-like build automation tool for Python projects.

Project description

Pyke

(WIP, Beta Release) Make-like build automation tool for Python projects with extensive DSL features.

Features:

  • Users can specify tasks, subtasks, and task rules.
  • Significantly less confusing than Makefiles (is that a tab or space...?)
  • Complete Python DSL with full access to builtins and external dependencies.
  • Run and execute tasks in parallel (multitasking) (task is a recurring theme, huh...).

Example:

import pyke

# create a defualt task, named "build"
@pyke.task("build", default=True)
def build():
    print("Building the project...")

# create a task dependency. running `pyke dist` 
# will make the "build" task run first! 
@pyke.task("dist", deps=["build"])
def dist():
    print("Distributing the project...")

pyke.run()

Put that in a Pykefile and you're good to go. Then run pyke in the same directory and watch the magic happen!

$ pyke dist
Building the project...
Distributing the project...

Installation:

Install the pykefile library with pip. Requires Python 3.8 or higher.

python -m pip install pykefile

You can also add it your developement dependencies with poetry.

python -m poetry add pykefile --dev 

Usage:

Just like any other Makefile, you'll need the Pykefile in your current directory. (Pykefile.py also works)

Then use the pyke command to execute and run specified tasks.

Running pyke without any commands will call the default task if there is one. The first argument will be call a task by that name.

Final Notes:

Pyke is still in beta and I'm open to feature requests or bug reports. Feel free to open an issue! Thanks for checking this project out and I hope it'll make your Python developement process easier!

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

pykefile-0.0.1.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

pykefile-0.0.1-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pykefile-0.0.1.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.8.0 tqdm/4.61.0 CPython/3.8.10

File hashes

Hashes for pykefile-0.0.1.tar.gz
Algorithm Hash digest
SHA256 33c4ea9b419ea2378561aacc6891ad912ee2660c2c74d670f06202b3e5cd4bfa
MD5 e7f50941e8c70bd1b81048209209072f
BLAKE2b-256 fc5b8fdb323328935727e0c2104fc0199545851bab7605c9922fc5d0127d191e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pykefile-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.8.0 tqdm/4.61.0 CPython/3.8.10

File hashes

Hashes for pykefile-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0e1308de3a3bbadd0e9f58e7af46215d9724249e2454ed7baa744a642888a1a0
MD5 a667d58ed8d55d0af5102cad0ea396f7
BLAKE2b-256 2104d74fc2919853b3a6842111a956d853467a1093592f232606a1832c9a6bde

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