Skip to main content

Run python based static file linters on AWS lambda.

Project description

lintipy

AWS Lambda handlers for GitHub events wrapped in SNS messages.

How it works

workflow

The services is designed following event-driven architecture. It is solely based upon AWS services. Namely AWS Lambda as event consumers and emitters as well as consumers and AWS SNS as channels.

The exchange of events between AWS and GitHub is done using CRUD HTTP methods. Events coming from GitHub are transferred to SNS using a small API Gateway service called github-webhook-lambda. This part is not displayed in the sequence diagram above. Essentially each event coming from GitHub forwarded to a SNS. The topic of the SNS event is the same as the GitHub event type.

Note that the check suite does not interact directly with the check runs nor via SNS. We rely on GitHub to trigger the correct events. This means that initial running of a check or rerunning it using the GitHub interface are treated identically.

Usage

from lintipy import CheckRun

handle = CheckRun.as_handler('PEP8', 'pycodestyle', '.')

See also:

This package is used on FussyFox

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lintipy-1.4.3.tar.gz (11.7 kB view hashes)

Uploaded Source

Built Distribution

lintipy-1.4.3-py2.py3-none-any.whl (9.4 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page