Coder Social home page Coder Social logo

streamsync-cloud / streamsync Goto Github PK

View Code? Open in Web Editor NEW
1.3K 23.0 71.0 72.61 MB

No-code in the front, Python in the back. An open-source framework for creating data apps.

Home Page: https://dev.writer.com/framework/introduction

License: Apache License 2.0

Python 35.65% HTML 1.45% JavaScript 2.06% Vue 45.37% Dockerfile 0.04% TypeScript 14.47% CSS 0.95%
data-apps data-visualization python websockets no-code developer-tools interface interface-builder models ui ui-components ai ai-in

streamsync's Introduction

What is Framework?

Writer Framework is an open-source framework for creating AI applications. Build user interfaces using a visual editor; write the backend code in Python.

Writer Framework is fast and flexible with a clean, easily-testable syntax. It provides separation of concerns between UI and business logic, enabling more complex applications.

Highlights

Reactive and state-driven

Writer Framework is fully state-driven and provides separation of concerns between user interface and business logic.

import writer as wf

def handle_increment(state):
    state["counter"] += 1

wf.init_state({
    "counter": 0
})

The user interface is a template, which is defined visually. The template contains reactive references to state, e.g. @{counter}, and references to event handlers, e.g. when Button is clicked, trigger handle_increment.

Flexible

  • Elements are highly customizable with no CSS required, allowing for shadows, button icons, background colors, etc.
  • HTML elements with custom CSS can be included using the HTML Element component. They can serve as containers for built-in components.

Fast

  • Event handling adds minimal overhead to your Python code (~1-2ms*).
  • Streaming (WebSockets) is used to synchronize frontend and backend states.
  • The script only runs once.
  • Non-blocking by default. Events are handled asynchronously in a thread pool running in a dedicated process.

*End-to-end figure, including DOM mutation. Tested locally on a Macbook Air M2. Measurement methodology.

Developer-friendly

  • It's all contained in a standard Python package, just one pip install away.
  • User interfaces are saved as JSON, so they can be version controlled together with the rest of the application.
  • Use your local code editor and get instant refreshes when you save your code. Alternatively, use the provided web-based editor.
  • You edit the UI while your app is running. No hitting "Preview" and seeing something completely different to what you expected.

Installation and Quickstart

Getting started with Writer Framework is easy. It works on Linux, Mac and Windows.

pip install writer
writer hello
  • The first command will install Writer Framework using pip.
  • The second command will create a demo application in the subfolder "hello" and start Writer Framework Builder, the framework's visual editor, which will be accessible via a local URL.

The following commands can be used to create, launch Writer Framework Builder and run an application.

writer create my_app
writer edit my_app
writer run my_app

Documentation

Full documentation, including how to use Writer's AI module and deployment options, is available at Writer.

About Writer

Writer is the full-stack generative AI platform for enterprises. Quickly and easily build and deploy generative AI apps with a suite of developer tools fully integrated with our platform of LLMs, graph-based RAG tools, AI guardrails, and more. Learn more at writer.com.

License

This project is licensed under the Apache 2.0 License.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.