mirror of
https://github.com/dtomlinson91/panaetius.git
synced 2025-12-22 13:05:45 +00:00
69 lines
2.0 KiB
ReStructuredText
69 lines
2.0 KiB
ReStructuredText
Configuration
|
|
=============
|
|
|
|
panaetius is fairly easy to configure. There are just a couple of options to be aware of.
|
|
|
|
Manual configuration of ``Config`` instance
|
|
--------------------------------------------
|
|
|
|
Configuring with a ``__header__.py`` is deprecated. Manually set this value.
|
|
|
|
Use the following snippet to configure (in ``__init__.py``):
|
|
|
|
.. code-block:: python
|
|
|
|
import panaetius
|
|
from panaetius.config import Config
|
|
|
|
CONFIG = Config(path="~/.config/island-code-extractor", header="island-code-extractor")
|
|
|
|
panaetius.set_config(CONFIG, "reddit.secret")
|
|
|
|
Access this in your code by importing the ``CONFIG`` instance from your module:
|
|
|
|
.. code-block:: python
|
|
|
|
from island_code_extractor import CONFIG
|
|
from island_code_extractor import panaetius
|
|
|
|
CONFIG.reddit_output_path
|
|
panaetius.logger.info("Using logger")
|
|
|
|
__header__.py
|
|
-------------
|
|
|
|
You should set a ``__header__.py`` next to your script or module.
|
|
|
|
This ``__header__.py`` should contain a ``__header__`` variable that sets the name of your project/script.
|
|
|
|
E.g a ``__header__.py`` for the module ``plex_posters`` would look like:
|
|
|
|
.. code-block:: python
|
|
|
|
__header__ = 'plex_posters'
|
|
|
|
Your config file can then be created at ``~/.config/__header__/config.toml``.
|
|
|
|
Your environment variables can be created with:
|
|
|
|
.. code-block:: bash
|
|
|
|
HEADER_FOO = "bar"
|
|
HEADER_SUBSECTION_FOO = "bar"
|
|
|
|
The headers of the toml file would look like:
|
|
|
|
.. code-block:: toml
|
|
|
|
[__header__]
|
|
foo = bar
|
|
|
|
[__header__.subsection]
|
|
foo = bar
|
|
|
|
If you are writing a script, simply place this ``__header__.py`` along side your script. Panaetius will pick this up when the script is ran.
|
|
|
|
If you are writing a module, you can either place the ``__header__.py`` alongside the script that uses your module. If this is not possible, panaetius will set the default ``__header__`` variable to the name of the virtualenv that the script is activated from.
|
|
|
|
If neither of the above aren't possible (say your script is running in a lambda on AWS), then ``__header__`` will be set to the default of ``panaetius``.
|