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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.