Name | lufah JSON |
Version |
0.8.2
JSON |
| download |
home_page | None |
Summary | Command line utility for controlling foldingathome version 8 |
upload_time | 2024-12-17 10:35:15 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8.1 |
license | MIT License Copyright (c) 2024 Kevin Bernhagen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
fah
folding-at-home
folding@home
foldingathome
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# lufah
Little Utility for FAH v8
A python command line utility for macOS, Linux, Windows
## Requirements
- python 3.8 or later
## Install from PyPI
Install in isolated user environment (preferred):
```
pip install pipx
pipx install lufah
```
Or
```
pip install lufah
```
## Uninstall
```
pip install pipx
pipx uninstall lufah
```
Or
```
pip uninstall lufah
```
## Install from source
macOS / Linux / Windows
```
git clone https://github.com/kbernhagen/lufah.git
cd lufah
make install-user
```
## Uninstall from source
```
git clone https://github.com/kbernhagen/lufah.git
cd lufah
make uninstall-user
```
## Usage
Note that lufah uses unencrypted, direct websocket connections.
This is what Web Control uses to connect to the local client.
This has security implications if you enable direct remote access on a client.
See [HOWTO: Allow v8 Client Remote Control](https://foldingforum.org/viewtopic.php?t=39050)
```
lufah -h
```
```
Usage: lufah [OPTIONS] COMMAND [ARGS]...
Little Utility for FAH v8
Options:
-a, --address ADDRESS [host][:port][/group] or
[host][:port],[host][:port]... Use "." for localhost.
Group name must not be url-encoded, but may need
escaping from shell. Can be a comma-separated list of
hosts for commands units, info, fold, finish, pause
[default: localhost:7396]
-v, --verbose
-d, --debug
--version Show version and exit.
--install-completion Install completion for the current shell.
--show-completion Show completion for the current shell, to copy it or
customize the installation.
-h, --help Show this message and exit.
Commands:
fold Start folding in specified group or all groups.
finish Finish folding and pause specified group or all groups.
pause Pause folding in specified group or all groups.
unpause (Deprecated) alias for fold
wait-until-paused Run until specified group or all groups are paused.
config Get or set config values.
create-group Create group if it does not exist.
dump-all Dump all paused units in specified group or all groups.
enable-all-gpus Enable all unclaimed gpus in specified group.
state Show json snapshot of client state.
status (Deprecated) alias for state
get Show json value at dot-separated key path in client...
groups Show json array of resource group names.
info Show host and client info.
log Show client log.
top Show top-like updating units table.
units Show table of all units by machine name and group.
watch Show incoming messages.
link-account Link to account by token.
unlink-account Unlink account.
restart-account Restart account/node connection.
start Start local client service.
stop Stop local client service.
```
```
lufah config -h
```
```
Usage: lufah config [OPTIONS] COMMAND [ARGS]...
Get or set config values.
Other than for account settings (user, team, passkey, cause), a group must
be specified if there is more than one group.
Example: lufah -a / config cpus 0
Options:
-h, --help Show this message and exit.
Commands:
beta Enable beta work units.
cause Set cause preference.
checkpoint (Deprecated) Set requested CPU WU checkpoint frequency in
minutes.
cpus Set number of cpus to allocate to resource group.
cuda Enable CUDA for WUs in specified group.
fold-anon (Deprecated) Fold anonymously.
keep-awake Prevent system sleep while folding and not on battery.
key Set project key for internal beta testing of new projects.
on-battery Fold even if on battery.
on-idle Only fold while user is idle.
passkey Set passkey token for quick return bonus points.
priority (Deprecated) Set preferred core task priority.
team Set team number.
user Set folding user name, up to 100 bytes.
```
## Examples
```
lufah units
lufah -a //rg2 finish
lufah -a /mygpu1 config cpus 0
lufah -a host1,host2,host3 units
lufah -a host1,host2,host3 info
```
## Notes
If not given, the default command is "units".
If there are multiple groups, config requires a group name,
except for account settings (user, team, passkey, cause).
For command `lufah -a /groupname config cpus N`, N is not limited to unused cpus across groups.
Group "/" is taken to mean the default group, which is "".
For a group name actually starting with "/", use prefix "//".
Example: `lufah -a somehost//rg1 finish`
An error may not be shown if connection times out.
Commands start and stop are macOS-only.
The `top` command is glitchy on Windows when the window is resized.
Type space to force a redraw.
To use `lufah top` on Windows, you may need to manually install `windows-curses`.
## Example Output
```
lufah -a .,panda.local units
```
```
--------------------------------------------------------------------------------
Project CPUs GPUs Core Status Progress PPD ETA Deadline
--------------------------------------------------------------------------------
Panda/ Run
18494 4 0 0xa8 Running 89.0% 178413 26m 39s 3d 8h
Sanctuary/ Paused
Sanctuary/tcore Run Wait 16m 21s
11901 2 0 0xfe Dumped 0.0% 0 28m 48s 5h 59m
Sanctuary/aux Finish
12421 8 0 0xa8 Finishing 48.1% 237945 14h 15m 4d 10h
```
Raw data
{
"_id": null,
"home_page": null,
"name": "lufah",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8.1",
"maintainer_email": null,
"keywords": "fah, folding-at-home, folding@home, foldingathome",
"author": null,
"author_email": "Kevin Bernhagen <kbernhagen.github@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/7e/db/60f9e3c40d2d26165633f5b63301952bc49c26cd6f955f8d1758c0929ef0/lufah-0.8.2.tar.gz",
"platform": null,
"description": "# lufah\n\nLittle Utility for FAH v8\n\nA python command line utility for macOS, Linux, Windows\n\n## Requirements\n\n- python 3.8 or later\n\n## Install from PyPI\n\nInstall in isolated user environment (preferred):\n```\npip install pipx\npipx install lufah\n```\n\nOr\n```\npip install lufah\n```\n\n## Uninstall\n\n```\npip install pipx\npipx uninstall lufah\n```\n\nOr\n```\npip uninstall lufah\n```\n\n## Install from source\n\nmacOS / Linux / Windows\n```\ngit clone https://github.com/kbernhagen/lufah.git\ncd lufah\nmake install-user\n```\n\n## Uninstall from source\n\n```\ngit clone https://github.com/kbernhagen/lufah.git\ncd lufah\nmake uninstall-user\n```\n\n## Usage\n\nNote that lufah uses unencrypted, direct websocket connections.\nThis is what Web Control uses to connect to the local client.\nThis has security implications if you enable direct remote access on a client.\nSee [HOWTO: Allow v8 Client Remote Control](https://foldingforum.org/viewtopic.php?t=39050)\n\n```\nlufah -h\n```\n\n```\nUsage: lufah [OPTIONS] COMMAND [ARGS]...\n\n Little Utility for FAH v8\n\nOptions:\n -a, --address ADDRESS [host][:port][/group] or\n [host][:port],[host][:port]... Use \".\" for localhost.\n Group name must not be url-encoded, but may need\n escaping from shell. Can be a comma-separated list of\n hosts for commands units, info, fold, finish, pause\n [default: localhost:7396]\n -v, --verbose\n -d, --debug\n --version Show version and exit.\n --install-completion Install completion for the current shell.\n --show-completion Show completion for the current shell, to copy it or\n customize the installation.\n -h, --help Show this message and exit.\n\nCommands:\n fold Start folding in specified group or all groups.\n finish Finish folding and pause specified group or all groups.\n pause Pause folding in specified group or all groups.\n unpause (Deprecated) alias for fold\n wait-until-paused Run until specified group or all groups are paused.\n config Get or set config values.\n create-group Create group if it does not exist.\n dump-all Dump all paused units in specified group or all groups.\n enable-all-gpus Enable all unclaimed gpus in specified group.\n state Show json snapshot of client state.\n status (Deprecated) alias for state\n get Show json value at dot-separated key path in client...\n groups Show json array of resource group names.\n info Show host and client info.\n log Show client log.\n top Show top-like updating units table.\n units Show table of all units by machine name and group.\n watch Show incoming messages.\n link-account Link to account by token.\n unlink-account Unlink account.\n restart-account Restart account/node connection.\n start Start local client service.\n stop Stop local client service.\n```\n\n```\nlufah config -h\n```\n\n```\nUsage: lufah config [OPTIONS] COMMAND [ARGS]...\n\n Get or set config values.\n\n Other than for account settings (user, team, passkey, cause), a group must\n be specified if there is more than one group.\n\n Example: lufah -a / config cpus 0\n\nOptions:\n -h, --help Show this message and exit.\n\nCommands:\n beta Enable beta work units.\n cause Set cause preference.\n checkpoint (Deprecated) Set requested CPU WU checkpoint frequency in\n minutes.\n cpus Set number of cpus to allocate to resource group.\n cuda Enable CUDA for WUs in specified group.\n fold-anon (Deprecated) Fold anonymously.\n keep-awake Prevent system sleep while folding and not on battery.\n key Set project key for internal beta testing of new projects.\n on-battery Fold even if on battery.\n on-idle Only fold while user is idle.\n passkey Set passkey token for quick return bonus points.\n priority (Deprecated) Set preferred core task priority.\n team Set team number.\n user Set folding user name, up to 100 bytes.\n```\n\n## Examples\n\n```\nlufah units\nlufah -a //rg2 finish\nlufah -a /mygpu1 config cpus 0\nlufah -a host1,host2,host3 units\nlufah -a host1,host2,host3 info\n```\n\n## Notes\n\nIf not given, the default command is \"units\".\n\nIf there are multiple groups, config requires a group name,\nexcept for account settings (user, team, passkey, cause).\n\nFor command `lufah -a /groupname config cpus N`, N is not limited to unused cpus across groups.\n\nGroup \"/\" is taken to mean the default group, which is \"\".\n\nFor a group name actually starting with \"/\", use prefix \"//\".\nExample: `lufah -a somehost//rg1 finish`\n\nAn error may not be shown if connection times out.\n\nCommands start and stop are macOS-only.\n\nThe `top` command is glitchy on Windows when the window is resized.\nType space to force a redraw.\nTo use `lufah top` on Windows, you may need to manually install `windows-curses`.\n\n## Example Output\n\n```\nlufah -a .,panda.local units\n```\n```\n--------------------------------------------------------------------------------\nProject CPUs GPUs Core Status Progress PPD ETA Deadline\n--------------------------------------------------------------------------------\nPanda/ Run \n18494 4 0 0xa8 Running 89.0% 178413 26m 39s 3d 8h \nSanctuary/ Paused\nSanctuary/tcore Run Wait 16m 21s\n11901 2 0 0xfe Dumped 0.0% 0 28m 48s 5h 59m \nSanctuary/aux Finish \n12421 8 0 0xa8 Finishing 48.1% 237945 14h 15m 4d 10h \n```\n",
"bugtrack_url": null,
"license": "MIT License Copyright (c) 2024 Kevin Bernhagen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
"summary": "Command line utility for controlling foldingathome version 8",
"version": "0.8.2",
"project_urls": {
"Changelog": "https://github.com/kbernhagen/lufah/blob/main/CHANGELOG.md",
"Homepage": "https://github.com/kbernhagen/lufah"
},
"split_keywords": [
"fah",
" folding-at-home",
" folding@home",
" foldingathome"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "11f86a2ef2e44e45a120e50fb97b6a034024985e14cd3c562c5246c908231ca2",
"md5": "5ffa63a9ef9dd172f7b94ed5281890a7",
"sha256": "1dc49204a7fff56acacf0e3d7a67d40959429e9d0d17e517d6ea2817a9dfc533"
},
"downloads": -1,
"filename": "lufah-0.8.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5ffa63a9ef9dd172f7b94ed5281890a7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8.1",
"size": 41305,
"upload_time": "2024-12-17T10:35:14",
"upload_time_iso_8601": "2024-12-17T10:35:14.292046Z",
"url": "https://files.pythonhosted.org/packages/11/f8/6a2ef2e44e45a120e50fb97b6a034024985e14cd3c562c5246c908231ca2/lufah-0.8.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7edb60f9e3c40d2d26165633f5b63301952bc49c26cd6f955f8d1758c0929ef0",
"md5": "2e4b99326d1d00f3d286a6c03b26211a",
"sha256": "5563e5f09152423b2c41540a83b630c202c24e7b068415d53d6da273e8ecf3ed"
},
"downloads": -1,
"filename": "lufah-0.8.2.tar.gz",
"has_sig": false,
"md5_digest": "2e4b99326d1d00f3d286a6c03b26211a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8.1",
"size": 93544,
"upload_time": "2024-12-17T10:35:15",
"upload_time_iso_8601": "2024-12-17T10:35:15.441960Z",
"url": "https://files.pythonhosted.org/packages/7e/db/60f9e3c40d2d26165633f5b63301952bc49c26cd6f955f8d1758c0929ef0/lufah-0.8.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-17 10:35:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kbernhagen",
"github_project": "lufah",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "lufah"
}