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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: lazy_main-0.4.1.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.1.tar.gz
Algorithm Hash digest
SHA256 cba04c89d7d34ebb58ab2de94fb038b8fe17e4fb581752bcf813c31f06921bd6
MD5 8e9d48d54fb1dce97688967c71d9c23f
BLAKE2b-256 e1e58b8f62ee2832dffe66afdfe15677b02f5982e65975b7e27bb2ca91184472

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lazy_main-0.4.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 47da49b828aad572d14f886ad61c6ea30fca4e0b59aebec2eeb69c4632b68603
MD5 59f4232b18a4872e923c2d0207c58e54
BLAKE2b-256 e988f4f7325bad80b2b480b0e84f64ef8fcd9b60a897f9bd022f83646407c394

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