Nushell
Nushell is a Linux terminal shell that makes processing and visualizing data easier. For the chuck-stack, Nushell excels beyond others because of its preference for and usability with structured data and data pipelines.
Why We Love Nushell
Here are the reasons we love Nushell:
- It is an active and welcoming project, and it is well documented.
- It is open source.
- You can get up and running with Nushell in a meaningful way in minutes.
- It does its job (data pipelines) amazingly well.
- It makes the data we need to do our jobs immediately available.
- It makes creating modules, scripts and plugins significantly easier (as compared to bash and other shells).
- It visualizes structured data in a terminal better than just about any other tool.
- It has great synergy with the rest of the chuck-stack.
Visualize ERP Data
One of the benefits of Nushell is how it can visualize data in just about any size screen (monitor, tablet, phone, ...).
- Nushell creates good information density
- Nushell data visualization can be read by anyone (technical and non-technical)
- Configuring/customizing what data is presented is quite simple
Here is an example:
Here is a json representation of the same data:
{
"order": {
"id": "ORD-12345",
"customer": {
"id": "CUST-789",
"name": "John Smith",
"email": "john.smith@email.com",
"address": {
"street": "123 Main St",
"city": "Springfield",
"state": "IL",
"zip": "62701"
}
},
"items": [
{
"id": "PROD-001",
"name": "Coffee Mug",
"quantity": 2,
"price": 12.99,
"subtotal": 25.98
},
{
"id": "PROD-002",
"name": "Tea Set",
"quantity": 1,
"price": 45.00,
"subtotal": 45.00
}
],
"payment": {
"method": "credit-card",
"status": "completed",
"transaction-id": "TXN-456789"
},
"summary": {
"subtotal": 70.98,
"tax": 4.26,
"shipping": 5.99,
"total": 81.23
},
"status": "processing",
"created-at": "2023-05-15T14:30:00Z"
}
}
Here is a KDL representation of the same data:
order "ORD-12345" {
customer {
id "CUST-789"
name "John Smith"
email "john.smith@email.com"
address {
street "123 Main St"
city "Springfield"
state "IL"
zip "62701"
}
}
items {
item {
id "PROD-001"
name "Coffee Mug"
quantity 2
price 12.99
subtotal 25.98
}
item {
id "PROD-002"
name "Tea Set"
quantity 1
price 45.00
subtotal 45.00
}
}
payment {
method "credit-card"
status "completed"
transaction-id "TXN-456789"
}
summary {
subtotal 70.98
tax 4.26
shipping 5.99
total 81.23
}
status "processing"
created-at "2023-05-15T14:30:00Z"
}
Nu Tutor
Nushell is powerful. The easiest to learn the Nushell way of thinking is using Nu's tutor
. You can walk through examples by simply executing tutor
from a Nushell prompt.
Notes and References
- Nushell has not reached production stability yet; although, it is close. The Nushell team still introduces frequent breaking changes in an effort to enhance consistency and improve usability.
- Nushell compliments PostgreSQL in that Nushell can perform many of the same data tasks as PostgreSQL without requiring data first be inserted into a database.
- Said another way, Nushell gives you many of the same data processing abilities prior to persisting it in a database.
- Nushell also makes persisting data in PostgreSQL easier.
- Nushell plugin for visualizing and plotting data https://github.com/Euphrasiologist/nu_plugin_plot
- Also reference: gnuplot
- Nushell demonstrations and explanations
- Nushell using AI
Copyright © , CHUBOE LLC. All rights reserved.