Skip to main content

Interactive prompt for variables that should be set at runtime

Project description

# Varlet

Varlet lets you prompt for variables at runtime, and saves them to a variables module.

## Install

pip install varlet

## Usage

In your settings.py file add:

`python from varlet import variable `

whenever you declare a variable that could change depending on the environment, use:

`python # It is OK to make this True if you are in dev DEBUG = variable("DEBUG", default=False) `

If this “DEBUG” variable is not defined in the variables module (somewhere in your python path), the user is prompted to enter a Python expression to set it.

When the prompt is displayed, the comments directly above the call to variable() are displayed, and the prompt has a default value as specified by the default argument.

## Implementation Details

varlet assumes there is a variables module located somewhere in your Python path. If it is not found, it will attempt to create one based on the location of __main__.

When a variable is set to a value, varlet will eval the value (to make sure it is valid python), and then perform ast.literal_eval(repr(value)) to ensure that the value has a valid representation that can be written to a file. The repr(value) is then appended to the end of the variables module (along with any comments associated with the value).

If STDIN is not a tty-like interface, then a KeyError is raise if the variable is not set in the variables module.

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

varlet-0.0.8.tar.gz (5.3 kB view details)

Uploaded Source

File details

Details for the file varlet-0.0.8.tar.gz.

File metadata

  • Download URL: varlet-0.0.8.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for varlet-0.0.8.tar.gz
Algorithm Hash digest
SHA256 d89df186cc47abd224c6d637624a3cc96aad062b676e7b00201ccb0b0ad8bcf4
MD5 5e1c06c49ca0b166e83635a4689e9152
BLAKE2b-256 477eca0bfd05c2acbeb0f86d3eba5b4e25644407d664378583d91c42ac0fc013

See more details on using hashes here.

Supported by

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