Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Configurables
Configurables
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1
    • Issues 1
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Packages & Registries
    • Packages & Registries
    • Package Registry
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • William Fong
  • ConfigurablesConfigurables
  • Merge Requests
  • !1

Closed
Created Jul 20, 2022 by William Fong@wcfongMaintainer
  • Report abuse
Report abuse

Staging

  • Overview 8
  • Commits 21
  • Changes 10

First MR!

Allows developers to provide configuration of different levels to a callable.

import os
from configurables import configurable, define_param, define_option

@configurable("Credentials")
@define_option("username", type=str, default=os.getlogin())
@define_param("password", type=str)
def login(username, password):
    print(f"{username}'s password is {password}!")

"""config.ini  # <- contents of
[Credentials]
username=me
password=password
"""

login("config.ini")

"me's password is password!"

TODO: Allow configuration of os variables and cli/function level overrides at user specified order. More docs! Better type casting for TOML and other "typed" files, rather than strings.

Edited Jul 20, 2022 by William Fong
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: staging