All Projects → IBM → python-flask-app

IBM / python-flask-app

Licence: Apache-2.0 license
Start building your next Python Flask app on IBM Cloud.

Programming Languages

HTML
75241 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to python-flask-app

nodejs-express-app
Start building your next Node.js Express app on IBM Cloud.
Stars: ✭ 42 (-12.5%)
Mutual labels:  starter-kit, ibm-cloud
Asteroids
Yep, a gulp-ready-nunjucks-lover-sass-powered-and-humanstxt-included html starter kit!
Stars: ✭ 15 (-68.75%)
Mutual labels:  starter-kit
shopify-app-starter-kit
Shopify app starter kit written in Ruby on Rails w/ appropriate tools to get your Shopify app up and running quickly 🚀
Stars: ✭ 42 (-12.5%)
Mutual labels:  starter-kit
Sass-Starter
SASS Starter - SCSS boilerplate for SMACSS
Stars: ✭ 35 (-27.08%)
Mutual labels:  starter-kit
nodejs-hackathon-boilerplate-starter-kit
Just a Hackaton/Startup Full-stack node.js starter
Stars: ✭ 37 (-22.92%)
Mutual labels:  starter-kit
Cloud-Service-Providers-Free-Tier-Overview
Comparing the free tier offers of the major cloud providers like AWS, Azure, GCP, Oracle etc.
Stars: ✭ 226 (+370.83%)
Mutual labels:  ibm-cloud
angularjs-es6-starter-kit
Basic AngularJS, ES6, Webpack Starter Kit Project which includes Bootstrap 4 also. This is a boilerplate for AngularJS SPA with Bootstrap 4.
Stars: ✭ 28 (-41.67%)
Mutual labels:  starter-kit
example-typescript-package
Example TypeScript Package ready to be published on npm & Tutorial / Instruction / Workflow for 2021
Stars: ✭ 71 (+47.92%)
Mutual labels:  starter-kit
react-starter
Starter kit for React.
Stars: ✭ 16 (-66.67%)
Mutual labels:  starter-kit
react-phoenix-users-boilerplate
Elixir/Phoenix + React + users template/boilerplate.
Stars: ✭ 71 (+47.92%)
Mutual labels:  starter-kit
react-typescript-starter
Simple starter-kit for react, redux, typescript, aphrodite, webpack
Stars: ✭ 14 (-70.83%)
Mutual labels:  starter-kit
starter-kit
Start your career path to become a developer.
Stars: ✭ 19 (-60.42%)
Mutual labels:  starter-kit
nextjs-typescript-quickstart
Get started on Next.js with TypeScript in seconds.
Stars: ✭ 33 (-31.25%)
Mutual labels:  starter-kit
platform-services-go-sdk
Go client library for IBM Cloud Platform Services
Stars: ✭ 14 (-70.83%)
Mutual labels:  ibm-cloud
android-github-repo-template
A template for creating new repositories for the new Android Project.
Stars: ✭ 18 (-62.5%)
Mutual labels:  starter-kit
cloudco-insurance
A modern insurance company. The application showcases cognitive and cloud computing ideas in the context of insurance.
Stars: ✭ 43 (-10.42%)
Mutual labels:  ibm-cloud
run-aspnetcore-basics retired
One Solution - One Project for web application development with Asp.Net Core & EF.Core. Only one web application project which used aspnetcore components; razor pages, middlewares, dependency injection, configuration, logging. To create websites with minimum implementation of asp.net core based on HTML5, CSS, and JavaScript. You can use this boi…
Stars: ✭ 15 (-68.75%)
Mutual labels:  starter-kit
webpack-starter
🗽 Webpack + Babel + Sass
Stars: ✭ 11 (-77.08%)
Mutual labels:  starter-kit
weex-vue-starter-kit
weex starter kit in vue to use weexpack & weex both.(support hot-reload)
Stars: ✭ 24 (-50%)
Mutual labels:  starter-kit
tensorflow-stack-ts
TensorFlow.js Full-Stack Starter Kit
Stars: ✭ 33 (-31.25%)
Mutual labels:  starter-kit

IBM Cloud

IBM Cloud platform Apache 2

Create and deploy a Python Flask application

We have applications available for Node.js Express, Go Gin, Python Flask, Python Django, Java Spring, Java Liberty, Swift Kitura, Android, and iOS.

In this sample application, you will create a Python cloud application using Flask. This application contains an opinionated set of files for web serving:

  • public/index.html
  • public/404.html
  • public/500.html

This application also enables a starting place for a Python microservice using Flask. A microservice is an individual component of an application that follows the microservice architecture - an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities. The microservice exposes a RESTful API matching a Swagger definition.

Steps

You can deploy this application to IBM Cloud or build it locally by cloning this repo first. After your app is live, you can access the /health endpoint to build out your cloud native application.

Deploying to IBM Cloud

Deprecated: IBM® Cloud Foundry is deprecated. For more information, see Deprecation of IBM Cloud Foundry.

Deploy to IBM Cloud

Click Deploy to IBM Cloud to deploy this same application to IBM Cloud. This option creates a deployment pipeline, complete with a hosted GitLab project and a DevOps toolchain. You can deploy your app to Cloud Foundry, a Kubernetes cluster, or a Red Hat OpenShift cluster. OpenShift is available only through a standard cluster, which requires you to have a billable account.

IBM Cloud DevOps services provides toolchains as a set of tool integrations that support development, deployment, and operations tasks inside IBM Cloud.

Building locally

To get started building this application locally, you can either run the application natively or use the IBM Cloud Developer Tools for containerization and easy deployment to IBM Cloud.

Native application development

Running Flask applications has been simplified with a manage.py file to avoid dealing with configuring environment variables to run your app. From your project root, you can download the project dependencies with (NOTE: If you don't have pipenv installed, execute: pip install pipenv):

pipenv install

Then, activate this app's virtualenv:

pipenv shell

To run your application locally, run this inside the virtualenv:

python manage.py start

manage.py offers a variety of different run commands to match the proper situation:

  • start: starts a server in a production setting using gunicorn.
  • run: starts a native Flask development server. This includes backend reloading upon file saves and the Werkzeug stack-trace debugger for diagnosing runtime failures in-browser.
  • livereload: starts a development server via the livereload package. This includes backend reloading as well as dynamic frontend browser reloading. The Werkzeug stack-trace debugger will be disabled, so this is only recommended when working on frontend development.
  • debug: starts a native Flask development server, but with the native reloader/tracer disabled. This leaves the debug port exposed to be attached to an IDE (such as PyCharm's Attach to Local Process).

There are also a few utility commands:

  • build: compiles .py files within the project directory into .pyc files
  • test: runs all unit tests inside of the project's test directory

Your application is running at: http://localhost:3000/ in your browser.

  • Your Swagger UI is running on: /explorer
  • Your Swagger definition is running on: /swagger/api
  • Health endpoint: /health

There are two different options for debugging a Flask project:

  1. Run python manage.py runserver to start a native Flask development server. This comes with the Werkzeug stack-trace debugger, which will present runtime failure stack-traces in-browser with the ability to inspect objects at any point in the trace. For more information, see Werkzeug documentation.
  2. Run python manage.py debug to run a Flask development server with debug exposed, but the native debugger/reloader turned off. This grants access for an IDE to attach itself to the process (i.e. in PyCharm, use Run -> Attach to Local Process).

You can also verify the state of your locally running application using the Selenium UI test script included in the scripts directory.

Note for Windows users: gunicorn is not supported on Windows. You may start the server with python manage.py run on your local machine or build and start the Dockerfile.

IBM Cloud Developer Tools

Install IBM Cloud Developer Tools on your machine by running the following command:

curl -sL https://ibm.biz/idt-installer | bash

Create an application on IBM Cloud by running:

ibmcloud dev create

This will create and download a starter application with the necessary files needed for local development and deployment.

Your application will be compiled with Docker containers. To compile and run your app, run:

ibmcloud dev build
ibmcloud dev run

This will launch your application locally. When you are ready to deploy to IBM Cloud on Cloud Foundry or Kubernetes, run one of the commands:

ibmcloud dev deploy -t buildpack // to Cloud Foundry
ibmcloud dev deploy -t container // to K8s cluster

You can build and debug your app locally with:

ibmcloud dev build --debug
ibmcloud dev debug

Next steps

License

This sample application is licensed under the Apache License, Version 2. Separate third-party code objects invoked within this code pattern are licensed by their respective providers pursuant to their own separate licenses. Contributions are subject to the Developer Certificate of Origin, Version 1.1 and the Apache License, Version 2.

Apache License FAQ

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].