skal is a Python wrapper for the argparser library to make it easier to write applications that uses the command-subcommand style, much like git and heroku.
Basic Usage
Skal can be used on three levels: *class*, *module* and *package*. As this project is still very young only the class level is implemented as for now.
In file myapp.py:
python
from skal import SkalApp, command
class MyApp(SkalApp):
@command
def hello(self):
print('hello')
@command
def yes(self):
print('yes')
if __name__ == '__main__':
app = MyApp()
sys.exit(app.run())
Running the small program:
> python myapp.py hello
hello
> python myapp.py yes
yes
Using Custom Arguments
*Note: this is not yet implemented!*
This shows the future usage of custom arguments per subcommand:
python
from skal import SkalApp, command, arguments
class MyApp(SkalApp):
"""Application description""
__arguments__ = {
'-a': {'help': 'Help for a'},
'-b': {'help': 'Help for b'}
}
@command
@arguments({
'-d': {'help': 'Help for d', 'alt': '--delete'}
})
def hello(self):
"""Help line for hello""
if (self.args.a):
print('a')
if (self.args.b):
print('b')
if (self.args.delete):
print('deleting')
print('hello')
@command
def yes(self):
"""Help line for yes"""
if (self.args.a):
print('a')
if (self.args.b):
print('b')
print('yes')
if __name__ == '__main__':
app = MyApp()
sys.exit(app.run())
Running it:
> python myapp.py -a hello --delete
a
deleting
hello
> python myapp.py -b yes
b
yes
Product's homepage
Requirements:
· Python