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

Uploaded Source

Built Distribution

lazy_main-0.1.4-py3-none-any.whl (2.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lazy_main-0.1.4.tar.gz
Algorithm Hash digest
SHA256 039f1e6686e85d5ae1cb3cd8958d3aef93ed7bb5600af412b33d927c0b83a2a3
MD5 c635afce15873cbfcecf35f783ce73e4
BLAKE2b-256 e5ff88db3698c9844c69dc47e7da803b56d3de0aa2178637dcd508c8c3066750

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for lazy_main-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2f86ccb9094ec223913d9a1e9dde288eb61ff91750da0614134d8a688c8b0b47
MD5 7c3bdaa9ee1e1657aeb2937a5edbffa4
BLAKE2b-256 b291eb931c5c9a79795632e2e1e26abcaabdac390b317a6a5747d71d6fcd366b

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