Skip to content

arc is a tool for building declaritive, and highly extendable CLI tools for Python 3.10+

License

Notifications You must be signed in to change notification settings

seanrcollings/arc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ARC

A tool for building declarative, and highly extendable CLI systems for Python 3.10+

ARC Features

  • Command line arguments based on python type hints
  • Arbitrary command nesting
  • Automatic --help documentation
  • Fully Extensible with custom middlewares, types, validators, parameter configurations, etc...

Links

Quick Start

import arc

@arc.command
def hello(name: str):
    """My first arc program!"""
    arc.print(f"Hello {name}!")

hello()
$ python hello.py Sean
Hello, Sean!
$ python hello.py --help
USAGE
    hello.py [-h] [--] name

DESCRIPTION
    My first arc program!

ARGUMENTS
    name

OPTIONS
    --help (-h)  Displays this help message

Installation

$ pip install arc-cli

Clone for development

$ git clone https://github.com/seanrcollings/arc
$ poetry install

Tests

Tests are written with pytest

$ pytest

About

arc is a tool for building declaritive, and highly extendable CLI tools for Python 3.10+

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published