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.3.1.tar.gz (2.2 kB view details)

Uploaded Source

Built Distribution

lazy_main-0.3.1-py3-none-any.whl (2.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lazy_main-0.3.1.tar.gz
Algorithm Hash digest
SHA256 6383b958c452e2923244e99e91b672e2a637738e527033d40a624bd8f089e165
MD5 ddde5e4cab28ea2109c5253f9ee38fe4
BLAKE2b-256 1dfbb7bdb7c916530186218a356a9315b761967cb7dffbcff0c9edbc8b9bfb74

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for lazy_main-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7796d04aa0b46ed929095b14132e2c15b6a831bc0e096f13f5d8c72a2b121673
MD5 3828cce0e48bb9a1fc924d98342f3cc0
BLAKE2b-256 225a8088a06e80889200e64fb8484fd539db85b89dbf2d92f08f86ffcd060a15

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