Guide
Help
Browse Gramex questions
See what others have asked, or answer them.
Report a bug
We'll respond in 24 hrs.
Email us for support
We're available cto@gramener.com.
Gramex Guide
Search
Overview
Quickstart tutorial
Dashboard tutorial
Charts tutorial
Dropdown tutorial
ML app tutorial
Fixing SQL injection
Exercises
Usage
Install Gramex
Gramex init
Configurations
Capturing state
Deployment patterns
Debugging Gramex
Security
Testing Gramex
Gramex Features
Complexity
Tips
VS Code Snippets
Contributing
Microservices
FileHandler
FormHandler
FunctionHandler
Auth handlers
DriveHandler
CaptureHandler
MLHandler
MLPredictor
PPTXHandler
ComicHandler
OpenAPIHandler
MessageHandler
ChatGPTHandler
FilterHandler
JSONHandler
ProxyHandler
ProcessHandler
WebSocketHandler
TwitterRESTHandler
FacebookGraphHandler
Write handlers
API rate limits
Libraries
TopCause
Cache requests
Send email
Smart alerts
Logging
Schedule tasks
Watch files
Apps
Run apps
Admin page
Charts
UI Components
UIFactory
g1
Mapviewer
View logs
Language Tool
Product
Gramex Roadmap
Release notes
Editions
FAQ
Reference
License
API Reference
Link check
Tips & Tricks
Reuse code
Duplicated Python code is a common problem. Here are suggestions to reduce that.
Use loops to avoid duplication
Group common code into functions
Look up values to handle variations
Store data in data files, not Python files
Gramex Tips
Reuse YAML Configurations
Cache and Open files in Gramex
Automatically fixing Python build errors
Function reloading
Using YAMLURL and YAMLPATH
Finding slow code
Websockets
Send email via command line
Testing build errors locally
Schedule tasks at periodic internal
File upload and processing
FormHandler: filtering data
Filter data using url
File download
Guide to anonymising confidential data
Serve multiple files using single URL
Automated email alerts in Gramex
Logins for apps on UAT
Cache calculations in Gramex
Customized errors in Gramex
Debugging CaptureHandler for screenshots
FormHandler: views instead of query
Conditions in Gramex
Windows IntegratedAuth - Kerberos authentication
FormHandler: enhancements
Conditional configurations in Gramex
YAML supports multi-line strings
Securing Gramex deployments
FormHandler: Database or File edits
Gramex Configurations
Initialize Gramex Projects
Gramex console shows handler name