lightbus shell
¶
The lightbus shell
command provides an interactive prompt through which
you can interface with the bus.
To use this command you must first install bpython
:
pip install bpython
Examples¶
You should see the following when starting up the shell. This is a fully functional Python shell, with your bus loaded in a ready to be used:
$ lightbus shell
>>> █
Welcome to the Lightbus shell. Use `bus` to access your bus.\
Upon typing the shell will begin to auto-complete based on the locally available APIs:
$ lightbus shell
>>> bus.au█
┌──────────────────────────────────────────────────────────────────────────┐
│ auth │
└──────────────────────────────────────────────────────────────────────────┘
You can fire events and call RPCs as follows:
# Fire an event
>>> bus.auth.user_registered.fire(email="joe@example.com", username="joe")
# Call an RPC
>>> bus.auth.check_password(username="admin", password="secret")
True
Option reference¶
$ lightbus shell --help
usage: lightbus shell [-h] [--bus BUS_MODULE] [--service-name SERVICE_NAME]
[--process-name PROCESS_NAME] [--config FILE]
[--log-level LOG_LEVEL]
optional arguments:
-h, --help show this help message and exit
Common arguments:
--bus BUS_MODULE, -b BUS_MODULE
The bus module to import. Example 'bus',
'my_project.bus'. Defaults to the value of the
LIGHTBUS_MODULE environment variable, or 'bus'
(default: None)
--service-name SERVICE_NAME, -s SERVICE_NAME
Name of service in which this process resides. YOU
SHOULD LIKELY SET THIS IN PRODUCTION. Can also be set
using the LIGHTBUS_SERVICE_NAME environment. Will
default to a random string. (default: None)
--process-name PROCESS_NAME, -p PROCESS_NAME
A unique name of this process within the service. Can
also be set using the LIGHTBUS_PROCESS_NAME
environment. Will default to a random string.
(default: None)
--config FILE Config file to load, JSON or YAML (default: None)
--log-level LOG_LEVEL
Set the log level. Overrides any value set in config.
One of debug, info, warning, critical, exception.
(default: None)