Skip to main content

Paranet CLI

The Paranet CLI (para) is the fastest way to create, test, and deploy Paranet actors and full‑stack paranets on your laptop, a private server, or in the cloud.

This page details various instructions on how to use para. For getting started instructions, see Download & Install.


1 – Essential CLI Commands

The table below lists the sub‑commands you will use almost every day. Run para <command> --help for all flags.

CommandPurpose
para init [--template <kit>]Scaffold a new project or official kit (hello_world, hello_robot, …)
para docker deploy nodeBuild + start a local node with Docker Compose
para docker deploy packageBuild and deploy a local package to a node
para extension installInstall / update the Paranet VS Code extension
para devkit loginAuthenticate against the AWS Cognito dev environment
para update self [version]Grab the newest CLI release, or the version specified
para platform updateUpdate to the latest platform version
para -VPrint current CLI version

For a full reference of the command line, see the full cli reference.

2 – Understanding paranet.yaml and paranet.node.yaml

Here is the standard hello-world kit. To create a project using this you can run para init --template hello_world. It includes documentation for common fields. For a full reference of all of the fields and their allowed values, see the package schema.

# This file represents a "paranet package". A package is a collection of actors, panels, sidecars, and model
# files. This package represents "your paranet" - all of your actors are defined here for deployment to a
# node. A package can be deployed to multiple nodes or imported into other packages. Most commonly for
# development you will have one package per node.
#
# Below we will briefly explain the most common fields you will see or use in a package.
# Many additional fields exist to further configure actors or the package.

# Unique ID for this package.
id: hello-world
# Semantic version of this package
version: "0.1.0"
# Optional display name for the package
name: Hello world examples
# The list of actors in this package.
actors:
- name: Hello Paranet # Name for this actor, used to generate a unique ID
version: "0.1.0" # Version of this actor. In production nodes, these need to be incremented any time the actor changes
paraflow: hello_paranet.paraflow # Paraflow file for the actor
path: ./hello_paranet # Path to the actor, relative to the package file
env: # Arbitrary environment variables provided to the actor
CUSTOM_VAR: "1" # can be any variables or values
- name: Hello SQL
version: "0.1.0"
paraflow: hello.paraflow
path: ./hello_sql
sql: # Actors can specify SQL files which are used to create a schema used by the actor.
- hello.sql
# Python actor.
- name: Hello Python SDK
version: "0.1.0"
path: ./hello_python_sdk
python_sdk: hello.py # Uses the python SDK hello.py is the entrypoint.

# Additional model files can be listed here. These are mostly used for writing hand written skill definitions.
models:
- ./models/example.skill.yaml
# Additional meta model files can be listed here. These can be used for creating user definitions that need to
# always be a part of the package.
meta_models:
- ./models/custom_user.user.yaml
# Panels are custom UIs rendered in paracord. Currently they are not built by para.
panels:
- id: hello-panel # Unique ID for the panel.
version: 0.1.0 # Versioning rules are the same as for actors.
name: Hello World Panel # Display name.
path: ./hello_panel/dist # Whole directory and subdirectories are uploaded as static content.

3 Understanding paranet.node.yaml

This file is generated each time you create a new project and describes details specific to the node independent of the packages deployed to it. Here is an example with comments describing each field:

id: hello-world   # Unique ID for the node
version: 0.1.0 # Semantic version for the node
kind: dev # Kind of node, options are `dev` or `prod`. Only `dev` nodes are currently supported.
simulation: false # Enable or disable simulation features (only available for dev nodes)
insecure: true # Enable insecure features - this is recommended for dev nodes

Additional fields exist, and are detailed in the full reference paranet.node.yaml.

4 – Updating & Uninstalling the CLI

Update

para update self

That replaces the binary under $HOME/.para and preserves your PATH settings.

Uninstall

rm -rf "$HOME/.para"
sed -i '' '/\.para\/$/d' ~/.zshrc # adjust for your shell