pavloo/config_py

command line interface

pavloo opened this issue · 0 comments

An intended usage of the library is via cli.
Having directory structure (you are in your_project dir):

|-- your_project
|    |-- my_module
|    |    |--__init__.py

after your run:

config-py -m my_module init

it will create the next files in my_module dir:

|-- my_module
|    |--  __init__.py
|    |-- config
|    |    |-- __init__.py
|    |    |-- config-dev.py

config/__init__.py:

from config-py import import_config
import_config(globals(), 'my_module')

config/config-dev.py:

TEST="TEST"

(you may wanna refer to the PoC code to see it in detail)

If you don't pass -m it will create config for the root module and config/__init__.py will look like this:
config/__init__.py:

from config-py import import_config
import_config(globals())

Acceptance criteria:

  1. pip install config-py installs the package
  2. config-py binary is available in the system
  3. when you run config-py init it scaffolds config module for you
  4. generated config/__init__.py references to config-py via module import and imports import_module method.