Skip to main content

Reusable AWS cloud workflow helpers for event booking applications.

Project description

eventbooking-cloud

eventbooking-cloud is a reusable Python library extracted from this project's AWS booking workflow. It helps applications coordinate the same core cloud services used in the app:

  • DynamoDB for booking records
  • SQS for queueing booking jobs
  • AWS Lambda for booking processing
  • SNS for email notifications
  • S3 for ticket storage

Installation

pip install eventbooking-cloud

What the library provides

  • A BookingRequest model for normalized booking input
  • A BookingResult model for normalized booking output
  • An EventBookingCloudClient class for:
    • saving booking records to DynamoDB
    • sending booking messages to SQS
    • subscribing user emails to SNS
    • invoking a booking Lambda function
    • building a safe app ticket URL

Example

from eventbooking_cloud import BookingRequest, EventBookingCloudClient

client = EventBookingCloudClient(
    region_name="us-east-1",
    users_table="Users",
    events_table="Events",
    bookings_table="Bookings",
    bucket_name="elasticbeanstalk-us-east-1-864148790210",
    queue_name="BookingQueue",
    topic_name="EventNotifications",
    lambda_name="event-booking-processor",
    app_base_url="https://example.com",
)

request = BookingRequest(
    booking_id="booking-123",
    event_id="event-456",
    event_name="Kala Events",
    username="lakshmi",
    email="lakshmi@example.com",
    ticket_access_token="secure-token",
    booked_at="2026-04-15T08:00:00+00:00",
)

client.store_booking(request)
client.enqueue_booking(request)
client.subscribe_email(request.email)
result = client.invoke_processor(request)

print(result.ticket_url)

Build for PyPI

From the project root:

python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*

This creates:

  • dist/*.tar.gz
  • dist/*.whl

Upload to TestPyPI

python -m twine upload --repository testpypi dist/*

Upload to PyPI

python -m twine upload dist/*

Recommended PyPI checklist

  • Create a PyPI account
  • Create a TestPyPI account
  • Generate an API token
  • Use the API token with twine
  • Verify the package page after upload

Notes for your viva

You can explain that the app itself is a Flask project, but the reusable AWS cloud workflow was separated into a Python package so the same booking logic can be reused in other projects and published through PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eventbooking_cloud-0.1.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eventbooking_cloud-0.1.0-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file eventbooking_cloud-0.1.0.tar.gz.

File metadata

  • Download URL: eventbooking_cloud-0.1.0.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for eventbooking_cloud-0.1.0.tar.gz
Algorithm Hash digest
SHA256 337c6abc9b6c468ca411a59ae44ee1e3ca0b70a2648a96c9373bd5c11c59b4d9
MD5 0f64716970a0f8cc1435148b39ac76a5
BLAKE2b-256 ed4c5a51c70b491183bba512aa5b0da2cf9e982871287dc1b59c90e526228f5b

See more details on using hashes here.

File details

Details for the file eventbooking_cloud-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for eventbooking_cloud-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 59da82be5123fb8951244f1aae4c2f6449da1d0bd56ad93a81ab561c6b70c0e7
MD5 025b0a779bdefe99c9634a88bb16ec8b
BLAKE2b-256 4af55672a98de4bd83b9f9156ecab17e66b1b95c25e7d289aacd2f5654c8040b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page