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
Argerinstances 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|