Quickstart

Run SNEWS 2.0

After installing the module, the command that does the magic is:

snews model

The two required options are:

  • -f: the .env file for required environment variables.

  • –no-auth: True to use the default .toml file. Otherwise, use Hopskotch authentication in the .env file.

So an example command would be

snews model --env-file config.env --no-auth

Configuration

The user should create a .env file and pass the file path to the -f option when running SNEWS 2.0. The .env file should include the following:

The definition of these environmental variables are:
  • COINCIDENCE_THRESHOLD: maximum time (s) between messages for them to be considered coincident

  • MSG_EXPIRATION: maximum time (s) that a message will be stored in the database cache before expiring

  • TIME_STRING_FORMAT: the string format of time in all SNEWS messages.

  • DATABASE_SERVER: the database server to that SNEWS 2.0 connects to in order to store messages for processing. In the current version, the app takes in a MongoDB server.

  • NEW_DATABASE: “True” to drop all previous messages and “False” to keep them.

  • OBSERVATION_TOPIC: the Hopskotch topic for detectors to publish messages to.

  • TESTING_TOPIC: the optional topic for testing.

  • ALERT_TOPIC: the Hopskotch topic for SNEWS 2.0 to publish alert messages to the detectors.

Access to Hopskotch

To configure a .toml file for hop-client module, follow the steps documented at https://github.com/scimma/hop-client and specify –default-authentiation as False.

Otherwise, in the .env file, include the following:

USERNAME=username
PASSWORD=password

where “username” and “password” are user credentials to Hopsckoth.

Generate Messages

snews generate can be used to simulate real-time messages from experiments:

snews generate

with options

  • –env-file: the .env file for configuration.

  • –rate: the rate of messages sent in seconds (e.g. 2 means one message every 2 seconds).

  • –alert-probability: the discrete probability that the message is significant.

  • –persist: continually send messages. If not specified, send only one message.

For example, to continuously publish two messages per second, each with a 10% probability of being a significant, enter:

snews generate --env-file config.env --rate 0.5 --alert-probability 0.1

Alternative Instances

If the user does not have access to the Hopskotch or MongoDB server or both, running local instances is a alternative choice.

  • To run a Kafka instance, run the following in the shell

docker run -p 9092:9092 -it --rm --hostname localhost scimma/server:latest --noSecurity

and pass the following Kafka server to SNEWS 2.0

kafka://dev.hop.scimma.org:9092/USER-TOPIC
  • To run a MongoDB instance, either run

docker run -p 27017:27017 -it --rm --hostname localhost mongo:latest

or run

pip install -U mongoengine

and pass the following MongoDB server to SNEWS 2.0

mongodb://localhost:27017/