# The position of the top bar
 top_pos = 25
 
+
 # Displays data and text on the 0.96" LCD
 def display_text(variable, data, unit):
     # Maintain length of list
     values[variable] = values[variable][1:] + [data]
     # Scale the values for the variable between 0 and 1
-    colours = [(v - min(values[variable]) + 1) / (max(values[variable]) - min(values[variable]) + 1) for v in values[variable]]
+    colours = [(v - min(values[variable]) + 1) / (max(values[variable])
+               - min(values[variable]) + 1) for v in values[variable]]
     # Format the variable name and value
     message = "{}: {:.1f} {}".format(variable[:4], data, unit)
     print(message)
     for i in range(len(colours)):
         # Convert the values to colours from red to blue
         colour = (1.0 - colours[i]) * 0.6
-        r, g, b = [int(x * 255.0) for x in colorsys.hsv_to_rgb(colour, 1.0, 1.0)]
+        r, g, b = [int(x * 255.0) for x in colorsys.hsv_to_rgb(colour,
+                   1.0, 1.0)]
         # Draw a 1-pixel wide rectangle of colour
         draw.rectangle((i, top_pos, i+1, HEIGHT), (r, g, b))
         # Draw a line graph in black
-        line_y = HEIGHT - (top_pos + (colours[i] * (HEIGHT - top_pos))) + top_pos
+        line_y = HEIGHT - (top_pos + (colours[i] * (HEIGHT - top_pos)))\
+                 + top_pos
         draw.rectangle((i, line_y, i+1, line_y+1), (0, 0, 0))
     # Write the text at the top in black
     draw.text((0, 0), message, font=font, fill=(0, 0, 0))
     st7735.display(img)
 
+
 # Get the temperature of the CPU for compensation
 def get_cpu_temperature():
     process = Popen(['vcgencmd', 'measure_temp'], stdout=PIPE)
     output, _error = process.communicate()
     return float(output[output.index('=') + 1:output.rindex("'")])
 
+
 # Tuning factor for compensation. Decrease this number to adjust the
 # temperature down, and increase to adjust up
 factor = 0.8
 
 except ImportError:
     from smbus import SMBus
 
-print("""compensated-temperature.py - Use the CPU temperature to compensate temperature
-readings from the BME280 sensor. Method adapted from Initial State's Enviro pHAT
-review: https://medium.com/@InitialState/tutorial-review-enviro-phat-for-raspberry-pi-4cd6d8c63441
+print("""compensated-temperature.py - Use the CPU temperature
+to compensate temperature readings from the BME280 sensor.
+Method adapted from Initial State's Enviro pHAT review:
+https://medium.com/@InitialState/tutorial-review-enviro-phat-for-raspberry-pi-4cd6d8c63441
 
 Press Ctrl+C to exit!
 
 bus = SMBus(1)
 bme280 = BME280(i2c_dev=bus)
 
+
 # Get the temperature of the CPU for compensation
 def get_cpu_temperature():
     process = Popen(['vcgencmd', 'measure_temp'], stdout=PIPE)
     output, _error = process.communicate()
     return float(output[output.index('=') + 1:output.rindex("'")])
 
+
 # Tuning factor for compensation. Decrease this number to adjust the
 # temperature down, and increase to adjust up
 factor = 0.8
 
 #!/usr/bin/env python
 
-import time
-import json
 import requests
 import ST7735
 from bme280 import BME280
 except ImportError:
     from smbus import SMBus
 
-print("""luftdaten.py - Reads temperature, pressure, humidity, PM2.5, and PM10 from
-Enviro plus and sends data to Luftdaten, the citizen science air quality project.
+print("""luftdaten.py - Reads temperature, pressure, humidity,
+PM2.5, and PM10 from Enviro plus and sends data to Luftdaten,
+the citizen science air quality project.
 
-Note: you'll need to register with Luftdaten at: https://meine.luftdaten.info/ and
-enter your Raspberry Pi serial number that's displayed on the Enviro plus LCD
-along with the other details before the data appears on the Luftdaten map.
+Note: you'll need to register with Luftdaten at:
+https://meine.luftdaten.info/ and enter your Raspberry Pi
+serial number that's displayed on the Enviro plus LCD along
+with the other details before the data appears on the
+Luftdaten map.
 
 Press Ctrl+C to exit!
 
 # Create BME280 instance
 bme280 = BME280(i2c_dev=bus)
 
-# Create PMS5003 instance
-pms5003 = PMS5003()
-
 # Create LCD instance
 disp = ST7735.ST7735(
     port=0,
 # Initialize display
 disp.begin()
 
+# Create PMS5003 instance
+pms5003 = PMS5003()
+
+
 # Read values from BME280 and PMS5003 and return as dict
 def read_values():
     values = {}
         values["P1"] = str(pm_values.pm_ug_per_m3(10))
     return values
 
+
 # Get CPU temperature to use for compensation
 def get_cpu_temperature():
     process = Popen(['vcgencmd', 'measure_temp'], stdout=PIPE)
     output, _error = process.communicate()
     return float(output[output.index('=') + 1:output.rindex("'")])
 
+
 # Get Raspberry Pi serial number to use as ID
 def get_serial_number():
-    with open('/proc/cpuinfo','r') as f:
+    with open('/proc/cpuinfo', 'r') as f:
         for line in f:
-            if line[0:6]=='Serial':
-                return(line.split(":")[1].strip())
+            if line[0:6] == 'Serial':
+                return line.split(":")[1].strip()
+
 
 # Check for Wi-Fi connection
 def check_wifi():
     else:
         return False
 
+
 # Display Raspberry Pi serial and Wi-Fi status on LCD
 def display_status():
     wifi_status = "connected" if check_wifi() else "disconnected"
     draw.text((x, y), message, font=font, fill=text_colour)
     disp.display(img)
 
+
 def send_to_luftdaten(values, id):
     pm_values = dict(i for i in values.items() if i[0].startswith("P"))
     temp_values = dict(i for i in values.items() if not i[0].startswith("P"))
 
     resp_1 = requests.post("https://api.luftdaten.info/v1/push-sensor-data/",
-        json={
-            "software_version": "enviro-plus 0.0.1",
-            "sensordatavalues": [{"value_type": key, "value": val} for key, val in pm_values.items()]
-        },
-        headers={
-            "X-PIN":    "1",
-            "X-Sensor": id,
-            "Content-Type": "application/json",
-            "cache-control": "no-cache"
-        }
+             json={
+                 "software_version": "enviro-plus 0.0.1",
+                 "sensordatavalues": [{"value_type": key, "value": val} for
+                                      key, val in pm_values.items()]
+             },
+             headers={
+                 "X-PIN":    "1",
+                 "X-Sensor": id,
+                 "Content-Type": "application/json",
+                 "cache-control": "no-cache"
+             }
     )
 
     resp_2 = requests.post("https://api.luftdaten.info/v1/push-sensor-data/",
-        json={
-            "software_version": "enviro-plus 0.0.1",
-            "sensordatavalues": [{"value_type": key, "value": val} for key, val in temp_values.items()]
-        },
-        headers={
-            "X-PIN":    "11",
-            "X-Sensor": id,
-            "Content-Type": "application/json",
-            "cache-control": "no-cache"
-        }
+             json={
+                 "software_version": "enviro-plus 0.0.1",
+                 "sensordatavalues": [{"value_type": key, "value": val} for
+                                      key, val in temp_values.items()]
+             },
+             headers={
+                 "X-PIN":    "11",
+                 "X-Sensor": id,
+                 "Content-Type": "application/json",
+                 "cache-control": "no-cache"
+             }
     )
 
     if resp_1.ok and resp_2.ok:
     else:
         return False
 
+
 # Compensation factor for temperature
 comp_factor = 1.2