Feature extraction for complex data
Go to file
2021-10-29 10:59:38 +03:00
.github/workflows ci: Add rebar cache and switch to complete _build (#4) 2021-05-31 10:25:49 +03:00
include ED-138/feat/initial implementation (#1) 2021-09-29 11:09:47 +03:00
src Fix: Fix list_diff_fields for top-level unions (#6) 2021-10-29 10:59:38 +03:00
test Fix: Fix list_diff_fields for top-level unions (#6) 2021-10-29 10:59:38 +03:00
.gitignore ED-138/feat/initial implementation (#1) 2021-09-29 11:09:47 +03:00
CODEOWNERS chore: Add CODEOWNERS 2021-05-14 15:26:47 +03:00
elvis.config ED-138/feat/initial implementation (#1) 2021-09-29 11:09:47 +03:00
LICENSE Initial commit 2021-04-30 12:09:41 +03:00
Makefile ED-138/feat/initial implementation (#1) 2021-09-29 11:09:47 +03:00
README.md ED-138/feat/initial implementation (#1) 2021-09-29 11:09:47 +03:00
rebar.config ED-138/feat/initial implementation (#1) 2021-09-29 11:09:47 +03:00
rebar.lock ED-138/feat/initial implementation (#1) 2021-09-29 11:09:47 +03:00

feat

Library for extracting features (values) from data.

Primary usage: to achieve idempotency of requests to a service and detect conflicts.

Build

To compile the project:

make

To run all the checks (used in Github Actions CI) locally, act and Docker is required:

act

TODO

  • Big TODO: runtime schema validator (can be used during testing)
    • schema format
    • conflicting nested schemas in map schemas under the same name (see example below)

Example of conflict in nested schemas:

#{1 => {<<"a">>, #{11 => <<"b">>}},
  2 => {<<"a">>, {set, #{...}}}}

This is incorrect because a set and a map can't be stored under the same key. Although generally this behaviour is desirable (for extra flexibility in complex structures), cases like above must be checked.