Python
AE-Python is part of AE-BaseApp a Multi-Platform Google App Engine Base Application Project. This version is based on Google's webapp2 Framework and Python Language.
Install / Use
/learn @AE-BaseApp/PythonREADME
AE-Python - Python / webapp2 / Google App Engine Base App
AE Python BaseApp
AE-BaseApp is a multi-platform app-engine base-app created by Mark Finch to assist developers looking to build their first applications leveraging Google's Cloud Infrastructure. AE-Python is loosely based on the video from Brett Slatkin introducing Google App Engine at Google IO 2008.
The AE-Python version of AE-BaseApp uses the Python Language along with the webapp2 Framework to provide a simple application base to launch new Google App Engine Applications from.
Features of version 4 include ad provider integration, examples of how to use basic templates, access the datastore to create and read, user authentication & registration.
Accomplished:
- Version 1
- Ad-Sense Integration
- Basic Template Usage
- Access the Datastore to create and Read
- Version 2
- Updated to Python 2.7
- Updated to Webapp2
- Configured for High Replication Datastore
- User Authentication
- OpenID
- Basic User Registration
- Basic Application Security
- Basic Ad-Provider Framework
- Basic Admin Framework
- Basic Authentication Decorator
- Version 3
- Date/Time Conversion from UTC
- User Profile Time Zone Picker
- Admin Default Time Zone Selector
- Store User IP from Headers
- Email Account Validation
- Strip Shouts to remove formating and scripts
- Error Pages (eg 404...)
- Version 4
- Swapped PYTZ for GAEPYTZ
- db.Model Upgrades
- Transition to MVC Design Pattern
- Changed the default time zone in profile.html to Los Angeles
- Added Info Email Address and Processing
- Added Gravatars to Email and Shouts
- Added Django Template Filters
- Updated env_vars.py to set a default ad_provider and default_tz
- Basic JavaScript form validation
- Add Internal Validation
Project Road Map:
- Version 4
- Add Shout update and delete functionality
- Page Security (In Progress need to double check page access)
Look at overall ability to use base app as template for new app from Git
Decide what needs to be done to make the application more of a template
- Version 5
- Shout Navigation
- Add OpenID URL based Authentication
- Add OAuth
- Add Facebook Connect
- Add Avatars beyond Gravatars
- Migrate Info email attachments to blobstore
- Navbar
- Planned Features
- Application Logging
- Error Handling
- Compare Performance of Lazy Handlers
- Add Docstrings to source files (PEP 257)
- Update model to key based
- Setup Memcahce
- Add MarkDown or similar functionality
- Cron job for cleaning profiles and validate data
- Email Validation Manual Entery Form
- Enable User Update and Delete Functionality
- Search (by user, by content, by date)
- Robust Admin Module
- Geo Location (initial using location header, )
- Add From Location
- Add MiniMap popout
- Integrate with Twitter / Facebook / ...
- Rails style Flash Notice / Warning
- Many many more!!!
Application Stack:
- Google App Engine Python
- Google webapp2 Framework
- Django Templates
- Blueprint CSS Framework
- PyTZ Time Zone Framework
Issues:
- THIS APP IS NOT PRODUCTION READY!!!
- Read the file ISSUES to see a list of known issues and resolutions.
No Warranties:
There are no warranties expressed or implied. Use at your own RISK!
Setup:
- Edit the app.yaml file to change the application name.
- Run the dev server.
- You will be greeted with a 500 Error, go to the
/loginpage and login/create an admin user. - Visit
/adminpage to setup the default environment variables. - Go back to the home page and double check everything is working.
- Hack away, but remember you break it you bought it! wink [1][1]
License:
AE-Python BaseApp source code is licensed under the Apache 2.0 License.
Please check the file LICENSE to see other licenses that impact this project.
Notes:
- [1] The corollary is you got what you paid for!
Related Skills
node-connect
343.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
92.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
