Ghelper



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 version

Released:

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

Ghelper

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.

Files for crhelper, version 2.0.10
Filename, sizeFile typePython versionUpload dateHashes
Filename, size crhelper-2.0.10-py3-none-any.whl (13.2 kB) File type Wheel Python version py3 Upload dateHashes
Filename, size crhelper-2.0.10.tar.gz (11.2 kB) File type Source Python version None Upload dateHashes
Close

Hashes for crhelper-2.0.10-py3-none-any.whl

Hashes for crhelper-2.0.10-py3-none-any.whl
AlgorithmHash digest
SHA2568f05516ca8b7a340fbaedbc1a463e2cb8d53c0670cd2f7723c8b8098c65bf27d
MD5dd0f8acc7bd443f403ff8f58d9fdc491
BLAKE2-256bdbcecf0c308b4d92490792ee1955800fdf20e9945a6b7adaf3bf2945df605cd
Close

Hashes for crhelper-2.0.10.tar.gz

Hashes for crhelper-2.0.10.tar.gz
AlgorithmHash digest
SHA2561ed61609dd81439b5f3f5e716e690604f8535b9f640149342ef3a89c8e0ab7bd
MD594a3ffa59c20af0fd563aa5c7493bce9
BLAKE2-2567d0fc44e7d611d8ffc2e32fa12fb5ae1b91ff5d1f00f8e9c43475254e7b1f230
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! In this game you control a slithering snake, or worm, or whatever you call it; your goal is to collect as much energy as possible and don't let others stop you! Avoid collisions, be smart with your strategy, team with other players, and make your way to the top of the global leaderboard!

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

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@MyRoom

Helper 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.

Settings

There is a Settings menu, that can be opened by clicking the gearwheel button in the top right corner of the screen. The menu allows to tweak certain options, such as showing/hiding leaderboard, player nicknames and minimap. There are also Graphics and Framerate switches, that may help to achieve smoother gameplay on low-end devices. And finally, for mobile devices, you can choose between two control schemes, joystick and arrow.

Contact details

If you would like to give a feedback or have some questions, you can send an email to hello@=dummy=gulper.io, or get in touch with us via Twitter here.