The main project folder (<project_root>) contains the following files:
- local.settings.json - Used to store app settings and connection strings when running locally. This file doesn't get published to Azure. To learn more, see local.settings.file.
- requirements.txt - Contains the list of Python packages the system installs when publishing to Azure.
- host.json - Contains global configuration options that affect all functions in a function app. This file does get published to Azure. Not all options are supported when running locally. To learn more, see host.json.
- .vscode/ - (Optional) Contains store VSCode configuration. To learn more, see VSCode setting.
- .venv/ - (Optional) Contains a Python virtual environment used by local development.
- Dockerfile - (Optional) Used when publishing your project in a custom container.
- tests/ - (Optional) Contains the test cases of your function app. For more information, see Unit Testing.
- .funcignore - (Optional) Declares files that shouldn't get published to Azure. Usually, this file contains .vscode/ to ignore your editor setting, .venv/ to ignore local Python virtual environment, tests/ to ignore test cases, and local.settings.json to prevent local app settings being published.
Each function has its own code file and binding configuration file (function.json).