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 example:

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 env_example(self):
        self.shell(f"echo debug_{self.globals.env_argument2}")

    @utils.registered_action
    def cli_example(self):
        self.shell(f"echo debug_{self.globals.cli_argument}")

    @utils.registered_action
    def cli_extra_arg_example(self):
        args = self.globals.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 cli_example`, `python scripts.py cli_extra_arg_example --argument=123`

Link to Pypi

https://pypi.org/project/darklab-utils/

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.4.tar.gz (18.9 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.4-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file darklab_utils-0.0.4.tar.gz.

File metadata

  • Download URL: darklab_utils-0.0.4.tar.gz
  • Upload date:
  • Size: 18.9 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.4.tar.gz
Algorithm Hash digest
SHA256 b9ba4d3bf7a9c2fcfb3c97d56d640b33d64f825c13b886dbbf597a7179eb0b81
MD5 6fdf357d0368a4ea42ae813a2e95d9f4
BLAKE2b-256 fea7c05b2df6dc8c0ffcb98bf02dbf33bffeed6e1a68b538f4899c53f4438ca7

See more details on using hashes here.

File details

Details for the file darklab_utils-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: darklab_utils-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 21.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for darklab_utils-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1b51f68e51482640e52d723dc0ef25a0ed95bd7f1c15e6fff735ea6e59d926dc
MD5 2a28ec3283a8dc2f034585e409d68314
BLAKE2b-256 22b983d98148b46d1494ce238934890cc9ea834eeb694cd2d4e503e90153504b

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