{"id":20731898,"url":"https://github.com/navapbc/template-application-flask","last_synced_at":"2025-12-27T05:26:38.258Z","repository":{"id":60309204,"uuid":"534776128","full_name":"navapbc/template-application-flask","owner":"navapbc","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-24T18:22:21.000Z","size":2429,"stargazers_count":9,"open_issues_count":40,"forks_count":5,"subscribers_count":31,"default_branch":"main","last_synced_at":"2025-04-24T19:32:14.547Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/navapbc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-09-09T19:18:02.000Z","updated_at":"2025-04-24T18:22:24.000Z","dependencies_parsed_at":"2023-10-14T15:55:54.618Z","dependency_job_id":"65d811c7-6f8f-4590-8dd2-584a8885179b","html_url":"https://github.com/navapbc/template-application-flask","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navapbc%2Ftemplate-application-flask","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navapbc%2Ftemplate-application-flask/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navapbc%2Ftemplate-application-flask/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/navapbc%2Ftemplate-application-flask/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/navapbc","download_url":"https://codeload.github.com/navapbc/template-application-flask/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253504526,"owners_count":21918825,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T05:16:55.056Z","updated_at":"2025-12-27T05:26:38.247Z","avatar_url":"https://github.com/navapbc.png","language":"Python","funding_links":[],"categories":["Flask"],"sub_categories":["Phaser"],"readme":"\u003cp\u003e\n  \u003cimg src=\"template/docs/assets/Nava-Strata-Logo-V02.svg\" alt=\"Nava Strata\" width=\"400\"\u003e\n\u003c/p\u003e\n\u003cp\u003e\u003ci\u003eOpen source tools for every layer of government service delivery.\u003c/i\u003e\u003c/p\u003e\n\u003cp\u003e\u003cb\u003eStrata is a gold-standard target architecture and suite of open-source tools that gives government agencies everything they need to run a modern service.\u003c/b\u003e\u003c/p\u003e\n\n\u003ch4 align=\"center\"\u003e\n  \u003ca href=\"https://github.com/navapbc/template-application-flask/blob/main/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-apache_2.0-red\" alt=\"Nava Strata is released under the Apache 2.0 license\" \u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/navapbc/template-application-flask/blob/main/CONTRIBUTING.md\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PRs-Welcome-brightgreen\" alt=\"PRs welcome!\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/navapbc/template-application-flask/issues\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/commit-activity/m/navapbc/template-application-flask\" alt=\"git commit activity\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/navapbc/template-application-flask/repos/\"\u003e\n    \u003cimg alt=\"GitHub Downloads (all assets, all releases)\" src=\"https://img.shields.io/github/downloads/navapbc/template-application-flask/total\"\u003e\n  \u003c/a\u003e\n\u003c/h4\u003e\n\n# Template Application Flask\n\n## Overview\n\nThis is a template application that can be used to quickly create an API using Python and the Flask framework. This template includes a number of already implemented features and modules, including:\n\n* Python/Flask-based API that writes to a database using API key authentication with example endpoints\n* PostgreSQL database + Alembic migrations configured for updating the database when the SQLAlchemy database models are updated\n* Thorough formatting \u0026 linting tools\n* Logging, with formatting in both human-readable and JSON formats\n* Backend script that generates a CSV locally or on S3 with proper credentials\n* Ability to run the various utility scripts inside or outside of Docker\n* Restructured and improved API request and response error handling which gives more details than the out-of-the-box approach for both Connexion and Pydantic\n* Easy environment variable configuration for local development using a `local.env` file\n\nThe template application is intended to work with the infrastructure from [template-infra](https://github.com/navapbc/template-infra).\n\n## Installation\n\nTo get started using the template application on your project:\n\n1. [Install the nava-platform tool](https://github.com/navapbc/platform-cli).\n2. Install template by running in your project's root:\n    ```sh\n    nava-platform app install --template-uri https://github.com/navapbc/template-application-flask . \u003cAPP_NAME\u003e\n    ```\n3. Follow the steps in `/docs/\u003cAPP_NAME\u003e/getting-started.md` to set up the application locally.\n4. Optional, if using the Platform infrastructure template: [Follow the steps in the `template-infra` README](https://github.com/navapbc/template-infra#installation) to set up the various pieces of your infrastructure.\n\n## Note on memory usage\n\nIf you are using [template-infra](https://github.com/navapbc/template-infra),\nyou may want to increase the [default\nmemory](https://github.com/navapbc/template-infra/blob/main/infra/modules/service/variables.tf#L33)\nallocated to the ECS service to 2048 Mb (2 Gb) to avoid the gunicorn workers\nrunning out of memory. This is because the application is currently configured\nto create multiple workers based on the number of virtual CPUs available, which\ncan take up more memory (see `/\u003cAPP_NAME\u003e/gunicorn.conf.py`).\n\n## License\n\nThis project is licensed under the Apache 2.0 License. See the [LICENSE](LICENSE) file for details.\n\n## Community\n\n- [Code of Conduct](CODE_OF_CONDUCT.md)\n- [Contributing Guidelines](CONTRIBUTING.MD)\n- [Security Policy](SECURITY.md)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnavapbc%2Ftemplate-application-flask","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnavapbc%2Ftemplate-application-flask","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnavapbc%2Ftemplate-application-flask/lists"}