"""Plotting module.
"""
from __future__ import annotations
from typing import Dict, Union
PALETTE = {
    "solarized": {
        "base03": "#002b36",
        "base02": "#073642",
        "base01": "#586e75",
        "base00": "#657b83",
        "base0": "#839496",
        "base1": "#93a1a1",
        "base2": "#eee8d5",
        "base3": "#fdf6e3",
        "yellow": "#b58900",
        "orange": "#cb4b16",
        "red": "#dc322f",
        "magenta": "#d33682",
        "violet": "#6c71c4",
        "blue": "#268bd2",
        "cyan": "#2aa198",
        "green": "#859900",
        "goldenrod": "#fac205",
        "darkgreen": "#1B8603",
    },
}
"""Default color palette."""
PALETTE["solarized"]["gray"] = PALETTE["solarized"]["base03"]
[docs]
class ArtistException(Exception):  # pragma: no cover
    """Exception raised for errors in the beam plotting module."""
    def __init__(self, m: str = "") -> None:
        self.message = m 
[docs]
class Artist:
    """
    TODO
    """
    def __init__(self, palette: Union[Dict[str, str], str] = "solarized") -> None:
        if isinstance(palette, str):
            self._palette = PALETTE.get(palette, palette)
        else:
            self._palette = palette