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

Uploaded Source

Built Distribution

lazy_main-0.2.0-py3-none-any.whl (2.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lazy_main-0.2.0.tar.gz
  • Upload date:
  • Size: 2.1 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.2.0.tar.gz
Algorithm Hash digest
SHA256 60f34f7c312a51079b039f7921ae80dd534dfaa95a6f1dbc70317f7c160bafd3
MD5 ac02db1d05cd6c9a2fd17060c5900b69
BLAKE2b-256 6c7df872b622f7e59845f4a3dbacce39c4b1f1b6687ec7a3de21497ef724ae88

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lazy_main-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 2.7 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a0763e2a039fad6249e12008fed57fdc11f053002938dcde729a6354e8485189
MD5 c4a0288c4522b38a2fd3eb2b1061629d
BLAKE2b-256 e1cf58ea0efbed1a58da2be9011133b77055acdfe619d2ea3ed729af1c3c1a67

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