Skip to content

Technology agnostic, asynchronous, functional application framework

License

Notifications You must be signed in to change notification settings

playwrigkt/skript

Repository files navigation

Build status latest release Bintray

Skript

Describe application logic asynchronously without tying yourself to an underlying implementation.

This project is in an early stage of development and may change drastically in order to provider cleaner and more powerful APIs.

Project Goals

  • Concise - Provide a clear, composable API for executing Asynchronous Operations
  • Readable - make application semantics a first class citizen
  • Modular - Easy to swap out implementations
  • Asynchronous - APIs assume non blocking implementation
  • Lightweight - Consume minimal system resources
  • Fault tolerant - Efficiently escalate and handle errors

Core API

The core api provides the base definitions for the skript api. Other projects in api/ provide contracts for integrating other tools with skript.

Examples

Examples can be found in the examples repository

Motivation

If you're familiar with asynchronous jvm applications, you've probably heard reference to "callback hell". This project was first conceptualized as a way to the pain of implementing asynchronous code in java. Indeed, skripts really are just a series of callbacks, presented in a clean way.

Running Tests and building

Before a PR can be merged, the examples must be run with the new artifact. the previous command will

  1. run the tests and generate reports: ~/skript$ ./gradlew clean build
  2. From the skript examples directory:
  3. start the environment for the examples ~/skript-examples$ docker-compose up
  4. run the examples test suite: ~/skript-examples$ ./gradlew clean build

Contributing

Want to contribute? Please read CONTRIBUTING.md, and come chat on gitter

About

Technology agnostic, asynchronous, functional application framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages