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 {self.globals.env_argument2}")

    @utils.registered_action
    def cli_example(self):
        self.shell(f"echo {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.2.tar.gz (18.8 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.2-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: darklab_utils-0.0.2.tar.gz
  • Upload date:
  • Size: 18.8 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.2.tar.gz
Algorithm Hash digest
SHA256 bae921c55c760536438b3a411b481ce8eb3b04765a69dd2934d40de025e562f3
MD5 b22807fae18d2f2eb74250c28f45fb7f
BLAKE2b-256 09cece00aab520e5e4cd058b20e3bed0de1d4519f0f46879dc78b8c2b4fa1036

See more details on using hashes here.

File details

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

File metadata

  • Download URL: darklab_utils-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 21.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 72918095e2b0fbc48680603191a99fb93cff6e97e1fb432b3cefa8d72e099410
MD5 f37b0c971ffd05dc34cc719c7b6dce0d
BLAKE2b-256 dad3d4b7c07dac28732b56116e32d246ce620710b8cd1aefceedb76f854c0a69

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