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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: lazy_main-0.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 72e90fb94c5a29dcc4a8c995eef080e7e574c98fdcc34486cf8135b82057723c
MD5 fd8a2021e2ba4e678a684e3a37de8d32
BLAKE2b-256 31813737155c846d5410241361d3b46c62c267e588fdccde8c719d5d910fe757

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lazy_main-0.3.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 976af487bf0c1c1cdcdc200a39a21677a91e47705f50825b9161af43027196f8
MD5 b5561194409319b389cda165891ede3f
BLAKE2b-256 f0277dc818455e121fce55cea2dec619a732bdd3704a8324d9bd09fe47dc9694

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