App authoring guidelines
This page contains guidelines for publishers who are writing Frappe apps to publish on the Frappe Cloud Marketplace
- We recommend having a settings doctype in your app to configure global behaviour of your app's functionality.
Make sure your app supports the current stable version of Frappe and ERPNext (if applicable). You can also write version specific code by checking the version of these apps in your python code:
from frappe import __version__ as frappe_version from semantic_version import Version if Version(frappe_version).major >= 13: # version 13 or above else: # version 12 or below
- Don't override base functionalities provided by Frappe. For e.g., Frappe ships with authentication pages like /login for Login & Sign Up, /update for resetting passwords. If you override these, you will have to implement their functionality again.
- Extend base functionalities by using hooks provided by the framework.