====
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"
}