Skip to main content

No project description provided

Project description

lazy-main

Generalized framework for main loop function.

Installation

pip install lazy-main

How to Use

from lazy_main import LazyMain

def main(*args, **kwargs):
    print("Hello World!")

def error_handler(exception):
    print("An error occurred!", exception)

if __name__ == "__main__":
    LazyMain(
        main=main,
        error_handler=error_handler, # This is optional.
        sleep_min=3,
        sleep_max=5,
        print_logs=True,
        loop_count=-1, # -1 Means it will loop infinitely.
    ).run()

You can also pass arguments to the main function.

from lazy_main import LazyMain

def main(*args, **kwargs):
    print(kwargs["hello"]) # World!

if __name__ == "__main__":
    LazyMain(
        main=main,
    ).run(
        hello="World!",
    )

Returning True will print the total elapsed time.

from lazy_main import LazyMain

def main():
    return True

if __name__ == "__main__":
    LazyMain(
        main=main,
    ).run() # Done in 0.10s.

Returning SIGTERM will terminate the loop.

from lazy_main import LazyMain
import signal

def main():
    return signal.SIGTERM

if __name__ == "__main__":
    LazyMain(
        main=main,
    ).run()

    print("I'm free!")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lazy_main-0.4.0.tar.gz (2.5 kB view details)

Uploaded Source

Built Distribution

lazy_main-0.4.0-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file lazy_main-0.4.0.tar.gz.

File metadata

  • Download URL: lazy_main-0.4.0.tar.gz
  • Upload date:
  • Size: 2.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.8.10 Linux/5.15.0-117-generic

File hashes

Hashes for lazy_main-0.4.0.tar.gz
Algorithm Hash digest
SHA256 27ad434dc42b68991dd5d2af3f9b81bec0a374c6d83f1089c6bfc36161015502
MD5 022fa7586a045e92e4232615c260640c
BLAKE2b-256 4b94cb2a4964fa66e34adf26591e211c04328527ad6f52af1b9688f321b4edc8

See more details on using hashes here.

File details

Details for the file lazy_main-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: lazy_main-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 3.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.8.10 Linux/5.15.0-117-generic

File hashes

Hashes for lazy_main-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35d7ae88495b79a97a3790049322787883c8b33b4003b6b3ade2b6873336046c
MD5 79a6759caf4ecaaef17cc3831fa554f9
BLAKE2b-256 12b7071eaa67d00d0de92b7ee44e56dd17f7a715f202193602b26e73eb770cf2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page