RedMaple offers an oppinionated yet extremely flexible data modeling system based on events for back-end applications.

Overview

Red Maple is now moved to a different repository.

You can find Redmapele it [`here`](https://github.com/amirography/soapberry/tree/main/crates/redmaple).

Red Maple

GitHub Workflow Status GitHub commit activity

a picture of a Red Maple in the style of a pixel art

RedMaple offers an opinionated yet extremely flexible data modeling system based on events for backend applications

RedMaple is still in its infancy. And for now, at least, it is not fully formed. There is a 100 % certainty that if I can, I will strip away some items in it. So please, do not use it for now. Version numbering will tell you if things got stabilised.

Comments
  • test

    test

    • test: add whirlybird as a dev dependency
    • Revert "test: add whirlybird as a dev dependency"
    • test: add tests for id
    • doc: move tests to documentation
    • feat: add two additional requirements for EventGroup
    • chore: bump the version for breaking api change
    • doc: add another assertion for EventGroup
    opened by amirography 0
  • test

    test

    • test: add whirlybird as a dev dependency
    • Revert "test: add whirlybird as a dev dependency"
    • test: add tests for id
    • doc: move tests to documentation
    • feat: add two additional requirements for EventGroup
    • chore: bump the version for breaking api change
    opened by amirography 0
  • improve view mode

    improve view mode

    • feat: use display trait and associted types inorder to make view mode more elegant, generalisable and idiomatic
    • chore: bump the version to state BREAKING CHANGES
    • feat: return borrowd value
    opened by amirography 0
  • generic view modes

    generic view modes

    • refactor: extract argument from this crate
    • refactor: export and rename from to  . ├──  assets │ └──  redmaple.gif ├──  Cargo.lock ├──  Cargo.toml ├──  LICENSE.md ├──  README.md ├──  src │ ├──  lib.rs │ ├──  store.rs │ ├──  tree │ │ ├──  event_group.rs │ │ └──  id.rs │ ├──  tree.rs │ └──  view_mode.rs └──  target ├──  CACHEDIR.TAG └──  debug ├──  build │ ├──  libc-ebdc4e867cb40106 │ │ ├──  invoked.timestamp │ │ ├──  out │ │ ├──  output │ │ ├──  root-output │ │ └──  stderr │ ├──  libc-eef56d88e783a460 │ │ ├──  build-script-build │ │ ├──  build_script_build-eef56d88e783a460 │ │ └──  build_script_build-eef56d88e783a460.d │ ├──  proc-macro2-9de8cbb861ba7ffa │ │ ├──  build-script-build │ │ ├──  build_script_build-9de8cbb861ba7ffa │ │ └──  build_script_build-9de8cbb861ba7ffa.d │ ├──  proc-macro2-a70d73ee8193865f │ │ ├──  invoked.timestamp │ │ ├──  out │ │ ├──  output │ │ ├──  root-output │ │ └──  stderr │ ├──  quote-520b1c3af25acb7a │ │ ├──  build-script-build │ │ ├──  build_script_build-520b1c3af25acb7a │ │ └──  build_script_build-520b1c3af25acb7a.d │ ├──  quote-f16a042b296974d2 │ │ ├──  invoked.timestamp │ │ ├──  out │ │ ├──  output │ │ ├──  root-output │ │ └──  stderr │ ├──  syn-78ec64bd66e69cbf │ │ ├──  build-script-build │ │ ├──  build_script_build-78ec64bd66e69cbf │ │ └──  build_script_build-78ec64bd66e69cbf.d │ ├──  syn-eeb708440738f39e │ │ ├──  invoked.timestamp │ │ ├──  out │ │ ├──  output │ │ ├──  root-output │ │ └──  stderr │ ├──  thiserror-54e5fcef3447d6c2 │ │ ├──  build-script-build │ │ ├──  build_script_build-54e5fcef3447d6c2 │ │ └──  build_script_build-54e5fcef3447d6c2.d │ └──  thiserror-57a3cf224b1f5bf9 │ ├──  invoked.timestamp │ ├──  out │ │ └──  probe.rs │ ├──  output │ ├──  root-output │ └──  stderr ├──  deps │ ├──  cfg_if-4b3bb0931f24386e.d │ ├──  cfg_if-a1581cd1abd57635.d │ ├──  getrandom-834d8149911b2224.d │ ├──  getrandom-f43ce465c5b4d586.d │ ├──  libc-3fc621021944168f.d │ ├──  libc-4b9c5670a111d828.d │ ├──  libcfg_if-4b3bb0931f24386e.rlib │ ├──  libcfg_if-4b3bb0931f24386e.rmeta │ ├──  libcfg_if-a1581cd1abd57635.rmeta │ ├──  libgetrandom-834d8149911b2224.rlib │ ├──  libgetrandom-834d8149911b2224.rmeta │ ├──  libgetrandom-f43ce465c5b4d586.rmeta │ ├──  liblibc-3fc621021944168f.rlib │ ├──  liblibc-3fc621021944168f.rmeta │ ├──  liblibc-4b9c5670a111d828.rmeta │ ├──  libproc_macro2-110f78a8f0c6db9f.rlib │ ├──  libproc_macro2-110f78a8f0c6db9f.rmeta │ ├──  libquote-fdef7612666452f5.rlib │ ├──  libquote-fdef7612666452f5.rmeta │ ├──  libredmaple-56d6c7c6c6651921.rmeta │ ├──  libredmaple-1082e3a4bf1e0e3e.rmeta │ ├──  libredmaple-3292116f73cc00f7.rmeta │ ├──  libredmaple-bdbac2b93d945bf7.rmeta │ ├──  libredmaple-f5c471cb4e846a90.rlib │ ├──  libredmaple-f5c471cb4e846a90.rmeta │ ├──  libstory-1dcff673e97a020f.rmeta │ ├──  libstory-3e0d445745154b04.rmeta │ ├──  libsyn-5c580f5dfb56911c.rlib │ ├──  libsyn-5c580f5dfb56911c.rmeta │ ├──  libthiserror-723866c7253954ad.rlib │ ├──  libthiserror-723866c7253954ad.rmeta │ ├──  libthiserror-a192bd50e84a20e1.rmeta │ ├──  libthiserror_impl-b19000ddc83a57b4.so │ ├──  libunicode_ident-cc943a933c4d2eda.rlib │ ├──  libunicode_ident-cc943a933c4d2eda.rmeta │ ├──  libuuid-3ed6b89cdc410bf6.rmeta │ ├──  libuuid-619ec35fd6c8187d.rlib │ ├──  libuuid-619ec35fd6c8187d.rmeta │ ├──  proc_macro2-110f78a8f0c6db9f.d │ ├──  quote-fdef7612666452f5.d │ ├──  redmaple-56d6c7c6c6651921.d │ ├──  redmaple-227be8e60faf2209 │ ├──  redmaple-227be8e60faf2209.d │ ├──  redmaple-1082e3a4bf1e0e3e.d │ ├──  redmaple-3292116f73cc00f7.d │ ├──  redmaple-bdbac2b93d945bf7.d │ ├──  redmaple-f5c471cb4e846a90.d │ ├──  story-1dcff673e97a020f.d │ ├──  story-3e0d445745154b04.d │ ├──  syn-5c580f5dfb56911c.d │ ├──  thiserror-723866c7253954ad.d │ ├──  thiserror-a192bd50e84a20e1.d │ ├──  thiserror_impl-b19000ddc83a57b4.d │ ├──  unicode_ident-cc943a933c4d2eda.d │ ├──  uuid-3ed6b89cdc410bf6.d │ └──  uuid-619ec35fd6c8187d.d ├──  examples └──  incremental ├──  redmaple-1f9b0xfs01ju7 │ ├──  s-ghtja9gozv-c5hjhh-3gatdthjx8hou │ │ ├──  dep-graph.bin │ │ ├──  query-cache.bin │ │ └──  work-products.bin │ └──  s-ghtja9gozv-c5hjhh.lock ├──  redmaple-2keqsyiewcfg9 │ ├──  s-ghtja39rhw-t6gwuu-fjcdhur68tvp │ │ ├──  dep-graph.bin │ │ ├──  query-cache.bin │ │ └──  work-products.bin │ └──  s-ghtja39rhw-t6gwuu.lock ├──  redmaple-2tkii56agcvxh │ ├──  s-ghtja9goz6-bnek90-3kqu3nx4owr61 │ │ ├──  dep-graph.bin │ │ ├──  query-cache.bin │ │ └──  work-products.bin │ └──  s-ghtja9goz6-bnek90.lock ├──  redmaple-3u85hyfh36nri │ ├──  s-ghtj9djr5p-5ce3hm-2u8fyu9ufdw09 │ │ ├──  1rc411b4i8ie8jlj.o │ │ ├──  5clqf8k6dqlgu1xt.o │ │ ├──  25z6atb52wfa5gz.o │ │ ├──  57eempr0ohaydqh7.o │ │ ├──  dep-graph.bin │ │ ├──  query-cache.bin │ │ └──  work-products.bin │ └──  s-ghtj9djr5p-5ce3hm.lock ├──  redmaple-25kcoshsv3nrl │ ├──  s-ghtja39rhx-4yazlx-2wp4uzsizmzzh │ │ ├──  dep-graph.bin │ │ ├──  query-cache.bin │ │ └──  work-products.bin │ └──  s-ghtja39rhx-4yazlx.lock ├──  redmaple-gt0foo3lj7dr │ ├──  s-ghtj9djr5o-dx0b61-3otkniju8045k │ │ ├──  2ucq7e978rdsf9h.o │ │ ├──  36xemgol34lgwb0.o │ │ ├──  47hng6b7wvqihie0.o │ │ ├──  110sx3k36i0yl66u.o │ │ ├──  dep-graph.bin │ │ ├──  kicmjdom53t5wbk.o │ │ ├──  query-cache.bin │ │ └──  work-products.bin │ └──  s-ghtj9djr5o-dx0b61.lock ├──  story-3tcitnkfz0wli │ ├──  s-gh58d45byx-l2mqib-36lk83cboyjbr │ │ ├──  dep-graph.bin │ │ ├──  query-cache.bin │ │ └──  work-products.bin │ └──  s-gh58d45byx-l2mqib.lock └──  story-25jtwnpps46n7 ├──  s-gh58d45c7h-k1790w-gesdwrqds1m5 │ ├──  dep-graph.bin │ ├──  query-cache.bin │ └──  work-products.bin └──  s-gh58d45c7h-k1790w.lock
    opened by amirography 0
  • using traits as EventGroups

    using traits as EventGroups

    • feat(): add inner-id for the events
    • feat(): add methods and test for creating a new redmaple
    • feat(): add store trait functions needed to get redmaples
    • ref(): improve typing
    • feat(): refactor into a much more flexible implementation using traits and generics
    opened by amirography 0
  • add tests

    add tests

    • feat(): add lints for clippy
    • feat(): clear up some borrowing and ownership motions in matching expressions
    • feat(): add test for id
    • feat(): add test for created
    opened by amirography 0
Releases(v0.7.0)
Owner
Amir Alesheikh
backend::{Go,Rust}::amir_alesheikh;
Amir Alesheikh
⚡ An extremely fast cross-compatible system information tool.

Lightfetch A extremely fast command-line system information tool written in Rust ⚡ . Gallery Sadly there isn't much to showcase right now. Download Av

bwtecode 2 Sep 12, 2022
⚡ An extremely fast cross-compatible system information tool.

Lightfetch A extremely fast command-line system information tool written in Rust ⚡ . Gallery Sadly there isn't much to showcase right now. Download Av

bwtecode 2 Sep 12, 2022
An extremely high performance logging system for clients (iOS, Android, Desktop), written in Rust.

Pinenut Log 中文文档 ・ English An extremely high performance logging system for clients (iOS, Android, Desktop), written in Rust. Overview Compression Pin

Tangent 4 Dec 1, 2023
⚡🦀 Yet another rust system info fetcher.

Yarsi: Yet another rust sys info fetcher ✨ Showcase requirements ?? cargo ?? install with $ curl https://sh.rustup.rs -sSf | sh installation ❤️‍?? Ya

BinaryBrainiacs 8 Jan 26, 2023
🌈 Brings back colour console to Win64 for Garry's Mod SRCDS

?? gmsv_concolormsg This module for Garry's Mod fixes x86-64 Windows 64-bit SRCDS not displaying colours. Why does it do that? Who knows! But it's eas

William 11 Oct 4, 2022
Adds back-and-forth jumping between current and previous focused windows to Sway.

sway-focus-back-and-forth Implements back-and-forth movement between the current and the previous focused windows. It also can be seen as a fix to thi

Vinícius Müller 4 Aug 11, 2022
Firefox used to have this feature a while back (from Firefox 11 to 46) and it is so good, that I feel it needs revival.

3D WebPage Inspector By: Seanpm2001, Et; Al. Top README.md Read this article in a different language Sorted by: A-Z Sorting options unavailable ( af A

Sean P. Myrick V19.1.7.2 3 Nov 10, 2022
Fixed point to floating point (and back) conversion utility

fixed2float Simple utility for fixed point to real number conversions, using the VisSim (Fxm.b) and Q (Qm.n) notations. Usage as a dependency of your

Francesco Urbani 2 Aug 5, 2022
Help Skelly to find bones, combine them to build his body back

Bones Collector Help Skelly to find bones, combine them to build his body back! Game made for the bevy Jam#2. Play it here in your browser: itch.io! R

Thomas 2 Nov 15, 2022
Remember how cool smlinux was? It's now time to bring it back.

smbuilder Remember how cool smlinux was? It's now time to bring it back. What is smbuilder? In short, smbuilder (stylized as all lowercase) is an app

ezntek 3 Apr 11, 2023
Generate and translate standard uuids into shorter formats and back.

short-uuid Generate and translate standard UUIDs into shorter or just different formats and back. A port of the JavaScript npm package short-uuid so b

Radim Höfer 3 Feb 28, 2024
This is a simple lnd poller and web front-end to see and read boosts and boostagrams.

Helipad This package will poll a Lightning LND node for invoices related to Podcasting 2.0 and display them in a web interface. It's intended for use

Podcastindex.org 26 Dec 29, 2022
A TUI front-end for the Debug Adapter Protocol.

Pesticide A TUI front-end for the Debug Adapter Protocol. Motivation I am an avid kakoune user. Kak is a very niche text editor with few users. As suc

raiguard 6 Jun 17, 2022
A run-codes cli front end with some extra features

run-cli Run-cli A run-codes cli front end with some extra features Report Bug · Request Feature Table of Contents About The Project Built With Getting

Matheus Vieira 13 Nov 16, 2022
HTTP client/libcurl TUI front end in Rust, with request + key storage

Rust TUI HTTP Client with API Key Management This project is still in active development and although it is useable, there may still be bugs and signi

Preston Thorpe 23 Nov 9, 2023
Send copy events over the network

Copiepate Copiepate is a small utility to remotely set the content of a clipboard. I created this tool as I frequently use a remote tmux+vim setup and

Loïc Carr 14 Jun 12, 2022
Recollection Notify you for daily, weekly, monthly and yearly events

Recollection Notify you for daily, weekly, monthly and yearly events. Usage Use recollectctl to manage the events, and run recollectd daemon to monito

Kaiyang Wu 3 Jun 28, 2022
A fully modular window manager, extremely extensibile and easily approachable.

AquariWM is a fully modular window manager, allowing extreme extensibility while remaining easily approachable. Installation AquariWM is currently in

AquariWM Window Manager 8 Nov 14, 2022
An extremely fast Python linter, written in Rust.

Ruff An extremely fast Python linter, written in Rust. Linting the CPython codebase from scratch. ⚡️ 10-100x faster than existing linters ?? Installab

Charlie Marsh 5.1k Dec 30, 2022