question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Improvement: Publish the python library separate to the Reference Implementation

See original GitHub issue

So I tried to implement StreamAlert today. As someone with pretty good experience in AWS I felt like the “tools” used to make things easy hindered me rather than helped me. The python library is ideally all I need, I can build the rest and do it using the tools I prefer to use instead of trying to understand how the existing implementation is built.

Ideally the RuleHelper, RuleEngine and Classifier are all that are required for the simplest python library. The rest (including the Sink function) are more a Reference Implementation than a part of the core library, there are various ways to implement them depending on your requirements.

My strong but weakly held opinion is that this repository blurs the lines between the StreamAlert core rules engine and the infrastructure implementation; they are too tightly coupled. For example:

  • The same configuration that feeds the Classifier is used to generate the Terraform manifest.
  • The sink function is part of the same code base as the function that generates the alert.
  • There’s a function that packages and deploys Lambda functions, when many tools already exist that do this (Apex and Serverless)

Don’t get me wrong, I 😍 that you’ve provided the automation example of how to implement this and I wish more OSS projects would do it too.

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
jacknagzcommented, Mar 3, 2017

Hey @patrobinson, we recently implemented the ability to return a list of alerts from rule processing instead of handling it with SNS. We have plans to work towards making the code a standalone Python package

0reactions
jacknagzcommented, Feb 14, 2017

@patrobinson we can definitely make that work! Can you make a new issue for this request? (or maybe send a PR which provides this functionality 😄 )

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to Publish an Open-Source Python Package to PyPI
Python Application Layouts discusses several different options. The steps below for publishing to PyPI will work independently of the layout ...
Read more >
Packaging Python Projects
This tutorial walks you through how to package a simple Python project. It will show you how to add the necessary files and...
Read more >
PEP 639 – Improving License Clarity with Better Package ...
Describes a reference implementation, analyzes numerous potential alternatives, includes detailed examples, explains user scenarios and surveys ...
Read more >
PEP 1 – PEP Purpose and Guidelines
PEP stands for Python Enhancement Proposal. A PEP is a ... Once a PEP has been accepted, the reference implementation must be completed....
Read more >
PEP 690 – Lazy Imports - Python Enhancement Proposals
If two different modules ( moda and modb ) both contain a lazy import foo , each module's namespace dictionary will have an...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found