rec / def_main

🗣 A decorator for main 🗣
0 stars 0 forks source link

def_main: a tiny decorator to define main

Define the main function in one step.

For any non-trivial projects, use typer and dtyper instead!

Usage example

Without an return code

import def_main

@def_main
def main(*argv):
    print('hello,', *argv)

means precisely the same as:

def main(*argv):
    print('hello,', *argv)

if __name__ == '__main__':
    import sys

    main(sys.argv[1:])

With a return code

import def_main

@def_main
def main(*argv):
    print('hello,', *argv)
    return argv

means precisely the same as:

def main(*argv):
    print('hello,', *argv)
    return argv

if __name__ == '__main__':
    import sys

    returncode = main(sys.argv[1:])
    sys.exit(returncode)