Skip to main content

No project description provided

Project description

Plastic Yellow Bird (aka "PyB"): a Test and Observability Driven Development Framework for AWS CDK

plastic-yellow-bird is a test framework that introduces a whole new approach to monitoring, observability, and infrastructure development. It lets you to accomplish one thing as simply as possible: use the same code you write to verify your infrastructure as your monitoring and alerting stack in production.

By using plastic-yellow-bird, your team can:

  • write end-to-end functional and infrastructure tests as easily as you write unit or integration tests
  • create AWS Synthetics Canaries with as little boilerplate as possible
  • develop a planned production monitoring scheme from the project's outset
  • harvest the effort spent writing automated functional tests as zero-cost, thoughtful baseline production monitoring
import plastic_yellow_bird as pyb
import requests

@pyb.canary
def test_api_endpoint_returns_200_with_get(cdk_app):
    response = requests.get(cdk_app.api_stack.api.url)
    assert response.status_code == 200

Imagine you create the above test file in a CDK project directory that contains an Amazon API Gateway CDK app. By using plastic-yellow-bird, which is based on pytest, simply running pytest, plastic-yellow-bird would deploy your CDK app and launch the test_api_endpoint_returns_200_with_get code as an AWS Synthetics Canary in the same account, then wait for the Canary to run and report a status. plastic-yellow-bird would then report this test's Pass or Fail state just like any other pytest test result, based on the status of the Canary. In other words, if the Canary launched by plastic-yellow-bird succeeded, your test would be reported as passing, and if the Canary failed, the test would be reported as failing.

Design Principles

  • Most use cases should require nothing more than test code and a decorator to indicate a PyB test
    • "Make simple things simple, and complex things possible" - Alan Kay
  • Code should be beautiful
  • Developers are smart and capable of doing incredibly difficult things, but using this tool shouldn't be one of those incredibly difficult things
  • If no one uses this in real projects, we've failed

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

plastic-yellow-bird-0.2.dev0.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

plastic_yellow_bird-0.2.dev0-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file plastic-yellow-bird-0.2.dev0.tar.gz.

File metadata

File hashes

Hashes for plastic-yellow-bird-0.2.dev0.tar.gz
Algorithm Hash digest
SHA256 25a030a49a1f329e6e04c5e23876376288541699ba4e2b0751b64f14e99db471
MD5 ea72a7a822768cb83789da3ad5d245b9
BLAKE2b-256 39578928125094e12ebfc0f62ff57968503ab848b32e2f5d9c47fad32dc0fb85

See more details on using hashes here.

File details

Details for the file plastic_yellow_bird-0.2.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for plastic_yellow_bird-0.2.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4f2fe02fed7507183fe0071c6447ba3abc4ada7989afb9e98f0a3c322a8d9ab
MD5 dd94fc51e0e9c01c53cccd2223e764ad
BLAKE2b-256 43a7742fe664a69293d4083a75e6605dadfd554528db7cad8a33dd841d7be81e

See more details on using hashes here.

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