Skip to main content

StoryScript is an high-level language that can be used to orchestrate microservices in an algorithmic way.

Project description

storyscript-logo

PyPi CircleCI Codecov Docs Devdocs

Storyscript

StoryScript is an high-level language that can be used to orchestrate microservices in an algorithmic way. Unlike a traditional language, StoryScript describes operations against or with services:

today = date now
invoices = database get items:"invoices" where:"month={{today.month}}"
if today.day == 1
  send invoices

You can launch a scalable web application with a five-liner:

stream http-server as request
  query = parse-request request:request
  data = database get query:query
  html = erb template:'/assets/template.erb' data:data
  request.write input:html

These stories are compiled into event trees and run by a platform that implements StoryScript execution, like Asyncy

Current status

StoryScript is at an alpha stage and is part of the Asyncy project. If you want to learn more about Asyncy, and how to use StoryScript with Asyncy, you can visit the asyncy documentation

At the moment, Asyncy is the only platform that can execute StoryScript, however due the open source nature of the project, there might be more platforms that support StoryScript in the future.

Getting started

Create a Python 3.6 virtualenv:

virtualenv --python=python3.6 folder

Activate it:

cd folder
source bin/activate

Install with pip:

pip install storyscript

Write a simple story:

echo "alpine echo text:'hello world!'" > hello.story

Compile a story to JSON:

storyscript parse -j hello.story

Development documentation

Development docs are provided for those who wish to contribute to the project or want to understand how to execute compiled stories.

Contributing

If you want to contribute to Storyscript, you can join the community at our slack where we discuss features and future plans.

You can find open issues on github, along with contribution guidelines for happy coding. There are simple issues for new contributors and issues that need help

Contributors

The list of contributors is available here

Issues

For problems directly related to the CLI, add an issue on GitHub For other issues, submit a support ticket

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
storyscript-0.8.1-py3.6.egg (145.3 kB) Copy SHA256 hash SHA256 Egg 3.6
storyscript-0.8.1-py3-none-any.whl (56.3 kB) Copy SHA256 hash SHA256 Wheel py3
storyscript-0.8.1.tar.gz (42.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page