fand


Namefand JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/teapot9/fand
SummarySimple daemon to control fan speed
upload_time2024-07-28 22:28:40
maintainerNone
docs_urlNone
authorLouis Leseur
requires_python<4,>=3.7
licenseMIT
keywords fan-control daemon hardware raspberry-pi gpio monitoring temperature-monitoring pysmart gpiozero
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ====
fand
====

|github version badge|
|pypi version badge|
|ci badge|
|qa badge|
|doc badge|
|py version badge|
|py implementation badge|

Simple daemon to control fan speed.

Documentation is available at https://fand.readthedocs.io/.
The installation_ chapter provides install instructions and compatibility
informations.

.. |github version badge| image:: https://badge.fury.io/gh/teapot9%2Ffand.svg
   :target: https://github.com/teapot9/fand
   :alt: Github repository

.. |pypi version badge| image:: https://badge.fury.io/py/fand.svg
   :target: https://pypi.org/project/fand/
   :alt: PyPI package

.. |ci badge| image:: https://github.com/teapot9/fand/workflows/CI/badge.svg
   :target: https://github.com/teapot9/fand/actions?query=workflow%3ACI
   :alt: Continuous integration

.. |qa badge| image:: https://github.com/teapot9/fand/workflows/QA/badge.svg
   :target: https://github.com/teapot9/fand/actions?query=workflow%3AQA
   :alt: Quality assurance

.. |doc badge| image:: https://readthedocs.org/projects/fand/badge/?version=latest
   :target: https://fand.readthedocs.io/en/latest/
   :alt: Documentation status

.. |py version badge| image:: https://img.shields.io/pypi/pyversions/fand.svg
   :alt: Python version

.. |py implementation badge| image:: https://img.shields.io/pypi/implementation/fand.svg
   :alt: Python implementation

About
=====

The main executable of this program is the ``fand-server`` daemon.
There are 3 main modules: server, clientrpi and fanctl.
They can be accessed through their respective entry points:
``fand-server``, ``fand-clientrpi`` and ``fanctl``.
They can also be accessed with ``fand <module-name>``.

A server monitor the hardware and clients connect to it to get data (e.g.
fan speed or override a fan speed).

.. code-block:: console

   $ fanctl get-rpm shelf1
   1500
   $ fanctl get-pwm shelf1
   50
   $ fanctl set-pwm-override shelf1 100
   ok
   $ fanctl get-pwm shelf1
   100
   $ fanctl get-rpm shelf1
   3000

Server
------

The server_ module provide a daemon which monitor devices
temperatures and find a corresponding fan speed.
It listens for connections from clients, and answers to requests.

Fan clients
-----------

A client is assigned a shelf and will regularly request the server for the
fan speed (percentage).  It will then ajust the fan to use this speed.

Clients also send the actual fan speed in RPM to the server. This will allow
other client to have access to the data from the server.

Raspberry Pi client
^^^^^^^^^^^^^^^^^^^

The clientrpi_ module will connect to a server and
get a fan speed from it.
It will then set the fan speed with a PWM signal through the GPIO interface
of the Pi.
It will also tell the server the current real speed of the fans in rpm.

Command-line interface
----------------------

The fanctl_ module is a command line interface to interact
with the server.
It provides commands to get the fan speed and rpm, and also allow to override
the fans speed.

.. _server: https://fand.readthedocs.io/en/latest/server.html
.. _clientrpi: https://fand.readthedocs.io/en/latest/clientrpi.html
.. _fanctl: https://fand.readthedocs.io/en/latest/fanctl.html
.. _installation: https://fand.readthedocs.io/en/latest/install.html


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/teapot9/fand",
    "name": "fand",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4,>=3.7",
    "maintainer_email": null,
    "keywords": "fan-control, daemon, hardware, raspberry-pi, gpio, monitoring, temperature-monitoring, pysmart, gpiozero",
    "author": "Louis Leseur",
    "author_email": "louis.leseur@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/84/29/8796ab12b9f074a2fc539c3fc9ac62749ecd685428dfce38e67c9614a26e/fand-0.1.1.tar.gz",
    "platform": "Linux",
    "description": "====\nfand\n====\n\n|github version badge|\n|pypi version badge|\n|ci badge|\n|qa badge|\n|doc badge|\n|py version badge|\n|py implementation badge|\n\nSimple daemon to control fan speed.\n\nDocumentation is available at https://fand.readthedocs.io/.\nThe installation_ chapter provides install instructions and compatibility\ninformations.\n\n.. |github version badge| image:: https://badge.fury.io/gh/teapot9%2Ffand.svg\n   :target: https://github.com/teapot9/fand\n   :alt: Github repository\n\n.. |pypi version badge| image:: https://badge.fury.io/py/fand.svg\n   :target: https://pypi.org/project/fand/\n   :alt: PyPI package\n\n.. |ci badge| image:: https://github.com/teapot9/fand/workflows/CI/badge.svg\n   :target: https://github.com/teapot9/fand/actions?query=workflow%3ACI\n   :alt: Continuous integration\n\n.. |qa badge| image:: https://github.com/teapot9/fand/workflows/QA/badge.svg\n   :target: https://github.com/teapot9/fand/actions?query=workflow%3AQA\n   :alt: Quality assurance\n\n.. |doc badge| image:: https://readthedocs.org/projects/fand/badge/?version=latest\n   :target: https://fand.readthedocs.io/en/latest/\n   :alt: Documentation status\n\n.. |py version badge| image:: https://img.shields.io/pypi/pyversions/fand.svg\n   :alt: Python version\n\n.. |py implementation badge| image:: https://img.shields.io/pypi/implementation/fand.svg\n   :alt: Python implementation\n\nAbout\n=====\n\nThe main executable of this program is the ``fand-server`` daemon.\nThere are 3 main modules: server, clientrpi and fanctl.\nThey can be accessed through their respective entry points:\n``fand-server``, ``fand-clientrpi`` and ``fanctl``.\nThey can also be accessed with ``fand <module-name>``.\n\nA server monitor the hardware and clients connect to it to get data (e.g.\nfan speed or override a fan speed).\n\n.. code-block:: console\n\n   $ fanctl get-rpm shelf1\n   1500\n   $ fanctl get-pwm shelf1\n   50\n   $ fanctl set-pwm-override shelf1 100\n   ok\n   $ fanctl get-pwm shelf1\n   100\n   $ fanctl get-rpm shelf1\n   3000\n\nServer\n------\n\nThe server_ module provide a daemon which monitor devices\ntemperatures and find a corresponding fan speed.\nIt listens for connections from clients, and answers to requests.\n\nFan clients\n-----------\n\nA client is assigned a shelf and will regularly request the server for the\nfan speed (percentage).  It will then ajust the fan to use this speed.\n\nClients also send the actual fan speed in RPM to the server. This will allow\nother client to have access to the data from the server.\n\nRaspberry Pi client\n^^^^^^^^^^^^^^^^^^^\n\nThe clientrpi_ module will connect to a server and\nget a fan speed from it.\nIt will then set the fan speed with a PWM signal through the GPIO interface\nof the Pi.\nIt will also tell the server the current real speed of the fans in rpm.\n\nCommand-line interface\n----------------------\n\nThe fanctl_ module is a command line interface to interact\nwith the server.\nIt provides commands to get the fan speed and rpm, and also allow to override\nthe fans speed.\n\n.. _server: https://fand.readthedocs.io/en/latest/server.html\n.. _clientrpi: https://fand.readthedocs.io/en/latest/clientrpi.html\n.. _fanctl: https://fand.readthedocs.io/en/latest/fanctl.html\n.. _installation: https://fand.readthedocs.io/en/latest/install.html\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Simple daemon to control fan speed",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://github.com/teapot9/fand"
    },
    "split_keywords": [
        "fan-control",
        " daemon",
        " hardware",
        " raspberry-pi",
        " gpio",
        " monitoring",
        " temperature-monitoring",
        " pysmart",
        " gpiozero"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "de0a4d078bab9dbfa5b0a5e154c49d41d160dd7f76bf201070d194879952ae01",
                "md5": "b36088f961acdd5ce66c8fc636c85bfc",
                "sha256": "d4252343e4260d3656b5372f266a83f987623ffb4ed0371b7e5780b99a73c807"
            },
            "downloads": -1,
            "filename": "fand-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b36088f961acdd5ce66c8fc636c85bfc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4,>=3.7",
            "size": 20443,
            "upload_time": "2024-07-28T22:28:38",
            "upload_time_iso_8601": "2024-07-28T22:28:38.696796Z",
            "url": "https://files.pythonhosted.org/packages/de/0a/4d078bab9dbfa5b0a5e154c49d41d160dd7f76bf201070d194879952ae01/fand-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "84298796ab12b9f074a2fc539c3fc9ac62749ecd685428dfce38e67c9614a26e",
                "md5": "a3aa1c946feb6c831d4adabd69d14884",
                "sha256": "1508eea73c857336a46b1666f78d1b42c1eecf81a2a43ba5299b2a26f87fe591"
            },
            "downloads": -1,
            "filename": "fand-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "a3aa1c946feb6c831d4adabd69d14884",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.7",
            "size": 26571,
            "upload_time": "2024-07-28T22:28:40",
            "upload_time_iso_8601": "2024-07-28T22:28:40.114432Z",
            "url": "https://files.pythonhosted.org/packages/84/29/8796ab12b9f074a2fc539c3fc9ac62749ecd685428dfce38e67c9614a26e/fand-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-28 22:28:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "teapot9",
    "github_project": "fand",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "fand"
}
        
Elapsed time: 3.59872s