Metadata-Version: 2.1
Name: ezcliy
Version: 0.3.1
Summary: Framework for creating CLI tools
Home-page: https://github.com/kpostekk/ezcliy
Author: Krystian Postek
Author-email: krystian@postek.eu
License: MIT
Project-URL: Repository, https://github.com/kpostekk/ezcliy/
Project-URL: Docs, https://ezcliy.readthedocs.io/en/latest/
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.9
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: Apache Software License
Description-Content-Type: text/markdown
License-File: LICENSE

# *Ez* cliy
A hassle-free framework for creating command line tools

## Install

from PyPi
```shell
pip3 install ezcliy
```

or from directly from Github
```shell
pip3 install git+https://github.com/kpostekk/ezcliy.git
```

More details in [docs](https://ezcliy.readthedocs.io/en/latest/)

## Fast example

```python
from ezcliy import Command, Flag  # Import required classes


class SmallTextProcessor(Command):
    # Define excpected parameters
    capitalize = Flag('-c', '--capitalize')
    verbose = Flag('--verbose')

    def invoke(self):  # There put your sweet code
        string = ' '.join(self.values)

        if self.verbose:
            print('Verbose stuff', self.parameters, self.values)

        if self.capitalize:
            string = string.capitalize()

        if not string.endswith('.'):
            string += '.'

        print(string)


if __name__ == '__main__':
    SmallTextProcessor().cli_entry()

```

The exec of that will look like this

```
./somescript.py "this sentence require cap" -c --verbose
```

And output will be

```
Verbose stuff {'capitalize': <Flag -c --capitalize has value True>, 'verbose': <Flag --verbose has value True>} ['this sentence require cap']
This sentence require cap.
```

