import { Callout } from 'nextra-theme-docs'; Once you've gotten started with a basic configuration, you'll probably want to customize the look and feel of hyperglass by changing the logo or color scheme. Fortunately, there are _a lot_ ways to customize hyperglass. ## Configuration Files | File Name | Purpose | | :----------- | :------------------------------------------------------------------------- | | `config` | Application-wide configuration such as logging, web UI customization, etc. | | `devices` | Your devices and their associated configurations. | | `directives` | Custom [directives](/configuration/directives-file-reference) (commands). | **File Extensions**
All the examples in the docs are provided in [YAML](https://yaml.org/) format, but [TOML](https://toml.io/), JSON, and Python files are also supported.
### Using a Python File When using a Python file for a hyperglass configuration, one of the following methods may be used: #### Define a Function Named `main` ```python def main(): return { "org_name": "Your Organization Name", "web": { "theme": { "colors": { "blue": "#0000ff", } } } } # The main function can also be an async function. async def main(): config = await some_function_to_fetch_config() return config ``` #### Define a Dictionary Named `main` ```python main = { "org_name": "Your Organization Name", "web": { "theme": { "colors": { "blue": "#0000ff", } } } } ```