Skip to content

jeeves-sh/jeeves-shell

Repository files navigation

Jeeves Shell

Build Status codecov Python Version wemake-python-styleguide

A Pythonic replacement for GNU Make, with re-usability and modularity added as a bonus.

Jeeves transforms your shell experience by enabling you to create custom Python-based shell commands to manage and automate your development workflows.

Features

  • Custom Shell Commands: Construct commands to build, compile, lint, format, test, deploy, and propel your projects forward.
  • Python-Powered: Use Python for readable and maintainable workflows.
  • Rich Integrations: Stylish command output with rich and sh.
  • Plugin System: Share your setup across projects.

Quick Start

Install with pip:

pip install 'jeeves-shell[all]'

Or with poetry:

poetry add --group dev --extras=all jeeves-shell

Example

Create a file named jeeves.py in the root of your project.

import rich
import sh


def hi():
    """Hello world."""
    user_name = sh.whoami()
    machine = sh.uname('-a')

    rich.print(f'Hello [b]{user_name}[/b]!')
    rich.print(f'This code is running on: [b]{machine}[/b].')

And then execute in your shell:

j hi

this should print something along the lines of:

Hello john-connor!
This code is running on: Cyberdyne T800!

Learn More

Read the tutorial!

Credits

This project was generated with wemake-python-package.