
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
espresso-cli
Advanced tools
A Node.js command-line tool to access Espresso Logic REST API and Logic services. Refer to online documentation of creating and using Espresso Logic REST API
npm by running the following:$ npm install -g espresso-cli
Note: on Unix and Mac, you will probably need to run this with sudo because of file permissions:
$ sudo npm install -g espresso-cli
Windows: Please note that, on Windows, npm install will create an executable
called espresso in your
<node_modules>/.bin directory. If this directory is not in your PATH, you will probably
want to fix that, otherwise you'll have to specify the full path to the executable.
$ espresso --help
Usage: espresso \[options] [command]
Commands:
login [options] Login to an Espresso Logic server
logout [options] Logout from the current server, or a specific server
use <alias> Use the specified server by default
status Show the current server, and any defined server aliases
get <resource> [options] Retrieve some data for the given resource/table/view
post <resource> [options] Insert some data
put <resource> [options] Update some data
delete <resource> [options] Delete some data
describe <resource> [options] Describe the specified resource, can be: tables[/tablename], views[/viewname], license, serverinfo
Options:
-h, --help output usage information
-V, --version output the version number
$ espresso login http://my.espressologic.com/rest/el-dev/demo/v1 -u username -p mypassword
Logging in...
This server licensed to: Espresso Logic
Login successful, API key will expire on: 2014-11-18T15:03:37.342Z
$ espresso status
You are currently logged in to server: https://eval.espressologic.com/rest/acme/demo/v1 as user demo
Defined aliases:
┌───────┬───────────────────────────────────────────────────────────┬───────┐
│ Alias │ Server │ User │
├───────┼───────────────────────────────────────────────────────────┼───────┤
│ hr │ https://acme.my.espressologic.com/rest/acme/hr/v2 │ hradm │
├───────┼───────────────────────────────────────────────────────────┼───────┤
│ demo │ https://eval.espressologic.com/rest/acme/demo/v1 │ demo │
└───────┴───────────────────────────────────────────────────────────┴───────┘
This can return information about all tables, or one specific table, or all views/one specific view, or get information about the server or the server's license. The possible values for the resource are:
$ espresso describe tables
DB Table
---- -------------------
demo customer
demo employee
demo employee_picture
demo LineItem
demo product
demo PurchaseOrder
demo purchaseorder_audit
$ espresso describe tables/product
Name Type Size PK
-------------- ------- -------- --
product_number BIGINT 19 *
name VARCHAR 50
price DECIMAL 19
icon BLOB 65535
full_image BLOB 16777215
Usage: get <resource> [options]
Options:
-h, --help output usage information
-k, --pk <pk> Optional: primary key of the object to retrieve
-f, --filter <filter> Optional: filter, e.g. "balance<1000"
-s, --sort <sort> Optional: sorting order, e.g. "balance,name desc"
-z, --pagesize <pagesize> Optional: up to how many rows to return per level
-m, --format <format> Optional: format of output, either text (default), json or compactjson --truncate <length>
-a, --serverAlias <serverAlias> Optional: alias of the server to use if other than the current default server
$ espresso get employee
demo:employee/1 employee_id:1 login:sam name:Sam Yosemite
demo:employee/2 employee_id:2 login:mlittlelamb name:Mary Little-Lamb
demo:employee/3 employee_id:3 login:sconnor name:Sarah Connor
demo:employee/4 employee_id:4 login:jkim name:John Kim
demo:employee/5 employee_id:5 login:bmcmanus name:Becky McManus
etc...
$ espresso get employee/4 -m json
[
{
"@metadata": {
"href": "http://localhost:8080/KahunaService/rest/el-local/demo/v1/demo:employee/4",
"checksum": "A:3ed29188014675ec",
"links": [
{
"href": "http://localhost:8080/KahunaService/rest/el-local/demo/v1/demo:employee_picture?filter=employee_id%20%3D%204",
"rel": "children",
"role": "employee_pictureList",
"type": "http://localhost:8080/KahunaService/rest/el-local/demo/demo:employee_picture"
},
{
"href": "http://localhost:8080/KahunaService/rest/el-local/demo/v1/demo:PurchaseOrder?filter=salesrep_id%20%3D%204",
"rel": "children",
"role": "PurchaseOrderList",
"type": "http://localhost:8080/KahunaService/rest/el-local/demo/demo:PurchaseOrder"
}
]
},
"employee_id": 4,
"login": "jkim",
"name": "John Kim"
}
]
$ espresso post --help
Usage: post <resource> [options]
Options:
-h, --help output usage information
-j, --json <json> JSON for the data being inserted
-f, --jsonfile <jsonfile> Name of a file containing JSON to be inserted, or stdin to read from stdin
-m, --format <format> Optional: format of output, either text (default), json or compactjson
-a, --serverAlias <serverAlias> Optional: alias of the server to use if other than the current default server
$ espresso post customer -j '{ "name": "new posted record","balance": 0,"credit_limit": 9000 }'
POST for customer:
I demo:customer/new%20posted%20record name:new posted record balance:0 credit_limit:9000
Request took: 61ms - # objects touched: 1
$ espresso put --help
Usage: put <resource> [options]
Options:
-h, --help output usage information
-j, --json <json> JSON string for the data being updated
-f, --jsonfile <jsonfile> Name of a file containing JSON to be updated, or stdin to read from stdin
-m, --format <format> Optional: format of output, either text (default), json or compactjson
-a, --serverAlias <serverAlias> Optional: alias of the server to use if other than the current default server
$ espresso put customer -j '{ "@metadata": {"checksum": "A:693190f461f5402e" }, "name": "new posted record", "credit_limit": 8000 }'
PUT for customer:
U demo:customer/new%20posted%20record name:new posted record balance:0 credit_limit:8000
Request took: 42ms - # objects touched: 1
$ espresso delete --help
Usage: delete <resource> [options]
Options:
-h, --help output usage information
-k, --pk <pk> Primary key of the object to delete
--checksum <checksum> Optional: checksum for the object to delete, or "override". If not specified, the object will be retrieved then deleted.
-f, --jsonfile <jsonfile> Optional: name of a file containing JSON to be deleted, or stdin to read from stdin
-m, --format <format> Optional: format of output, either text (default), json or compactjson
-a, --serverAlias <serverAlias> Optional: alias of the server to use if other than the current default server
espresso delete customer -k "new posted record" --checksum "A:e86aea2e0a4e74bf"
$ espresso logout
Logout successful
FAQs
The command line utility for Espresso Logic
We found that espresso-cli demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.