Package: galaxie-shell
GLXSH - Galaxie ShellMake you own thing !!!Galaxie Shell is a Read Eval Print Loop (RELP) write withpythonbased on top ofcmd2it self build on top of python builtinscmd.The project provide a application class nameGLXShelloriented unix SHELL. The goal is to permit everyone to start they own project around a SHELL as UI.The Galaxie Shell use a plugin namebuiltins pluginit try to integrate python version ofGNU Core Utilscommand’s set.https://pubs.opengroup.org/onlinepubs/9699919799/utilities/LinksGitLab:https://gitlab.com/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/All ready implemented featuresHistory files respect the Freedesktop requirementsAll unknown command’s are send to the sub shell systemCapability to build aone-filestatic binary fileCan load a script file as argumentCan execute command from passing argumentsInteractive shell when call without argumentsPlugins ManagerBuiltins Plugin (arch, cat, cd, mkdir, pwd, rmdir, uname, which, etc …)Permit to start you own project with the GLXShell classApplicationUse on front of a [Unikernel](https://fr.wikipedia.org/wiki/Unikernel)Use on front of a minimalAlpine LinuxorOpenWrtSimplify CI CDProject starterInstallation via pippipinstallgalaxie-shellInstallation via pip (test)pipinstall-ihttps://test.pypi.org/simple/galaxie-shellNext Step:Now you can the start theglxshentry point$>glxsh*******************************GLXSHELLV0.2*******************************GNUGENERALPUBLICLICENSEV3ORLATER(GPLV3+)LOADER#1 SMP DEBIAN 4.19.146-1 (2020-09-17)EXEC(VENV)PYTHON3.7.331.36GBRAMSYSTEM18.29GBFREENOHOLOTAPEFOUNDLOADPLUGINS(1):BUILTINS0.2A(venv)user@host:~/galaxie-shell$>or use the python package#!/usr/bin/env pythonimportosimportsysimportargparsefromGLXShell.libs.shellimportGLXShelldefmain(argv=None):"""Run when invoked from the operating system shell"""glxsh_parser=argparse.ArgumentParser(description="Commands as arguments")glxsh_parser.add_argument("command",nargs="?",help="optional commands or file to run, if no commands given, enter an interactive shell",)glxsh_parser.add_argument("command_args",nargs=argparse.REMAINDER,help="if commands is not a file use optional arguments for commands",)args=glxsh_parser.parse_args(argv)shell=GLXShell()shell.name="supershell"shell.version="0.1a"shell.authors=["authors1"]shell.license="WTFPL v2 - https://en.wikipedia.org/wiki/WTFPL"shell.description="SuperShell example"sys_exit_code=0ifargs.command:ifos.path.isfile(args.command):# we have file to executeshell.onecmd_plus_hooks("@{command}".format(command=args.command))else:# we have a commands, run it and then exitshell.onecmd_plus_hooks("{command}{args}".format(command=args.command,args=" ".join(args.command_args)))else:# we have no commands, drop into interactive modesys_exit_code=shell.cmdloop()returnsys_exit_codeif__name__=="__main__":sys.exit(main())Builtins Plugin implemented implemented command’sarchcatcddfmkdirpwdrmdirsleepunamewhichRoadmapimplement the core util’splugins installation system based on pippermit&&and||deal withenvandexportdeal with exit codebetter one-file binary distribution