Skip to main content

Utility programms

Project description

Library of darklab utility programms

contains:

Scripts:

A package built on top of argparse. intended usage to be a python version of makefile, for uniform command acceess to run tests/lints in dev env and CI

code examples:

from types import SimpleNamespace

import darklab_utils as utils

class InputDataFactory(utils.AbstractInputDataFactory):

    @staticmethod
    def register_cli_arguments(argpase_reader: utils.ArgparseReader) -> utils.ArgparseReader:
        return argpase_reader \
            .add_argument("--cli_argument", type=str, default="example")

    @staticmethod
    def register_env_arguments(env_reader: utils.EnvReader) -> utils.EnvReader:
        return env_reader.add_arguments(
            env_argument1=env_reader["PWD"],
            env_argument2=env_reader.get("NOT_EXISTING_VAR", "default_value"),
        )

class MyScripts(utils.AbstractScripts):
    input_data_factory = InputDataFactory

    @utils.registered_action
    def build(self, input_: SimpleNamespace):
        self.shell(f"echo {input_.cli_argument}")

    @utils.registered_action
    def print(self, input_: SimpleNamespace):
        self.shell(f"echo {input_.env_argument1}")

    @utils.registered_action
    def example(self, input_: SimpleNamespace):
        args = input_.cli_reader \
            .add_argument("--argument", type=int, default=456) \
            .get_data()
        self.shell(f"echo debug_{args.argument}")

if __name__=="__main__":
    MyScripts().process()

    # run with `python scripts.py build`, `python scripts.py example --argument=123`

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

darklab_utils-0.0.1.dev2.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

darklab_utils-0.0.1.dev2-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file darklab_utils-0.0.1.dev2.tar.gz.

File metadata

  • Download URL: darklab_utils-0.0.1.dev2.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for darklab_utils-0.0.1.dev2.tar.gz
Algorithm Hash digest
SHA256 ad2679fdc61a91c3e5201fe11fdd54817d7a66dea96239a59fe44de63d72b7c1
MD5 efa4777e911affbdaf24e9168304b4c0
BLAKE2b-256 e9d009a47a3cf4a8ed125cba8fb5688b793b59f07a9a0f299b833d755b497ea7

See more details on using hashes here.

File details

Details for the file darklab_utils-0.0.1.dev2-py3-none-any.whl.

File metadata

File hashes

Hashes for darklab_utils-0.0.1.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 e884ae85297729b6a517bd781e3c34ac235ed37af941890e80844f5fca50a20d
MD5 b5e4609b10f24ae019b477b4796bd319
BLAKE2b-256 819f90ffe7d45b1081c27ebd4296c400ad6e22d13ab7f9d0ba2db8b0f8ac55fb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page