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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: lazy_main-0.3.4.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-116-generic

File hashes

Hashes for lazy_main-0.3.4.tar.gz
Algorithm Hash digest
SHA256 befa9402d2905db9c706fc829ebe11be0e4c7f616353d12a1bbdd187f17c3684
MD5 0bcf0c42ce4d4a67f7a6ae433c5ae673
BLAKE2b-256 c0b08456a1c19555dcd846aa833f6f237549bd977db1ab3c36caa115a0582412

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lazy_main-0.3.4-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-116-generic

File hashes

Hashes for lazy_main-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2ca0079718554dcee7e9cace29c3787bb9450e0f718827c119fd7834d132e506
MD5 9fa67a6790a93c2e3a42138ac797ee48
BLAKE2b-256 f50f7c90d965fedc64db0b09b75f48d3cd6b2e58a04b82fc74d1716084e06939

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