Skip to main content

Library to read and write configs using API and CLI with Typer

Project description

The configuration is a JSON structure. We'll use the following for the coming examples.

{
  "courses": {
    "datintro22": {
      "timesheet": {
        "url": "https://sheets.google..."
      },
      "schedule": {
        "url": "https://timeedit.net/..."
      }
    }
  }
}

The format is actually irrelevant to anyone outside of this library, since it will never be accessed directly anyway. But it will be used to illustrate the examples.

We can access values by dot-separated addresses. For instance, we can use courses.datintro22.schedule.url to access the TimeEdit URL of the datintro22 course.

Let's have a look at some usage examples. Say we have the program nytid that wants to use this config module and subcommand.

import typer
import typerconf as config

cli = typer.Typer()
# add some other subcommands
config.add_config_cmd(cli)

We want the CLI command to have the following form when used with nytid.

  nytid config courses.datintro22.schedule.url --set https://timeedit.net/...

will set the configuration value at the path, whereas

  nytid config courses.datintro22.schedule.url

will return it.

Internally, nytid's different parts can access the config through the following API.

import typerconf as config

url = config.get("courses.datintro22.schedule.url")

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

typerconf-1.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

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

typerconf-1.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file typerconf-1.0.tar.gz.

File metadata

  • Download URL: typerconf-1.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.0 CPython/3.10.6 Linux/5.19.0-35-generic

File hashes

Hashes for typerconf-1.0.tar.gz
Algorithm Hash digest
SHA256 004eea06e55ae810778077a66472550a34f3b48587c5813e92391eb83d3b09c7
MD5 b86ff8e9fe61afe556f5be597cbe836e
BLAKE2b-256 3c4a83a90e934ec1fb9d1ccf4aa658628fce838a42f6d5ea556d90c48b40fbd8

See more details on using hashes here.

File details

Details for the file typerconf-1.0-py3-none-any.whl.

File metadata

  • Download URL: typerconf-1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.0 CPython/3.10.6 Linux/5.19.0-35-generic

File hashes

Hashes for typerconf-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4800a0c951927419eb259ff0cd51810b01fdca41c5523f63c097ed431cdeed22
MD5 a1ca96233ee7d6477dd97c27c89c7d0a
BLAKE2b-256 61decfa33666bc512bbef8c19643c7b0fa865d32c6e4caa83bb5ccce40694aeb

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