Welcome to gulper.io, a modern mix of the classic snake and Tron lightcycles games, but against real players this time. It runs directly in your browser, so you don't need to download anything — just enter your nickname and play! Worksheets, learning resources, and math practice sheets for teachers to print. Weekly workbooks for K-8. The homework site for teachers!
Latest versionReleased:
crhelper simplifies authoring CloudFormation Custom Resources
Project description
Custom Resource Helper
Simplify best practice Custom Resource creation, sending responses to CloudFormation and providing exception, timeouttrapping, and detailed configurable logging.
Features
- Dead simple to use, reduces the complexity of writing a CloudFormation custom resource
- Guarantees that CloudFormation will get a response even if an exception is raised
- Returns meaningful errors to CloudFormation Stack events in the case of a failure
- Polling enables run times longer than the lambda 15 minute limit
- JSON logging that includes request id's, stack id's and request type to assist in tracing logs relevant to aparticular CloudFormation event
- Catches function timeouts and sends CloudFormation a failure response
- Static typing (mypy) compatible
Installation
Install into the root folder of your lambda function
Example Usage
This blog covers usage in more detail.
Polling
If you need longer than the max runtime of 15 minutes, you can enable polling by adding additional decorators forpoll_create
, poll_update
or poll_delete
. When a poll function is defined for create
/update
/delete
thefunction will not send a response to CloudFormation and instead a CloudWatch Events schedule will be created tore-invoke the lambda function every 2 minutes. When the function is invoked the matching @helper.poll_
function willbe called, logic to check for completion should go here, if the function returns None
then the schedule will run againin 2 minutes. Once complete either return a PhysicalResourceID or True
to have one generated. The schedule will bedeleted and a response sent back to CloudFormation. If you use polling the following additional IAM policy must beattached to the function's IAM role:
Certificate Verification
To turn off certification verification, or to use a custom CA bundle path for the underlying boto3 clients used by this library, override the ssl_verify
argument with the appropriate values. These can be either:
False
- do not validate SSL certificates. SSL will still be used, but SSL certificates will not be verified.path/to/cert/bundle.pem
- A filename of the CA cert bundle to uses. You can specify this argument if you want to use a different CA cert bundle than the one used by botocore.
Credits
Decorator implementation inspired by https://github.com/ryansb/cfn-wrapper-python
Log implementation inspired by https://gitlab.com/hadrien/aws_lambda_logging
License
This library is licensed under the Apache 2.0 License.
Release historyRelease notifications | RSS feed
2.0.10
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
1.0.0
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size crhelper-2.0.10-py3-none-any.whl (13.2 kB) | File type Wheel | Python version py3 | Upload date | Hashes |
Filename, size crhelper-2.0.10.tar.gz (11.2 kB) | File type Source | Python version None | Upload date | Hashes |
Hashes for crhelper-2.0.10-py3-none-any.whl
Algorithm | Hash digest |
---|---|
SHA256 | 8f05516ca8b7a340fbaedbc1a463e2cb8d53c0670cd2f7723c8b8098c65bf27d |
MD5 | dd0f8acc7bd443f403ff8f58d9fdc491 |
BLAKE2-256 | bdbcecf0c308b4d92490792ee1955800fdf20e9945a6b7adaf3bf2945df605cd |
Hashes for crhelper-2.0.10.tar.gz
Algorithm | Hash digest |
---|---|
SHA256 | 1ed61609dd81439b5f3f5e716e690604f8535b9f640149342ef3a89c8e0ab7bd |
MD5 | 94a3ffa59c20af0fd563aa5c7493bce9 |
BLAKE2-256 | 7d0fc44e7d611d8ffc2e32fa12fb5ae1b91ff5d1f00f8e9c43475254e7b1f230 |
How to play
The controls are the following: move your mouse to change the movement direction and hold the left mouse button or Space key to gain a speed boost. While you are accelerated your length decreases gradually, and so does your score.Google Ghelper
The game is also adapted for playing on touch-screen devices: slide your finger to move around, and press anywhere with another finger and hold to accelerate.
Rooms
You can join or create a particular room by entering its name in the Nickname input field after the nickname itself and the @ symbol (for example, Player@MyRoomHelper T Cells
). If the specified room exists on the automatically chosen game server, and the room is not full yet, you'll join it.There are two kinds of rooms: public and private. Public rooms are created automatically, and player join them when they enter nickname only.
Players can create private rooms to play with their friends by entering the same room name after the @ symbol. If enough players attempt to join a private room during certain time interval, the private room will be created and the waiting players will join it; otherwise, they will automatically join one of the public rooms (the same one) on the game server.