Brightify


NameBrightify JSON
Version 0.1.6 PyPI version JSON
download
home_pageNone
SummaryBrightify is an OS-independent application that adjusts monitor brightness using the DDC/CI protocol and custom protocols for USB monitors, featuring a brightness sensor for automatic adjustments based on ambient light, and can be controlled via a taskbar icon.
upload_time2024-05-28 23:43:22
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseNone
keywords brightness monitor screen control tool
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Brightify
This app allows you to set the brightness of your monitor(s). It is essentially a wrapper around the [DDC/CI](https://en.wikipedia.org/wiki/Display_Data_Channel#DDC/CI) protocol, which is supported by most monitors.
It also supports adding custom communication protocols to control the brightness of USB monitors. For this, you most likely need to reverse engineer the communication protocol of the monitor. In my experience, this provides a more stable experience than using the DDC/CI protocol.
You can find an example implementation for the [Gigabyte M27Q](https://www.gigabyte.com/Monitor/M27Q) in [here](brightify/monitors/m27q.py).
The app is designed to be run in the background and can be controlled via a taskbar icon. It also supports a brightness sensor that can automatically adjust the brightness based on the ambient light.

## Getting started
1. Install brightify by running `pip install Brightify`. This package is regularly uploaded to PyPi. If you want to install the latest version, you can clone this repository from 
[GitHub](https://github.com/RerikOp/Brightify) and install it with `pip install -e .` in the root directory.
2. To start the app: `python -m brightify run`. You can exit either by right-clicking the icon in the taskbar and
   selecting "Exit" or by pressing `Ctrl+C` in the terminal.
3. To start the app at startup (or logon) and add a menu icon, run `python -m brightify add all`. To remove the both, run
   `python -m brightify remove all`.

## Optional arguments
There are several other arguments you can pass to the app, see `python -m brightify --help` for more information.
- To target add/remove only the startup run `python -m brightify add/remove startup`.
   - To add a task to the task scheduler on Windows, pass `--use-scheduler`. It will request elevated permissions.
   - By default, the terminal will be hidden, but you can change this by passing the `--force-console` argument.
- To add/remove only the menu icon run `python -m brightify add/remove menu-icon`.
   - You can again force the console to be shown by passing the `--force-console` argument.

## Set up the brightness sensor
- Modify the [SensorComm](brightify/SensorComm.py) class to match your device and firmware
- Modify the code that is polling from the brightness sensor [Device Firmware](brightify/sensor_firmware/src)
- Modify [platformio.ini](brightify/sensor_firmware/platformio.ini) and enter your board (
   see [supported boards](https://docs.platformio.org/en/latest/boards/index.html))
- Run `pio run -t upload` in the terminal to upload the firmware to the board.
   If everything is working, the *Auto* Checkbox for each supported Monitor should now be clickable

## Remarks
- Currently, only the Windows task bar icon is supported, the main part of this app is OS independent.
- Feel free to create a pull request and add your own USB Monitor
- Note that a USB Monitor will replace a DDC/CI Monitor with the same name. If you want to use both, you need to change the name of your USB Monitor implementation.
In case a monitor is found but does not send its name, we cannot distinguish between DDC/CI and USB Monitors. In this case, both will be added.



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "Brightify",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "brightness, monitor, screen, control, tool",
    "author": null,
    "author_email": "\"Robin S.\" <brightify@rs-web.net>",
    "download_url": "https://files.pythonhosted.org/packages/2e/c2/d311f40e87d04f4cf4adfa4add99fc667a29015ebc4f12ebd7b9928e8851/brightify-0.1.6.tar.gz",
    "platform": null,
    "description": "# Brightify\nThis app allows you to set the brightness of your monitor(s). It is essentially a wrapper around the [DDC/CI](https://en.wikipedia.org/wiki/Display_Data_Channel#DDC/CI) protocol, which is supported by most monitors.\nIt also supports adding custom communication protocols to control the brightness of USB monitors. For this, you most likely need to reverse engineer the communication protocol of the monitor. In my experience, this provides a more stable experience than using the DDC/CI protocol.\nYou can find an example implementation for the [Gigabyte M27Q](https://www.gigabyte.com/Monitor/M27Q) in [here](brightify/monitors/m27q.py).\nThe app is designed to be run in the background and can be controlled via a taskbar icon. It also supports a brightness sensor that can automatically adjust the brightness based on the ambient light.\n\n## Getting started\n1. Install brightify by running `pip install Brightify`. This package is regularly uploaded to PyPi. If you want to install the latest version, you can clone this repository from \n[GitHub](https://github.com/RerikOp/Brightify) and install it with `pip install -e .` in the root directory.\n2. To start the app: `python -m brightify run`. You can exit either by right-clicking the icon in the taskbar and\n   selecting \"Exit\" or by pressing `Ctrl+C` in the terminal.\n3. To start the app at startup (or logon) and add a menu icon, run `python -m brightify add all`. To remove the both, run\n   `python -m brightify remove all`.\n\n## Optional arguments\nThere are several other arguments you can pass to the app, see `python -m brightify --help` for more information.\n- To target add/remove only the startup run `python -m brightify add/remove startup`.\n   - To add a task to the task scheduler on Windows, pass `--use-scheduler`. It will request elevated permissions.\n   - By default, the terminal will be hidden, but you can change this by passing the `--force-console` argument.\n- To add/remove only the menu icon run `python -m brightify add/remove menu-icon`.\n   - You can again force the console to be shown by passing the `--force-console` argument.\n\n## Set up the brightness sensor\n- Modify the [SensorComm](brightify/SensorComm.py) class to match your device and firmware\n- Modify the code that is polling from the brightness sensor [Device Firmware](brightify/sensor_firmware/src)\n- Modify [platformio.ini](brightify/sensor_firmware/platformio.ini) and enter your board (\n   see [supported boards](https://docs.platformio.org/en/latest/boards/index.html))\n- Run `pio run -t upload` in the terminal to upload the firmware to the board.\n   If everything is working, the *Auto* Checkbox for each supported Monitor should now be clickable\n\n## Remarks\n- Currently, only the Windows task bar icon is supported, the main part of this app is OS independent.\n- Feel free to create a pull request and add your own USB Monitor\n- Note that a USB Monitor will replace a DDC/CI Monitor with the same name. If you want to use both, you need to change the name of your USB Monitor implementation.\nIn case a monitor is found but does not send its name, we cannot distinguish between DDC/CI and USB Monitors. In this case, both will be added.\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Brightify is an OS-independent application that adjusts monitor brightness using the DDC/CI protocol and custom protocols for USB monitors, featuring a brightness sensor for automatic adjustments based on ambient light, and can be controlled via a taskbar icon.",
    "version": "0.1.6",
    "project_urls": null,
    "split_keywords": [
        "brightness",
        " monitor",
        " screen",
        " control",
        " tool"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "44ca2744e6757cfc00f0ea37907266f87b3c8d7cb0b78f90a561dab5afeee683",
                "md5": "792389959b5eaf287a75723eb82cf2f2",
                "sha256": "3e7546bfccf05b7c11b01e8538dbc63ea2b022de0232e61f61f2a2850f2940b4"
            },
            "downloads": -1,
            "filename": "Brightify-0.1.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "792389959b5eaf287a75723eb82cf2f2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 32094,
            "upload_time": "2024-05-28T23:43:21",
            "upload_time_iso_8601": "2024-05-28T23:43:21.463547Z",
            "url": "https://files.pythonhosted.org/packages/44/ca/2744e6757cfc00f0ea37907266f87b3c8d7cb0b78f90a561dab5afeee683/Brightify-0.1.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2ec2d311f40e87d04f4cf4adfa4add99fc667a29015ebc4f12ebd7b9928e8851",
                "md5": "66adddfce048e7e2f7144f8ad83bec72",
                "sha256": "613fa11c7fe9935623ad2a25c769fe8da901474dfdd4853f8ce76f61ad8c64df"
            },
            "downloads": -1,
            "filename": "brightify-0.1.6.tar.gz",
            "has_sig": false,
            "md5_digest": "66adddfce048e7e2f7144f8ad83bec72",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 26751,
            "upload_time": "2024-05-28T23:43:22",
            "upload_time_iso_8601": "2024-05-28T23:43:22.542157Z",
            "url": "https://files.pythonhosted.org/packages/2e/c2/d311f40e87d04f4cf4adfa4add99fc667a29015ebc4f12ebd7b9928e8851/brightify-0.1.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-28 23:43:22",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "brightify"
}
        
Elapsed time: 0.25244s