google spreadsheet as config file
Project description
sheetconf
spreadsheet as config
how to use it
Get config object from spreadsheet something like below. https://docs.google.com/spreadsheets/d/1PgLfX5POop6QjpgjDLE9wbSWWXJYcowxRBEpxmpG8og
import sys
import typing_extensions as tx
import sheetconf
from sheetconf.usepydantic import Parser
from pydantic import BaseModel, Field
class XXXConfig(BaseModel):
name: str
token: str
class YYYConfig(BaseModel):
name: str = Field(default="yyy", description="name of yyy")
token: str = Field(description="token of yyy")
class LoggerConfig(BaseModel):
level: tx.Literal["DEBUG","INFO", "WARNING", "ERROR"]
class Config(BaseModel):
xxx: XXXConfig
yyy: YYYConfig
logger: LoggerConfig
url = "https://docs.google.com/spreadsheets/d/1PgLfX5POop6QjpgjDLE9wbSWWXJYcowxRBEpxmpG8og"
config = sheetconf.loadfile(url, config=Config, format="spreadsheet", adjust=True)
print(config)
# Config(logger=LoggerConfig(level='INFO'), xxx=XXXConfig(name='xxx', token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'), yyy=YYYConfig(name='yyy', token='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'))
other
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
sheetconf-0.0.1-py3-none-any.whl
(10.0 kB
view details)
File details
Details for the file sheetconf-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: sheetconf-0.0.1-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7faf8e7792e61afc3afc374ff9d95dfe1c917b9e2dddce71d3ff18f865d16831 |
|
MD5 | 45355e868b4b5c2207ffaa374b0ab110 |
|
BLAKE2b-256 | f428b279502c1b4fedd0ae1d33774fdcf2f0c0bdf4bf64af7889a6cedc502de2 |