Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xyzshantaram/leo
gemini client written in Python
https://github.com/xyzshantaram/leo
Last synced: 2 months ago
JSON representation
gemini client written in Python
- Host: GitHub
- URL: https://github.com/xyzshantaram/leo
- Owner: xyzshantaram
- License: mit
- Created: 2020-11-12T06:35:04.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-12-16T20:15:52.000Z (about 1 year ago)
- Last Synced: 2024-04-13T12:57:49.284Z (10 months ago)
- Language: Python
- Size: 192 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-gemini - leo - lightweight, prompt-driven Gemini client. (Clients / Terminal)
README
# leo
## a gemini client written in Python 3.
#### (Linux-only, Windows support with WSL)
### Instructions for use:
0) `$ pip install leo-gmi`
1) `$ leo --copy-config` to create a config file in `$XDG_CONFIG_HOME/leo` (falls back to `~/.config/leo`)
* If you don't want to put the config file in either of those places, `leo --print-config` prints out the config that you can then supply to leo with the `--config` option.
2) set options to your preferences in the `config.json` file.
* `wrap_text` specifies whether to wrap text beyond a certain width.
* `wrap_margin` specifies what that width should be.
* `homepage` is a page to load by default if no URL is specified.
* `cert_path` is the path to a certificate file._**Note**: You can specify an alternate config file with the `--config` option._
3) ```$ leo --url ```. If you do not specify a URL, the homepage set in `config.json` is loaded. If no homepage is set, you will be prompted for a URL.
4) if you'd like to connect providing a client certificate (required by certain Gemini servers), set the `"cert_path"` option in your config file to a valid path to a cert file.
5) Links are preceded by a number that is underlined and violet in colour. Type in the number of the link at the `(URL/Num):` prompt in order to navigate to a specific link, or type in a URL.
6) Type `reload` to re-render a page. `reload hard` redownloads the page.
7) `back` takes you one page back.
8) `ls` lists all of the links on the current page, for easy navigation.
9) Type `help` at any time to view a listing of these and other useful commands.
10) Type ```exit``` or ```quit``` to exit leo.
#### Features:
* Only uses the python standard library
* Fully implements Gemini spec
* Passes torture tests at gemini://gemini.conman.org/test/torture/ (Save for the final few Unicode ones, but Unicode support is hard)
* formatted text output with arbitrary wrapping support
* Lets you save a list of URLs to a file for further viewing / opening in another window### Contributing
Fork the repo and make a PR! That's all :) You can alternatively send me an e-mail with your patch.