{"id":32641081,"url":"https://github.com/aswinmurali-io/flask-template-minimal","last_synced_at":"2025-10-31T02:55:15.762Z","repository":{"id":45786789,"uuid":"255238198","full_name":"aswinmurali-io/flask-template-minimal","owner":"aswinmurali-io","description":"⚡ A minimal flask project template with no bloat code","archived":false,"fork":false,"pushed_at":"2020-04-15T05:59:19.000Z","size":13,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-08T04:55:27.321Z","etag":null,"topics":["flask","minimal","python","template"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aswinmurali-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-13T05:20:44.000Z","updated_at":"2022-07-16T12:48:48.000Z","dependencies_parsed_at":"2022-07-16T23:46:02.455Z","dependency_job_id":null,"html_url":"https://github.com/aswinmurali-io/flask-template-minimal","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/aswinmurali-io/flask-template-minimal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aswinmurali-io%2Fflask-template-minimal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aswinmurali-io%2Fflask-template-minimal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aswinmurali-io%2Fflask-template-minimal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aswinmurali-io%2Fflask-template-minimal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aswinmurali-io","download_url":"https://codeload.github.com/aswinmurali-io/flask-template-minimal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aswinmurali-io%2Fflask-template-minimal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281920164,"owners_count":26583946,"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","status":"online","status_checked_at":"2025-10-31T02:00:07.401Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["flask","minimal","python","template"],"created_at":"2025-10-31T02:55:00.231Z","updated_at":"2025-10-31T02:55:15.756Z","avatar_url":"https://github.com/aswinmurali-io.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flask Python Basic Template\n\nThis is a starter flask template for building web and hybrid desktop apps with support\nfor webview in desktop environment and web backend for mobile environment. There is a\nbuild script for desktop `pyinstaller.spec` using pyinstaller and mobile `buildozer.spec`\nusing the buildozer package.\n\n\u003e This project does not come with any web framework included so you have a fresh project code base with no bloat code. This is intended as a new minimal project template\n\n[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/dwyl/esta/issues)\n![alt text](https://www.python.org/static/community_logos/python-powered-w-100x40.png \"Python\")\n\n## Pre-Organised Project Structure\n\nThe project's project directory is pre organised for flask development so the developers can just focus on their task\n\n## Pre-Optimised Build Script\n\nThe build scripts are pre optimised for size and therefore contains a lot of excludes\nin the build script. This means you need to check the excludes list to remove the packages\nyour using for the project.\n\n## Dependencies\n\nThis project template contain the required basics such `SQLite` for database, `Flask` as the web framework\n\n## Configure the project\n\nThe recommended way is to use a virtual environment and then install the packages\nthere instead of using system site packages\n\n```shell\n    python -m venv packages\n```\n\nTo activate the virtual environment type the following command\n\n```shell\n    ./packages/Scripts/activate (if in windows)\n    source /packages/bin/activate (if other platform)\n```\n\nTo install the project dependies type the following\n\n```shell\n    pip install -r requirements.txt\n```\n\nTo deactive the virtual environment type the following\n\n```shell\n    deactivate\n```\n\n## Preview the project\n\nTo start flask app as a desktop web app type the following command\n\n```shell\n    python main.py\n```\n\nTo start flask app as a localhost server type the following command\n\nin windows `set FLASK_APP=hello.py`\nin linux `export FLASK_APP=\"hello.py\"`\n\n```shell\n    flask run\n```\n\n## Android toolchain dependencies\n\nTest to work in Ubuntu 18.04 (64-Bit)\n\n```shell\n    sudo apt update\n    sudo apt install -y git zip unzip openjdk-8-jdk python3-pip autoconf libtool pkg-config \\\n    zlib1g-dev libncurses5-dev libncursesw5-dev libtinfo5 cmake libffi-dev\n    pip3 install --user --upgrade cython virtualenv\n    export PATH=$PATH:~/.local/bin/\n```\n\nFor buildozer related troubleshooting refer https://buildozer.readthedocs.io/en/latest/installation.html\n\n## Building the project\n\n### Desktop\n\nTo build the project in desktop platform (windows, linux, mac, etc), type the following command\n\n```shell\n    pyinstaller pyinstaller.spec\n```\n\n\u003e There is a lot of excludes in the `pyinstaller.spec` file. Remember to uncomment libraries if your using it\n\n\u003e It is recommended not use UPX for reducing the size of the application as it is known to break the `vcruntime140.dll` used by pyinstaller in windows\n\n### Mobile\n\n\u003e To build applications in mobile platform you need the linux platform because of some tools used by the toolchain not working in windows. If your in windows then use the windows subsystem for linux to get linux terminal in windows\n\n\u003e The first build time will be very long but later on will be cached to make it faster and also there will be a lot to download such as the necessary SDKs, etc\n\nTo build the project in mobile platform (android, ios) type the following command\n\n```shell\n    buildozer android debug run\n```\n\n\u003e If errors occur in the android toolchain it is recommended to clean the project using the command `buildozer android clean`\n\n\u003e If you get build errror then go to `buildozer.spec` file and change `pka.fork` as `kivy` or `pygame` and and also type to change the android branch `pka.branch` as `develop` or `master`. You might need to try these combinations.\n\n## Android Logging\n\nTo see the logs of your compiled android app enable `Developer Mode` and enable the `USB Debugging` option inside it. Then open a terminal and type the following command.\n\n\u003e To get the log you need adb (Android Debug Bridge) installed in your system\n\n```shell\n    adb -d logcat *:S python:D\n```\n\n## Type checking\n\nIt's a good practice to use type checking in your project. Python supports type annotations.\nThe `mypy` package can check if the project contains type issues. Run the following command\n\n\u003e Remember that type annotations is not strictly required. Which means your project will run just fine without it `mypy` will only show warning and error messages\n\n```shell\n    mypy .\\source\\ --ignore-missing-imports --strict\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faswinmurali-io%2Fflask-template-minimal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faswinmurali-io%2Fflask-template-minimal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faswinmurali-io%2Fflask-template-minimal/lists"}