Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Proposal: Introduce configurable Rules for scan classification, summarization, refinements and inference #1012

Open
pombredanne opened this issue Mar 28, 2018 · 0 comments

Comments

@pombredanne
Copy link
Member

In relation to #426 "high level file classification", #377 "Scan deduction and summarization" and #772 "Post-scan plugin for license summarization" we need to express in a configurable way what kind of of summarization or classification processing should be done. This should be configurable and calls for some rules engine of sorts. Yet there are few rules engines libraries in Python. Why? I think that Python ends up being a pretty decent language for writing clear logic for such rules.

So the idea there would be to avoid building a complex rules system or using yet another language to express these rules. Instead we would use Python scripts (possibly as simple plugins) that would express the possibly complex required logic and expose this with a name/id. Then allow to compose these rules to apply using CLI args and a/the configuration file referencing these names.

A very simple way for rules is the "--ignore" system, but that very quickly shows some limitations. Using programmatic rules written in Python instead would be much more flexible.

This approach would offer IMHO the best combo of flexibility and simpler implementation.

@pombredanne pombredanne changed the title Proposal: Introduce configurable Rules for scan summarization, refiments and inference Proposal: Introduce configurable Rules for scan classification, summarization, refinements and inference Mar 28, 2018
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

1 participant