marcel | nushell | |
---|---|---|
13 | 214 | |
332 | 30,246 | |
- | 1.7% | |
9.3 | 9.9 | |
4 days ago | about 3 hours ago | |
Python | Rust | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
marcel
-
Generating graphs from the marcel command line
Marcel is one of the pipe-objects-instead-of-strings shells (https://marceltheshell.org).
Here's a blog post showing how to use marcel to generate graphs directly from the command line.
https://www.marceltheshell.org/post/generating-graphs-from-t...
-
Xonsh: Python-powered, cross-platform, Unix-gazing shell
Check out marcel (https://marceltheshell.org). It's yet another pipe-objects-instead-of-strings shell (like nushell). Unlike nushell, you pipe Python values. Marcel has no sublanguages (like awk, sed, ...). Instead, when logic is needed, you write Python code, delimited by parens. So:
(USER)
-
Marcel the Shell
It is a useful correction. This project predates the release of the movie: https://github.com/geophile/marcel/commit/bb6adacbb6b3a683ce...
-
Object SHell
Check out marcel: https://marceltheshell.org, and https://github.com/geophile/marcel. Both marcel and nushell start with the idea of piping structured data instead of strings, which is incredibly powerful. (This also applies to osh. I am the author of osh and marcel.)
Marcel (and osh) rely on Python types and language where typical shells have sublanguages. So instead of awk or find and their sublanguages, you just use Python. Instead of piping strings, you pipe streams of Python values.
Marcel lets you use Python on the commmand line. It also has an API which allows you to use shell-like commands inside of Python programs.
-
Shshsh is a bridge connects Python and shell
I wrote a shell, marcel, that pipes Python values instead of strings: https://marceltheshell.org.
It also does the inverse, allowing you to run marcel commands from Python, e.g. https://www.marceltheshell.org/scripting-1
-
The Case for Nushell
Check out my entry, marcel: https://marceltheshell.org.
E.g., find the newest vlc instance and kill it (a command that an acquaintance needs frequently, for some reason):
ps | select (p: p.name == 'vlc') | sort (p: p.create_time) | tail 1 | (p: p.signal(9))
- The Awk Programming Language, Second Edition
nushell
-
Exploring Nushell, a Rust-powered, cross-platform shell
The first method is through downloading the pre-built binaries. With this method, you don't need to install anything other than Nushell's dependencies. Once you've downloaded the binaries, add them to your system's environment path to run it directly in your terminal.
-
PowerShell: The object-oriented shell you didn't know you needed
I rather nushell for this purpose, it's more fun to write and easier to read.
https://www.nushell.sh/
-
NuShell - Ceci n'est pas une |
These are just three small examples of what this shell written in Rust allows. The features are many and many more, but I'll leave it up to you to discover and enjoy them; I'm currently playing around with it and it's giving me a lot of satisfaction and immediacy, now it has a fixed place among the tools I use when working! The project is Open Source, so if you want to contribute, I invite you, as always, to do so, I leave you the link to the repo here!
- Xonsh: Python-powered, cross-platform, Unix-gazing shell
-
Fish shell 3.7.0: last release branch before the full Rust rewrite
Any thoughts on fish as compared to nushell [0]? It's similar to PowerShell in its philosophy and is also written in Rust.
[0] https://github.com/nushell/nushell
-
jc: Converts the output of popular command-line tools to JSON
> In PowerShell, structured output is the default and it seems to work very well.
PowerShell goes a step beyond JSON, by supporting actual mutable objects. So instead of just passing through structured data, you effectively pass around opaque objects that allow you to go back to earlier pipeline stages, and invoke methods, if I understand correctly: https://learn.microsoft.com/en-us/powershell/module/microsof....
I'm rather fond of wrappers like jc and libxo, and experimental shells like https://www.nushell.sh/. These still focus on passing data, not objects with executable methods. On some level, I find this comfortable: Structured data still feels pretty Unix-like, if that makes sense? If I want actual objects, then it's probably time to fire up Python or Ruby.
Knowing when to switch from a shell script to a full-fledged programming language is important, even if your shell is basically awesome and has good programming features.
-
Ripgrep is faster than {grep, ag, Git grep, ucg, pt, sift}
Maybe if the "popular" shells, but http://www.nushell.sh/ is looking better and better
- "<ESC>[31M"? ANSI Terminal security in 2023 and finding 10 CVEs
-
jq 1.7 Released
Yeah agreed, especially now that PowerShell is available cross-platform.
Nushell[1] also seems like a promising alternative, but I haven’t had a chance to play with it yet.
[1]: https://www.nushell.sh/
-
The Case for Nushell
I also discovered an existing discussion[1] related to this topic which includes a link[2] to a "helper to call nushell nuon/json/yaml commands from bash/fish/zsh" and a comment[3] that the current nushell dev focus is "on getting the experience inside nushell right and [we] probably won't be able to dedicate design time to get the interface of native Nu commands with an outside POSIX shell right and stable.".
[0] https://gitlab.com/RancidBacon/notes_public/-/blob/main/note...
[1] "Expose some commands to external world #6554": https://github.com/nushell/nushell/issues/6554
[2] https://github.com/cruel-intentions/devshell-files/blob/mast...
[3] https://github.com/nushell/nushell/issues/6554#issuecomment-...
What are some alternatives?
awk-vm - A virtual machine and assembler written in AWK.
fish-shell - The user-friendly command line shell.
asm - scriptable runtime-writable livecd / hardware wrangler
elvish - Powerful scripting language & Versatile interactive shell
busybox-w32 - WIN32 native port of BusyBox.
starship - ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!
iterable-subprocess - Python context manager to communicate with a subprocess using iterables: for when data is too big to fit in memory and has to be streamed
PowerShell - PowerShell for every system!
ioccc-obfuscated-c-contest - IOCCC International Obfuscated C code contest entries
alacritty - A cross-platform, OpenGL terminal emulator.
carbon - :black_heart: Create and share beautiful images of your source code
xonsh - :shell: Python-powered, cross-platform, Unix-gazing shell.