This project has been archived by its maintainers, and is no longer receiving any updates.
spine-core-aws-common
Common code used across Spine projects in AWS
[!IMPORTANT] The spine-core-aws-common python package is no longer supported. The package and its source code will remain publicly available but no further development is planned.
Installation
Simply add the pre-built package to your python environment.
The latest version can be obtained with the following curl command if your system has it present:
package_version=$(curl -SL https://github.com/NHSDigital/spine-core-aws-common/releases/latest | grep -Po 'Release v\K(\d+.\d+.\d+)' | head -n1)
Or you can set a specific version:
package_version="0.2.3"
Alternatively the main page of this repo will display the latest version i.e. 0.2.3, and previous versions can be searched, which you can substitute in place of ${package_version} in the below commands.
PIP
pip install https://github.com/NHSDigital/spine-core-aws-common/releases/download/v${package_version}/spine_aws_common-${package_version}-py3-none-any.whl
requirements.txt
https://github.com/NHSDigital/spine-core-aws-common/releases/download/v${package_version}/spine_aws_common-${package_version}-py3-none-any.whl
Poetry
poetry add https://github.com/NHSDigital/spine-core-aws-common/releases/download/v${package_version}/spine_aws_common-${package_version}-py3-none-any.whl
Usage
TBC
Quick example
from spine_aws_common import LambdaApplication
class MyApp(LambdaApplication):
def initialise(self):
# initialise
return
def start(self):
# do actual work
# to set response for the lambda
self.response = '{"my new response":true}'
return
# create instance of class in global space
# this ensures initial setup of logging/config is only done on cold start
app = MyApp(additional_log_config='/path/to/mylogconfig.cfg')
def lambda_handler(event, context):
return app.main(event, context)
API Gateway example
from spine_aws_common import APIGatewayApplication
from aws_lambda_powertools.event_handler.api_gateway import Response
class MyApp(APIGatewayApplication):
def get_hello(self):
return Response(
status_code=200, content_type="application/json", body='{"hello":"world"}'
)
def get_id(self, _id):
response_dict = {"id": _id}
return Response(
status_code=200,
content_type="application/json",
body=json.dumps(response_dict),
)
def configure_routes(self):
self._add_route(self.get_hello, "/hello")
self._add_route(self.get_id, "/id/<_id>")
# create instance of class in global space
# this ensures initial setup of logging/config is only done on cold start
app = MyApp(additional_log_config='/path/to/mylogconfig.cfg')
def lambda_handler(event, context):
return app.main(event, context)
Metadata
Release files for spine-aws-common 0.2.16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| spine_aws_common-0.2.16.tar.gz | 21.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spine_aws_common-0.2.16-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 52.4 kB
Release files / spine_aws_common-0.2.16.tar.gz
| Download URL | spine_aws_common-0.2.16.tar.gz |
|---|---|
| Size | 21.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
841e9f389ccba1804d07755069704eb870a336d576ee6dbf525fd6675876e82e
|
|
BLAKE2b-256 checksum How to use checksums |
523f90a2c2f5392b4f13b92d7f60faff3a22b6b32cd78e51ee1c7b683c0d69a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Release files / spine_aws_common-0.2.16-py3-none-any.whl
| Download URL | spine_aws_common-0.2.16-py3-none-any.whl |
|---|---|
| Size | 30.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3f9c4fbd11a7644daed3fd2fbbc4dec121682b817c7926d4bd785291bcea9e6a
|
|
BLAKE2b-256 checksum How to use checksums |
c504727f2702786ec4fafb11de744e3b95053c87cfea7c13d467aa2ce04cd716
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|