Home

Awesome

This plugin contains portable Python 3.8 AppImage which can be used on host without python.

Install

From xxh repo:

xxh +I xxh-plugin-prerun-python

From any repo:

xxh +I xxh-plugin-prerun-python+git+https://github.com/xxh/xxh-plugin-prerun-python

Connect:

xxh myhost +if

Usage

myhost> which python
/home/ubuntu/.xxh/.xxh/plugins/xxh-plugin-prerun-python/build/python/python

myhost> python
Python 3.8.2 
>>>

PyPi

myhost> pip install pandas
myhost> python 
>>> import pandas

Packages location comply with hermetic principle and the same as used in xxh-shell-xonsh:

xxh commandpip packages homeuser home
xxh myhost +s bash/home/user/.xxh/.local/home/user/.xxh
xxh myhost +s bash +hhh '~'/home/user/.xxh/.local/home/user
xxh myhost +s bash +hhh '~' +hhx '~'/home/user/.local/home/user

Examples

Usage xxh python with xxh sudo to run http server with API

xxh +RI xxh-plugin-prerun-sudo xxh-plugin-prerun-python
xxh myhost +s zsh +if

myhost> pip install fastapi uvicorn && mkdir api && cd api
myhost> echo -e 'from fastapi import FastAPI; app = FastAPI()\n@app.get("/")\ndef read_root():\n return {"xxh": "https://github.com/xxh/xxh"}' > main.py 
myhost> xxh-sudo uvicorn main:app --reload --host 0.0.0.0 --port 80                                                     
INFO: Uvicorn running on http://0.0.0.0:80 (Press CTRL+C to quit)
$ curl http://myhost/                                                                                       
{"xxh":"https://github.com/xxh/xxh"}