Useful xonsh-shell commands/alias functions
Project description
xontrib-commands
Useful xonsh-shell commands/alias/completer functions
Installation
To install use pip:
xpip install xontrib-commands
# or: xpip install -U git+https://github.com/jnoortheen/xontrib-commands
Usage
xontrib load commands
building alias
Use xontrib_commands.argerize:Command
to build arger dispatcher
for your functions. This will create a nice alias function with auto-completions support.
from xontrib_commands.argerize import Command
@Command.reg
def record_stats(pkg_name=".", path=".local/stats.txt"):
stat = $(scc @(pkg_name))
echo @($(date) + stat) | tee -a @(path)
- Directly passing the
Arger
instances is also supported.
from xontrib_commands.argerize import Arger, Command
arger = Arger(prog="tst", description="App Description goes here")
@arger.add_cmd
def create(name: str):
"""Create new test.
:param name: Name of the test
"""
print(locals())
@arger.add_cmd
def remove(*name: str):
"""Remove a test with variadic argument.
:param name: tests to remove
"""
print(locals())
Command.reg(arger)
Now a full CLI is ready
$ record-stats --help
usage: xonsh [-h] [-p PKG_NAME] [-a PATH]
optional arguments:
-h, --help show this help message and exit
-p PKG_NAME, --pkg-name PKG_NAME
-a PATH, --path PATH
Commands
- The following commands are available once the xontrib is loaded.
1. reload-mods
usage: reload-mods [-h] name
Reload any python module in the current xonsh session.
Helpful during development.
positional arguments:
name Name of the module/package to reload. Giving partial names matches all the nested modules.
optional arguments:
-h, --help show this help message and exit
Examples
-------
$ reload-mods xontrib
- this will reload all modules imported that starts with xontrib name
Notes
-----
Please use
`import module` or `import module as mdl` patterns
Using
`from module import name`
will not reload the name imported
2. report-key-bindings
usage: report-key-bindings [-h]
Show current Prompt-toolkit bindings in a nice table format
optional arguments:
-h, --help show this help message and exit
3. dev
dev - A command to cd into a directory. (Default action)
Usage:
dev [COMMAND] [OPTIONS] [NAME]
Arguments:
[NAME] - name of the folder to cd into. This searches for names under $PROJECT_PATHS or the ones registered with ``dev add``
Options:
--help [SUBCOMMANDS...] - Display this help and exit
Commands:
add - Register the current folder to dev command.
When using this, it will get saved in a file, also that is used during completions.
ls - Show currently registered paths
load-env FILE - Load environment variables from the given file into Xonsh session
Using https://github.com/theskumar/python-dotenv
Run "dev COMMAND --help" for more information on a command.
4. parallex
usage: parallex [-h] [-s] [-n] [-c] [args ...]
Execute multiple subprocess in parallel
positional arguments:
args individual commands need to be quoted and passed as separate arguments
options:
-h, --help
show this help message and exit
-s, --shell
each command should be run with system's commands
-n, --no-order
commands output are interleaved and not ordered
-c, --hide-cmd
do not print the running command
Examples
--------
running linters in parallel
$ parallex "flake8 ." "mypy xonsh"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
xontrib-commands-0.4.4.tar.gz
(10.9 kB
view details)
Built Distribution
File details
Details for the file xontrib-commands-0.4.4.tar.gz
.
File metadata
- Download URL: xontrib-commands-0.4.4.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.8.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7e077d16936d0fbfff59a8e25c80c9027bff6c5698992c948fff6d884a39394 |
|
MD5 | 51de27ff3b4a833298de9b1ad02ba52f |
|
BLAKE2b-256 | 3181b5731a02a9f5df335a29d1aa2a7368bfa23e4e4f1df18ebfed1999ad1b12 |
File details
Details for the file xontrib_commands-0.4.4-py3-none-any.whl
.
File metadata
- Download URL: xontrib_commands-0.4.4-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.8.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89294efede07417fb5c827eee63927ea96f462c50c6eb9404dee6175ccbfaae4 |
|
MD5 | 9e1f23bda0edb8af2f80d99eaac142f8 |
|
BLAKE2b-256 | bfbf0453ebbf28403b6c960e41892c16b31224fbdde3e2e40fc3e5b84f31a00b |