Skip to content

Latest commit

 

History

History
88 lines (61 loc) · 4.32 KB

README.md

File metadata and controls

88 lines (61 loc) · 4.32 KB

EvaNotebook

EvaNotebook is a computational notebook specifically designed to operate solely within a browser environment, without the need for a client-server architecture. Its design lends itself to the development of prototypes, experimental processes, and system scenarios with a main emphasis on multilingual programming for event-driven architectures. It achieves this with the assistance of a decentralized database and incorporates various application protocols, including WebRTC, WebSockets, and MQTT, providing a higher level of abstraction.

EvaNotebook

🌐 Demo Link:

🔥 Key Features:

  • User-friendly WYSIWYG interface inspired by Notion (EditorJS)

  • Since real applications are reactive ones rather than static ones, so it offers simplified APIs for MQTT, WebRTC, HTTP, and WebSocket protocols based on RxJS.

  • Independent web workers for enhanced performance and stability

  • Secure P2P collaboration with custom replication (RxDB and libp2p) but offline first

  • Reactive elements like reactive charts, forms, and notebook itself. You can use them with LangChain.

🗺️ Roadmap:

  • Implement Bluetooth, gRPC, GraphQL and SSH protocols. Call your operating system from a browser should be possible securely.
  • Bypass transparently CORS restrictions.
  • Integrate Langchain to control whatever environment you want (including the notebook itself) in real-time using the different protocols and languages provided by libp2p. Integrate offline large models such as WebGPT.
  • Built-in open source alternatives to commercial AI products.
  • Jupyter Notebook format complaint.

Why?

webGPT Credits WebGPT.

Alternatives

ObservableHQ

Starboard notebook

JSNB

Dnotebook

Kajero

Jbook

Runkit

Jupyter Lite

Mirrors

Contribuitors

This project was generated with Angular CLI version 15.1.5.

Development server

Run npm run start for a dev server. Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.

CodeBlock scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.

Acknowledgements

"Archivo:Edit icon (the Noun Project 30184).svg - Wikipedia, la enciclopedia libre." 15 Mar. 2023, es.m.wikipedia.org/wiki/Archivo:Edit_icon_%28the_Noun_Project_30184%29.svg. Based on these projects. https://github.com/alangpierce/sucrase https://github.com/binji/wasm-clang https://babeljs.io/docs/en/babel-standalone https://infinitexyy.github.io/playcode/