Skip to main content

Machine Learned Auto brightness

Project description

brightml: Machine-Learned Auto brightness

PyPI PyPI HitCount

The goal of this package is to automatically manage brightness on laptops, with "zero config"; using machine learning. Some do not even realise that what is "on" your screen, matters. White screens (like browser) vs coding (in black) should be accounted for.

All you have to do is to change brightness when it is not good enough yet; brightml learns.

It will learn to generalize based on your personal needs. To do this, it uses:

  • Brightness of screen
  • Ambient light sensor (if available)
  • Hour of day
  • whereami (indoor wifi positioning)
  • Battery feature (only if discharging)
  • Active application name
  • Active window title

Features

  • Cross-OS (within Linux)
  • Cross-vendor (intel, nvidia)
  • Cross-hardware (with or without ambient light sensor, linux on macbook works)
  • Seamless integration: No need to change key bindings as it monitors brightness change by user
  • Uses asyncio, event-based (change of window immediately triggers prediction; no timer)
  • Updates brightness on focusing different windows and on scrolling

Goals

  • Provide service files to enable by startup (systemd: done)
  • Add a command to show "feature importance"
  • More extensibility (plugin based)
  • Cross-platform (OSX)

Installation

pip install brightml

Bonus: set up whereami <https://github.com/kootenpv/whereami>_ to include indoor positioning in the predictions.

pip install brightml[whereami]

Usage

Eventually we need to get some service files for the different Operating Systems, so the process starts on boot.

For now, just ready for preview, run on command line:

sudo brightml

This will run brightml in the foreground.

To instead just show current feature values, run:

pascal@archbook:~$ brightml features
{
    "ambient_light": 1,
    "whereami": "bed",
    "datetime_hour": 21,
    "datetime_timezone": "UTC+02:00",
    "datetime_date": "2017-10-28",
    "datetime_full": "2017-10-28 21:52:43+02:00",
    "display_pixel_mean": 9.072666666666667,
    "display_window_name": "pascal@archbook:~",
    "display_window_class": "urxvt URxvt",
    "battery": 95.94282414091828
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brightml-0.2.11.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

brightml-0.2.11-py2.py3-none-any.whl (17.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file brightml-0.2.11.tar.gz.

File metadata

  • Download URL: brightml-0.2.11.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0a0

File hashes

Hashes for brightml-0.2.11.tar.gz
Algorithm Hash digest
SHA256 57418bdfcdf88d46213a4305731b521049992ac9c06afa7c7300f2775d7a5b25
MD5 313545125f469740c0ee60500bf875f5
BLAKE2b-256 3700e7aef38d38da52e93b9181d64de6a5d47dfe550fd859eaa1be7ecdad9251

See more details on using hashes here.

File details

Details for the file brightml-0.2.11-py2.py3-none-any.whl.

File metadata

  • Download URL: brightml-0.2.11-py2.py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0a0

File hashes

Hashes for brightml-0.2.11-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d08655f3803eab1ccfcdf84fd5d3feef02b5a999c3eb40e428da574d05011c59
MD5 2fa9fdf8b95abfd8ede569f9948088a9
BLAKE2b-256 e03655c8a9547eb0bda4b78645bcecdeddc61ae4fe24d9ef20f67f6ef5c2dcf8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page