Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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

Metadata

Release files for plastic-yellow-bird 0.2.dev0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for plastic-yellow-bird 0.2.dev0
File Size Uploaded Provenance Actions
plastic-yellow-bird-0.2.dev0.tar.gz 2.9 kB Without provenance Details for plastic-yellow-bird-0.2.dev0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for plastic-yellow-bird 0.2.dev0
File Interpreter ABI Platform Actions
plastic_yellow_bird-0.2.dev0-py3-none-any.whl Python 3 none any Details for plastic_yellow_bird-0.2.dev0-py3-none-any.whl

Total release size: 6.3 kB

Release files / plastic-yellow-bird-0.2.dev0.tar.gz

Download URL plastic-yellow-bird-0.2.dev0.tar.gz
Size 2.9 kB
Tags Source
SHA-256 checksum
How to use checksums
25a030a49a1f329e6e04c5e23876376288541699ba4e2b0751b64f14e99db471
BLAKE2b-256 checksum
How to use checksums
39578928125094e12ebfc0f62ff57968503ab848b32e2f5d9c47fad32dc0fb85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.12

Release files / plastic_yellow_bird-0.2.dev0-py3-none-any.whl

Download URL plastic_yellow_bird-0.2.dev0-py3-none-any.whl
Size 3.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f4f2fe02fed7507183fe0071c6447ba3abc4ada7989afb9e98f0a3c322a8d9ab
BLAKE2b-256 checksum
How to use checksums
43a7742fe664a69293d4083a75e6605dadfd554528db7cad8a33dd841d7be81e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.12

Security for plastic-yellow-bird 0.2.dev0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page