A Flask-based lease management system with AWS integration
Project description
Lease Management System Library
A Flask-based lease management system library with AWS integration for property owners to manage tenants, leases, and automated notifications.
Features
- Property and tenant management
- Lease document upload with S3 storage
- Rent due date tracking
- Lease expiration monitoring
- Automated SNS notifications (5 days before rent due, 1 month before lease expiry)
- Lambda integration for lease expiry alerts
Installation
pip install lease-management-system
Quick Start
from lease_management import create_app
app = create_app()
app.run(debug=True)
Configuration
Set the following environment variables:
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
DYNAMODB_TABLE_PROPERTIES=properties
DYNAMODB_TABLE_TENANTS=tenants
DYNAMODB_TABLE_LEASES=leases
S3_BUCKET_NAME=lease-documents
SNS_TOPIC_ARN=arn:aws:sns:region:account:lease-notifications
API Endpoints
POST /api/properties- Add propertyPOST /api/tenants- Add tenantPOST /api/leases- Create lease with document uploadGET /api/leases/<lease_id>- Get lease detailsGET /api/leases/<lease_id>/document- Get presigned URL for lease documentGET /api/leases- List all leases
AWS Architecture
The system uses the following AWS services:
- DynamoDB: Three tables (properties, tenants, leases)
- S3: Lease document storage with presigned URLs
- SNS: Notification delivery
- Lambda: Automated lease expiry checks (triggered daily via CloudWatch Events)
Publishing to PyPI
See PYPI_PUBLISH.md for detailed instructions.
Quick steps:
pip install build twine
python -m build
python -m twine upload dist/*
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lease_management_system-0.0.1.tar.gz.
File metadata
- Download URL: lease_management_system-0.0.1.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a4f6b094c272330f72bf5b5f588e47b38867657cced9bbf1dbb3daf3868fa5c
|
|
| MD5 |
a1e52aa5ab0feb4668712fafff90580d
|
|
| BLAKE2b-256 |
66da3dee8918de204ff00955ffb9627db0fbbb5fb7b8a1cc21849d27148588b5
|
File details
Details for the file lease_management_system-0.0.1-py3-none-any.whl.
File metadata
- Download URL: lease_management_system-0.0.1-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1e1676f227f553632bd5644dc369ff4dae5a047b5c99b7214bf9f8bae10cd69
|
|
| MD5 |
5f1b06fac662d470e285d5844f87e57e
|
|
| BLAKE2b-256 |
02286a307599645f44a8c38a257e63c667565b8e47523b1fe17fd55bed9a0132
|