Skip to main content

Skyr

Low-fat task runner.

Skyr is a task runner, similar to Make. Just like Make, it can have tasks that depend on each other and are executed only if a file changes. But, unlike Make, Skyr doesn't actually have to be installed on your machine to run. That's because Skyr uses Shell scripts to define build commands and looks for special comments for special features. This means you can very easily integrate Skyr into your existing project.

Install

Using pipx (recommended)

pipx install skyr

Using plain pip

pip install --user skyr

Drop-in executable

wget "https://raw.githubusercontent.com/kytta/skyr/main/skyr.py"

Usage

For example, to execute script/test:

skyr test

If you don't provide the script name, it will default to build:

skyr  # same as 'skyr build'

By default, Skyr searches for your scripts inside ./.skyr/ and ./script. To change that, use --script-dir:

skyr --script-dir ./dev/ test

Roadmap

  • Basic script running: Run .sh, .bash, .zsh, and other files from the script/ directory.
  • Target dependencies: Run scripts if other depend on them.
  • Dependency age: Run scripts only if the files it depends on changed.
  • Script validation: Check that Skyr understands the scripts it was given.
  • Make mode: Support running very basic Makefiles.
  • Make migration mode: Support migrating from a Makefile to a script/ directory.
  • Just mode: Support running very basic Justfiles.
  • Just migration mode: Support migrating from just to a script/ directory.

Licence

© 2023 Nikita Karamov
Code licensed under the ISC License.


This project is hosted on GitHub: https://github.com/kytta/skyr.git

Metadata

Release files for skyr 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for skyr 0.3.1
File Size Uploaded
skyr-0.3.1.tar.gz 14.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for skyr 0.3.1
File Interpreter ABI Platform
skyr-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 19.1 kB

Release files / skyr-0.3.1.tar.gz

Download URL skyr-0.3.1.tar.gz
Size 14.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e371b29842ac98deb25836efa21ae3a05dc2e531bb40e39a2916267a0ea8f2bf
BLAKE2b-256 checksum
How to use checksums
5d699941a8be36c27c7a8161076ca7355578ee4b9ef7758b2ad00c9c0813366c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / skyr-0.3.1-py3-none-any.whl

Download URL skyr-0.3.1-py3-none-any.whl
Size 4.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9f7b1d0a133f27d09feac66bec4304e101d80d1f85b700dd718ac8e15c5eac2c
BLAKE2b-256 checksum
How to use checksums
1455722961e475a9115d4f3872ea7836a000e73f9f5b50fae5f1cbb5075adc7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page