Metadata-Version: 2.4
Name: ryry-cli
Version: 7.34
Summary: ryry tools
Home-page: https://github.com/dalipenMedia
Author: dalipen
Author-email: dalipen01@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: ryry/proxy/bin/LICENSE.MIHOMO
Requires-Dist: requests
Requires-Dist: websocket-client>=1.7.0
Requires-Dist: pillow
Requires-Dist: psutil
Requires-Dist: nvidia-ml-py>=12.0.0
Requires-Dist: requests_toolbelt
Requires-Dist: fake_useragent
Requires-Dist: gputil
Requires-Dist: urlparser
Requires-Dist: urllib3
Requires-Dist: portalocker
Requires-Dist: boto3
Requires-Dist: PyYAML
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

ryry Python Tool
===============================================
The ryry Python Tool is a official tool, you can use it to **Register** device to ryry server, other person can use **ryry Application** assign tasks to you for implementation

Installation
------------

The ryry requires [Python](http://www.python.org/download) 3.10.6 or later.

##### Installing
    pip install ryry-cli

##### Uninstalling
    pip uninstall ryry-cli

Use
------------
##### 1. Running
    $ ryry service start
start a process to wait for the server to issue tasks. **Please do not close it**

Module Developer
------------
    $ ryry widget init

in empty folder, use above command craete a ryry module, structure is like 
    
    [widget folder]
        |-- config.json     //*required, do not change*
        |-- main.py         //*required, do not change* 
        |-- run.py

if other person share widget code to you , you can add widget path in your computer to ryry environment

    $ ryry widget add [path_with_widget_code]

you can modify script and h5 file yourself, then publish to ryry sever 
    
    $ ryry widget publish

get ryry status
    $ ryry services status

Installation temporary files
----------------------------

Widget dependency installation and CLI self-upgrades run pip with a 30-minute
execution timeout. Each run selects a usable temporary location from `TMPDIR`,
`TEMP`, and `TMP`, in that order, falling back to Python's default temporary
directory. It creates an owned `ryry-pip-<uid>/run-*` workspace there on Unix
(`ryry-pip/run-*` on Windows), then sets all three variables to that workspace
for pip and its children only. No writable home directory is required. The
runner removes the workspace after success, failure, or timeout. On timeout it
terminates pip and its build child processes before removing temporary files.

On macOS/Linux, the next pip run also removes abandoned owned workspaces older
than 24 hours. A file lock inherited by pip protects workspaces still in use.
Windows performs per-run cleanup but does not perform the abandoned-workspace
sweep. These rules do not delete historical `pip-*` directories elsewhere or
pip's shared download/wheel cache.

Automatic widget updates and deployments persist a 30-minute cooldown after
failure under `ryry/_runtime/widget-updates/`. A different target version can be
attempted immediately; manual installation is not subject to this cooldown.
Wheel updates verify the installed version and, when available, the active
widget configuration before reporting success.

Run the offline regression tests with:

    python -m unittest discover -s tests -v
