{"id":13835826,"url":"https://github.com/realpython/flask-by-example","last_synced_at":"2025-10-03T22:49:41.336Z","repository":{"id":67324543,"uuid":"22891558","full_name":"realpython/flask-by-example","owner":"realpython","description":"flask, heroku, environment variables, sqlalchemy, flask-migrate, redis","archived":false,"fork":false,"pushed_at":"2020-07-25T05:38:43.000Z","size":26809,"stargazers_count":681,"open_issues_count":6,"forks_count":273,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-05-24T12:06:50.582Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://realpython.com/learning-paths/flask-by-example/","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/realpython.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-08-12T20:32:29.000Z","updated_at":"2025-05-01T20:22:17.000Z","dependencies_parsed_at":"2023-04-14T13:46:48.987Z","dependency_job_id":null,"html_url":"https://github.com/realpython/flask-by-example","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/realpython/flask-by-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realpython%2Fflask-by-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realpython%2Fflask-by-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realpython%2Fflask-by-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realpython%2Fflask-by-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/realpython","download_url":"https://codeload.github.com/realpython/flask-by-example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realpython%2Fflask-by-example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278239968,"owners_count":25954096,"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-03T02:00:06.070Z","response_time":53,"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":[],"created_at":"2024-08-04T15:00:20.584Z","updated_at":"2025-10-03T22:49:41.318Z","avatar_url":"https://github.com/realpython.png","language":"Python","readme":"# Flask by Example\n\n## Blog Posts\n\nThis is the repo for the Real Python blog series, Flask by Example -\n\n1. [Part One](https://realpython.com/blog/python/flask-by-example-part-1-project-setup/): Set up a local development environment and then deploy both a staging and a production environment on Heroku.\n1. [Part Two](https://realpython.com/blog/python/flask-by-example-part-2-postgres-sqlalchemy-and-alembic): Set up a PostgreSQL database along with SQLAlchemy and Alembic to handle migrations.\n1. [Part Three](https://realpython.com/blog/python/flask-by-example-part-3-text-processing-with-requests-beautifulsoup-nltk/): Add in the back-end logic to scrape and then process the word counts from a webpage using the requests, BeautifulSoup, and Natural Language Toolkit (NLTK) libraries.\n1. [Part Four](https://realpython.com/blog/python/flask-by-example-implementing-a-redis-task-queue/): Implement a Redis task queue to handle the text processing.\n1. [Part Five](https://realpython.com/blog/python/flask-by-example-integrating-flask-and-angularjs/): Set up Angular on the front-end to continuously poll the back-end to see if the request is done processing.\n1. [Part Six](https://realpython.com/blog/python/updating-the-staging-environment/): Push to the staging server on Heroku - setting up Redis and detailing how to run two processes (web and worker) on a single Dyno.\n1. [Part Seven](https://realpython.com/blog/python/flask-by-example-updating-the-ui/): Update the front-end to make it more user-friendly.\n1. Part Eight: Add the D3 library into the mix to graph a frequency distribution and histogram.\n\nCheck out http://realpython.com\n\n## Quick Start\n\n### First Steps\n\n```sh\n$ pyvenv-3.5 env\n$ source env/bin/activate\n$ pip install -r requirements.txt\n```\n\n### Set up Migrations\n\n```sh\n$ python manage.py db init\n$ python manage.py db migrate\n$ python manage.py db upgrade\n```\n\n### Run\n\nRun each in a different terminal window...\n\n```sh\n# redis\n$ redis server\n\n# worker process\n$ python worker.py\n\n# the app\n$ python app.py\n```","funding_links":[],"categories":["Python","HarmonyOS"],"sub_categories":["Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frealpython%2Fflask-by-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frealpython%2Fflask-by-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frealpython%2Fflask-by-example/lists"}