Name | galaxie-shell JSON |
Version |
0.2.5
JSON |
| download |
home_page | |
Summary | Galaxie Shell is a autonomous shell ready for CI and low tech OS |
upload_time | 2024-03-19 00:49:04 |
maintainer | |
docs_url | None |
author | Tuuux |
requires_python | >=3.0 |
license | |
keywords |
galaxie
shell
posix
micropython
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
[![License: WTFPL](https://img.shields.io/badge/License-WTFPL-brightgreen.svg)](http://www.wtfpl.net/about/) [![Documentation Status](https://readthedocs.org/projects/galaxie-shell/badge/?version=latest)](https://galaxie-shell.readthedocs.io/en/latest/?badge=latest)
```text
________ __ __
/ _____/_____ | | _____ ___ __|__| ____
/ \ ___\__ \ | | \__ \ \ \/ / |/ __ \
\ \_\ \/ __ \| |__/ __ \_> <| \ ___/_
\________(______/____(______/__/\__\__|\_____/
```
# GLXSH - Galaxie Shell
## The Project
The goal of Galaxie-Shell is to provide a POSIX Shell for micro system like pyBoard or MicroPi.
at end it should be possible to execute POSIX Script Shell on MicroPython (Long time target).
The application Galaxie Shell is a Read Eval Print Loop (`RELP <https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop>`_) write with `python <https://www.python.org/>`_ based on top of pycopy-lib `cmd <https://github.com/pfalcon/pycopy-lib/tree/master/cmd>`_ it self build on top of MicroPython.
The project implement POSIX Standard from the OpenGroup
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/
The OpenGroup permit a implementation where all utilities are builtins command, and that is what Galaxie-Shell do.
I code it, because i like understand how a system work. Copy the code , use it , that is here for the public community.
## Links
Codeberg: https://codeberg.org/Tuuux/galaxie-shell/
Read the Doc: https://galaxie-shell.readthedocs.io/
PyPI: https://pypi.org/project/galaxie-shell/
PyPI Test: https://test.pypi.org/project/galaxie-shell/
Wokwi: https://wokwi.com/projects/312818372713644610
## All ready implemented features
* Totally autonomous All in One shell
* Capability to build a **one-file** static binary file
* Can load a script file as argument
* Can execute command from passing arguments
* Interactive shell when call without arguments
* Builtins POSIX command (basename, cat, cd, mkdir, pwd, rmdir, uname, etc ...)
* Exit status for build in or external command
* POSIX Pipe
* Alias and UnAlias
* PS1 env var can be export
## Application
* Use on front of a [Unikernel](https://fr.wikipedia.org/wiki/Unikernel)
* Use on front of a minimal `Alpine Linux <https://alpinelinux.org/>`_ or `OpenWrt <https://openwrt.org/>`_
* Simplify CI CD
* Use a MicroPython device as a Unix host
## Installation
### Installation via pip
```bash
pip install galaxie-shell
```
### Installation via pip (test)
```bash
pip install -i https://test.pypi.org/simple/ galaxie-shell
```
## Next Step:
Now you can the start the **glxsh** entry point
On Unix host with MicroPython
```text
$> micropython ./glxsh
******************************* GLXUSH V0.2.5 **********************************
LICENSE WTFPL V2
LOADER MICROPYTHON V1.18.0 MPY 2566
EXEC PYTHON V3.4.0
1.98MB MEMORY SYSTEM
1.91MB FREE
>
```
On Debian host with Python
```text
******************************* GLXSH V0.2.5 **********************************
LICENSE WTFPL V2
LOADER CPYTHON 3.9.2.FINAL.0
EXEC PYTHON V3.9.2 (DEFAULT, FEB 28 2021, 17:03:44)
[GCC 10.2.1 20210110]
7.60GB RAM SYSTEM
245.14MB FREE
>
```
For each command you can get help with ``man`` command line, by exemple for ``ls`` help use ``man ls``, or call ``man`` without argument for know builtin commands list.
**Note**:
Internal builtins commands have precedence, if a command is not Internal builtins commands then glxshell , call it as subprocess.
```text
> man
Documented commands (type man <topic>):
=======================================
alias cd cp dirname env head mkdir rm tail touch umask
basename chmod date du exit ls mv rmdir tee true unalias
cat clear df echo false man pwd sleep time tty uname
```
## Builtins implemented utilities
* `alias <https://galaxie-shell.readthedocs.io/en/latest/man/alias.html>`_
* `basename <https://galaxie-shell.readthedocs.io/en/latest/man/basenme.html>`_
* `cat <https://galaxie-shell.readthedocs.io/en/latest/man/cat.html>`_
* `cd <https://galaxie-shell.readthedocs.io/en/latest/man/cd.html>`_
* `chmod <https://galaxie-shell.readthedocs.io/en/latest/man/chmod.html>`_
* `clear <https://galaxie-shell.readthedocs.io/en/latest/man/clear.html>`_
* `cp <https://galaxie-shell.readthedocs.io/en/latest/man/cp.html>`_
* `date <https://galaxie-shell.readthedocs.io/en/latest/man/date.html>`_
* `df <https://galaxie-shell.readthedocs.io/en/latest/man/df.html>`_
* `dirname <https://galaxie-shell.readthedocs.io/en/latest/man/dirname.html>`_
* `du <https://galaxie-shell.readthedocs.io/en/latest/man/du.html>`_
* `echo <https://galaxie-shell.readthedocs.io/en/latest/man/echo.html>`_
* `env <https://galaxie-shell.readthedocs.io/en/latest/man/env.html>`_
* `exit <https://galaxie-shell.readthedocs.io/en/latest/man/exit.html>`_
* `false <https://galaxie-shell.readthedocs.io/en/latest/man/false.html>`_
* `head <https://galaxie-shell.readthedocs.io/en/latest/man/head.html>`_
* `ls <https://galaxie-shell.readthedocs.io/en/latest/man/ls.html>`_
* `mkdir <https://galaxie-shell.readthedocs.io/en/latest/man/mkdir.html>`_
* `mv <https://galaxie-shell.readthedocs.io/en/latest/man/mv.html>`_
* `pwd <https://galaxie-shell.readthedocs.io/en/latest/man/pwd.html>`_
* `rm <https://galaxie-shell.readthedocs.io/en/latest/man/rm.html>`_
* `rmdir <https://galaxie-shell.readthedocs.io/en/latest/man/rmdir.html>`_
* `sleep <https://galaxie-shell.readthedocs.io/en/latest/man/sleep.html>`_
* `tail <https://galaxie-shell.readthedocs.io/en/latest/man/tail.html>`_
* `tee <https://galaxie-shell.readthedocs.io/en/latest/man/tee.html>`_
* `time <https://galaxie-shell.readthedocs.io/en/latest/man/time.html>`_
* `touch <https://galaxie-shell.readthedocs.io/en/latest/man/touch.html>`_
* `true <https://galaxie-shell.readthedocs.io/en/latest/man/true.html>`_
* `tty <https://galaxie-shell.readthedocs.io/en/latest/man/tty.html>`_
* `umask <https://galaxie-shell.readthedocs.io/en/latest/man/umask.html>`_
* `unalias <https://galaxie-shell.readthedocs.io/en/latest/man/unalias.html>`_
* `uname <https://galaxie-shell.readthedocs.io/en/latest/man/uname.html>`_
## Roadmap
* implement the POSIX utility as describe by the OpenGroup
* Background Task
* Implement reserved POSIX environment variable name (HOME, PS1, etc)
* deal with **env** and **export**
* better one-file binary distribution
* Load setting from a configuration file
* Have no dependency from outside
Raw data
{
"_id": null,
"home_page": "",
"name": "galaxie-shell",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.0",
"maintainer_email": "",
"keywords": "Galaxie,SHELL,POSIX,Micropython",
"author": "Tuuux",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/a5/ea/2ceb24b2cdb8a7e1f5c78cc8af53611a6ee2451127aa7cf652ef62aa0b88/galaxie-shell-0.2.5.tar.gz",
"platform": null,
"description": "[![License: WTFPL](https://img.shields.io/badge/License-WTFPL-brightgreen.svg)](http://www.wtfpl.net/about/) [![Documentation Status](https://readthedocs.org/projects/galaxie-shell/badge/?version=latest)](https://galaxie-shell.readthedocs.io/en/latest/?badge=latest)\n```text\n ________ __ __ \n / _____/_____ | | _____ ___ __|__| ____ \n / \\ ___\\__ \\ | | \\__ \\ \\ \\/ / |/ __ \\ \n \\ \\_\\ \\/ __ \\| |__/ __ \\_> <| \\ ___/_\n \\________(______/____(______/__/\\__\\__|\\_____/\n```\n# GLXSH - Galaxie Shell\n## The Project\nThe goal of Galaxie-Shell is to provide a POSIX Shell for micro system like pyBoard or MicroPi.\n\nat end it should be possible to execute POSIX Script Shell on MicroPython (Long time target).\n\nThe application Galaxie Shell is a Read Eval Print Loop (`RELP <https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop>`_) write with `python <https://www.python.org/>`_ based on top of pycopy-lib `cmd <https://github.com/pfalcon/pycopy-lib/tree/master/cmd>`_ it self build on top of MicroPython.\n\nThe project implement POSIX Standard from the OpenGroup\nhttps://pubs.opengroup.org/onlinepubs/9699919799/utilities/\n\nThe OpenGroup permit a implementation where all utilities are builtins command, and that is what Galaxie-Shell do.\nI code it, because i like understand how a system work. Copy the code , use it , that is here for the public community.\n\n\n## Links\n\n Codeberg: https://codeberg.org/Tuuux/galaxie-shell/\n\n Read the Doc: https://galaxie-shell.readthedocs.io/\n\n PyPI: https://pypi.org/project/galaxie-shell/\n\n PyPI Test: https://test.pypi.org/project/galaxie-shell/\n\n Wokwi: https://wokwi.com/projects/312818372713644610\n\n## All ready implemented features\n\n* Totally autonomous All in One shell\n* Capability to build a **one-file** static binary file\n* Can load a script file as argument\n* Can execute command from passing arguments\n* Interactive shell when call without arguments\n* Builtins POSIX command (basename, cat, cd, mkdir, pwd, rmdir, uname, etc ...)\n* Exit status for build in or external command\n* POSIX Pipe\n* Alias and UnAlias\n* PS1 env var can be export\n\n## Application\n\n* Use on front of a [Unikernel](https://fr.wikipedia.org/wiki/Unikernel)\n* Use on front of a minimal `Alpine Linux <https://alpinelinux.org/>`_ or `OpenWrt <https://openwrt.org/>`_\n* Simplify CI CD\n* Use a MicroPython device as a Unix host\n\n## Installation\n### Installation via pip\n```bash\npip install galaxie-shell\n```\n\n### Installation via pip (test)\n```bash\npip install -i https://test.pypi.org/simple/ galaxie-shell\n```\n\n## Next Step:\n\nNow you can the start the **glxsh** entry point\nOn Unix host with MicroPython\n\n```text\n $> micropython ./glxsh\n ******************************* GLXUSH V0.2.5 **********************************\n\n LICENSE WTFPL V2\n LOADER MICROPYTHON V1.18.0 MPY 2566\n EXEC PYTHON V3.4.0\n 1.98MB MEMORY SYSTEM\n 1.91MB FREE\n\n >\n```\nOn Debian host with Python\n\n```text\n ******************************* GLXSH V0.2.5 **********************************\n\n LICENSE WTFPL V2\n LOADER CPYTHON 3.9.2.FINAL.0\n EXEC PYTHON V3.9.2 (DEFAULT, FEB 28 2021, 17:03:44)\n [GCC 10.2.1 20210110]\n 7.60GB RAM SYSTEM\n 245.14MB FREE\n\n >\n```\n\nFor each command you can get help with ``man`` command line, by exemple for ``ls`` help use ``man ls``, or call ``man`` without argument for know builtin commands list.\n\n**Note**:\nInternal builtins commands have precedence, if a command is not Internal builtins commands then glxshell , call it as subprocess.\n\n```text\n > man\n\n Documented commands (type man <topic>):\n =======================================\n alias cd cp dirname env head mkdir rm tail touch umask\n basename chmod date du exit ls mv rmdir tee true unalias\n cat clear df echo false man pwd sleep time tty uname\n```\n\n\n\n## Builtins implemented utilities\n* `alias <https://galaxie-shell.readthedocs.io/en/latest/man/alias.html>`_\n* `basename <https://galaxie-shell.readthedocs.io/en/latest/man/basenme.html>`_\n* `cat <https://galaxie-shell.readthedocs.io/en/latest/man/cat.html>`_\n* `cd <https://galaxie-shell.readthedocs.io/en/latest/man/cd.html>`_\n* `chmod <https://galaxie-shell.readthedocs.io/en/latest/man/chmod.html>`_\n* `clear <https://galaxie-shell.readthedocs.io/en/latest/man/clear.html>`_\n* `cp <https://galaxie-shell.readthedocs.io/en/latest/man/cp.html>`_\n* `date <https://galaxie-shell.readthedocs.io/en/latest/man/date.html>`_\n* `df <https://galaxie-shell.readthedocs.io/en/latest/man/df.html>`_\n* `dirname <https://galaxie-shell.readthedocs.io/en/latest/man/dirname.html>`_\n* `du <https://galaxie-shell.readthedocs.io/en/latest/man/du.html>`_\n* `echo <https://galaxie-shell.readthedocs.io/en/latest/man/echo.html>`_\n* `env <https://galaxie-shell.readthedocs.io/en/latest/man/env.html>`_\n* `exit <https://galaxie-shell.readthedocs.io/en/latest/man/exit.html>`_\n* `false <https://galaxie-shell.readthedocs.io/en/latest/man/false.html>`_\n* `head <https://galaxie-shell.readthedocs.io/en/latest/man/head.html>`_\n* `ls <https://galaxie-shell.readthedocs.io/en/latest/man/ls.html>`_\n* `mkdir <https://galaxie-shell.readthedocs.io/en/latest/man/mkdir.html>`_\n* `mv <https://galaxie-shell.readthedocs.io/en/latest/man/mv.html>`_\n* `pwd <https://galaxie-shell.readthedocs.io/en/latest/man/pwd.html>`_\n* `rm <https://galaxie-shell.readthedocs.io/en/latest/man/rm.html>`_\n* `rmdir <https://galaxie-shell.readthedocs.io/en/latest/man/rmdir.html>`_\n* `sleep <https://galaxie-shell.readthedocs.io/en/latest/man/sleep.html>`_\n* `tail <https://galaxie-shell.readthedocs.io/en/latest/man/tail.html>`_\n* `tee <https://galaxie-shell.readthedocs.io/en/latest/man/tee.html>`_\n* `time <https://galaxie-shell.readthedocs.io/en/latest/man/time.html>`_\n* `touch <https://galaxie-shell.readthedocs.io/en/latest/man/touch.html>`_\n* `true <https://galaxie-shell.readthedocs.io/en/latest/man/true.html>`_\n* `tty <https://galaxie-shell.readthedocs.io/en/latest/man/tty.html>`_\n* `umask <https://galaxie-shell.readthedocs.io/en/latest/man/umask.html>`_\n* `unalias <https://galaxie-shell.readthedocs.io/en/latest/man/unalias.html>`_\n* `uname <https://galaxie-shell.readthedocs.io/en/latest/man/uname.html>`_\n\n## Roadmap\n* implement the POSIX utility as describe by the OpenGroup\n* Background Task\n* Implement reserved POSIX environment variable name (HOME, PS1, etc)\n* deal with **env** and **export**\n* better one-file binary distribution\n* Load setting from a configuration file\n* Have no dependency from outside\n",
"bugtrack_url": null,
"license": "",
"summary": "Galaxie Shell is a autonomous shell ready for CI and low tech OS",
"version": "0.2.5",
"project_urls": {
"Homepage": "https://codeberg.org/Tuuux/galaxie-shell",
"Issues": "https://codeberg.org/Tuuux/galaxie-shell/-/issues",
"Readthedocs": "http://galaxie-shell.readthedocs.io"
},
"split_keywords": [
"galaxie",
"shell",
"posix",
"micropython"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a5ea2ceb24b2cdb8a7e1f5c78cc8af53611a6ee2451127aa7cf652ef62aa0b88",
"md5": "8e874be0931b8c7f0d0a2fbd00da8ced",
"sha256": "232bb2c635278845ce49efae9d28f9b4621a2ddb6f3c6575f048d679afc453c6"
},
"downloads": -1,
"filename": "galaxie-shell-0.2.5.tar.gz",
"has_sig": false,
"md5_digest": "8e874be0931b8c7f0d0a2fbd00da8ced",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.0",
"size": 54599,
"upload_time": "2024-03-19T00:49:04",
"upload_time_iso_8601": "2024-03-19T00:49:04.384972Z",
"url": "https://files.pythonhosted.org/packages/a5/ea/2ceb24b2cdb8a7e1f5c78cc8af53611a6ee2451127aa7cf652ef62aa0b88/galaxie-shell-0.2.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-19 00:49:04",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": true,
"codeberg_user": "Tuuux",
"codeberg_project": "galaxie-shell",
"lcname": "galaxie-shell"
}