Skip to main content

Simple wrapper for dotenv, with casting

Project description

GitHub Actions

A simple wrapper for python-dotenv that allows for easy casting of environment strings to various data types.

Installation

Standard install:

pip install castaway

If you want Django integration (dj-email-url, dj-database-url), do:

pip install castaway[django]

Example

Easiest form is:

from castaway import config
SOME_SETTING = config('SOME_SETTING', default=None)

Like python-dotenv, this will load .env from the current working directory, or walk the parent directory tree until it is found.

For more custom usage, you can specify the exact name and path to whatever file you need. For instance, using the tests/.env file from this repo.

from datetime import datetime
from castaway import Config

config = Config('tests/.env')

CASTAWAY_INT = config('CASTAWAY_INT', cast=int)
assert CASTAWAY_INT == 23

CASTAWAY_LIST = config('CASTAWAY_LIST', cast=list)
assert CASTAWAY_LIST == ['a', 'b', 'c']

CASTAWAY_DATETIME = config('CASTAWAY_DATETIME', cast=datetime.fromisoformat)
assert CASTAWAY_DATETIME == datetime(2021, 4, 3, 14, 25)

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

castaway-1.0.0.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

castaway-1.0.0-py3-none-any.whl (3.5 kB view hashes)

Uploaded Python 3

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