"""
 
-# Needed for _DisplayBus
 from typing import Union
-import paralleldisplay
 from ._fourwire import FourWire
 from ._i2cdisplay import I2CDisplay
-
-__version__ = "0.0.0-auto.0"
-__repo__ = "https://github.com/adafruit/Adafruit_Blinka_displayio.git"
-
-
-_DisplayBus = Union[FourWire, I2CDisplay, paralleldisplay.ParallelBus]
-
-# Import the remaining name spaces
-# pylint: disable=wrong-import-position
 from ._bitmap import Bitmap
 from ._colorspace import Colorspace
 from ._colorconverter import ColorConverter
 from ._shape import Shape
 from ._tilegrid import TileGrid
 from ._display import displays
+from ._displaybus import _DisplayBus
 
-# pylint: enable=wrong-import-position
+__version__ = "0.0.0-auto.0"
+__repo__ = "https://github.com/adafruit/Adafruit_Blinka_displayio.git"
 
 
 def release_displays() -> None:
 
         y2: int,
         skip_index: int,
     ) -> None:
-        # pylint: disable=unnecessary-pass
+        # pylint: disable=unnecessary-pass, invalid-name
         """Inserts the source_bitmap region defined by rectangular boundaries"""
         pass
 
     def dirty(self, x1: int = 0, y1: int = 0, x2: int = -1, y2: int = -1) -> None:
-        # pylint: disable=unnecessary-pass
+        # pylint: disable=unnecessary-pass, invalid-name
         """Inform displayio of bitmap updates done via the buffer protocol."""
         pass
 
 
         self._depth = 16
         self._transparent_color = None
         self._rgba = False
+        self._input_colorspace = input_colorspace
 
     def _compute_rgb565(self, color: int):
         self._depth = 16
         return (color[0] & 0xF8) << 8 | (color[1] & 0xFC) << 3 | color[2] >> 3
 
-    def _compute_luma(self, color: int):
+    @staticmethod
+    def _compute_luma(color: int):
         red = color >> 16
         green = (color >> 8) & 0xFF
         blue = color & 0xFF
         return (red * 19) / 255 + (green * 182) / 255 + (blue + 54) / 255
 
-    def _compute_chroma(self, color: int):
+    @staticmethod
+    def _compute_chroma(color: int):
         red = color >> 16
         green = (color >> 8) & 0xFF
         blue = color & 0xFF
 
         return hue
 
-    def _dither_noise_1(self, noise):
+    @staticmethod
+    def _dither_noise_1(noise):
         noise = (noise >> 13) ^ noise
         more_noise = (
             noise * (noise * noise * 60493 + 19990303) + 1376312589
         self._transparent_color = color
 
     def make_opaque(self, color: int) -> None:
+        # pylint: disable=unused-argument
         """Make the ColorConverter be opaque and have no transparent pixels."""
         self._transparent_color = None
 
 
 import time
 import struct
 import threading
+from typing import Optional
 import digitalio
 from PIL import Image
 import numpy
 import microcontroller
 from recordclass import recordclass
-from ._colorconverter import ColorConverter
 import _typing
+from ._displaybus import _DisplayBus
+from ._colorconverter import ColorConverter
 from ._group import Group
-from displayio import _DisplayBus
-from typing import Optional
 from ._constants import (
     CHIP_SELECT_TOGGLE_EVERY_BYTE,
     CHIP_SELECT_UNTOUCHED,
         SH1107_addressing: bool = False,
         set_vertical_scroll: int = 0,
     ):
-        # pylint: disable=unused-argument,too-many-locals
+        # pylint: disable=unused-argument,too-many-locals,invalid-name
         """Create a Display object on the given display bus (`displayio.FourWire` or
         `paralleldisplay.ParallelBus`).
 
             i += 2 + data_size
 
     def _send(self, command, data):
-        self._bus._begin_transaction()  # pylint: disable=protected-access
+        # pylint: disable=protected-access
+        self._bus._begin_transaction()
         if self._data_as_commands:
             self._bus._send(
                 DISPLAY_COMMAND, CHIP_SELECT_TOGGLE_EVERY_BYTE, bytes([command] + data)
                 DISPLAY_COMMAND, CHIP_SELECT_TOGGLE_EVERY_BYTE, bytes([command])
             )
             self._bus._send(DISPLAY_DATA, CHIP_SELECT_UNTOUCHED, data)
-        self._bus._end_transaction()  # pylint: disable=protected-access
+        self._bus._end_transaction()
 
     def _send_pixels(self, data):
+        # pylint: disable=protected-access
         if not self._data_as_commands:
             self._bus._send(
                 DISPLAY_COMMAND,
 
     def _encode_pos(self, x, y):
         """Encode a postion into bytes."""
-        return struct.pack(self._bounds_encoding, x, y)
+        return struct.pack(self._bounds_encoding, x, y)  # pylint: disable=no-member
 
     def fill_row(
         self, y: int, buffer: _typing.WriteableBuffer
 
--- /dev/null
+# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams
+#
+# SPDX-License-Identifier: MIT
+
+"""
+`displayio._displaybus`
+================================================================================
+
+Type aliases for Blinka
+
+**Software and Dependencies:**
+
+* Adafruit Blinka:
+  https://github.com/adafruit/Adafruit_Blinka/releases
+
+* Author(s): Melissa LeBlanc-Williams
+
+"""
+
+from typing import Union
+import paralleldisplay
+from ._fourwire import FourWire
+from ._i2cdisplay import I2CDisplay
+
+__version__ = "0.0.0-auto.0"
+__repo__ = "https://github.com/adafruit/Adafruit_Blinka_Displayio.git"
+
+_DisplayBus = Union[
+    FourWire, 
+    I2CDisplay, 
+    paralleldisplay.ParallelBus
+]
\ No newline at end of file
 
 
 """
 
+from typing import Optional
 import microcontroller
 import _typing
 from ._group import Group
-from . import _DisplayBus
-from typing import Optional
+from ._displaybus import _DisplayBus
 
 __version__ = "0.0.0-auto.0"
 __repo__ = "https://github.com/adafruit/Adafruit_Blinka_displayio.git"
         always_toggle_chip_select: bool = False,
         grayscale: bool = False,
     ):
-        # pylint: disable=too-many-locals
+        # pylint: disable=too-many-locals, unused-argument
         """
         Create a EPaperDisplay object on the given display bus (displayio.FourWire or
         paralleldisplay.ParallelBus).
 
         if self.in_group:
             for layer in self._layers:
                 layer._update_transform(self._absolute_transform)
-        # pylint: enable=protected-access
 
     def _removal_cleanup(self, index):
+        # pylint: disable=protected-access
         layer = self._layers[index]
-        layer._update_transform(None)  # pylint: disable=protected-access
+        layer._update_transform(None)
 
     def _layer_update(self, index):
         # pylint: disable=protected-access
         layer = self._layers[index]
         layer._update_transform(self._absolute_transform)
-        # pylint: enable=protected-access
 
     def append(self, layer: Union[Group, TileGrid]) -> None:
         """Append a layer to the group. It will be drawn
 
         self._send(DISPLAY_COMMAND, CHIP_SELECT_UNTOUCHED, bytes([command] + data))
         self._end_transaction()
 
-    # pylint: disable=unused-argument
     def _send(self, data_type: int, chip_select: int, data: _typing.ReadableBuffer):
+        # pylint: disable=unused-argument
         if data_type == DISPLAY_COMMAND:
             n = len(data)
             if n > 0:
             data_bytes[1:] = data
             self._i2c.writeto(self._dev_addr, buffer=data_bytes, stop=True)
 
-    # pylint: enable=unused-argument
-
     def _end_transaction(self) -> None:
         """Release the bus after sending data."""
         self._i2c.unlock()
 
 
 """
 
-import _typing
 import microcontroller
+import _typing
 
 __version__ = "0.0.0-auto.0"
 __repo__ = "https://github.com/adafruit/Adafruit_Blinka_displayio.git"