Skip to content

riccardomc/storyscript

Repository files navigation

https://s3.amazonaws.com/asnycy/storyscript.png

Travis Codecov Pypi Bettercode 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

About

📘Microservice choreography as a language.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages