DeveloperPlayBook
Python
Python
  • Introduction
  • Architecture
    • Technology Stack
    • ADR Records
  • Design
  • Bootstraping
  • Development Environment
    • Accounts (AWS, GCP, CircleCI)
  • Services/API
    • Serverless
    • Containers
    • Python
    • Firebase
    • Chatbots
    • Testing
  • Frontend
    • Serverless
    • Containers
    • Chatbot
  • Plattform
  • IAM - IAMaaS
  • Persistance - DBaaS
    • Serverless
    • Container
  • Event Driven / Streaming aaS
    • Kinesis
  • AI - AIaaS
  • Production / Reliability Engineering
  • create-k8s-secrets
  • VI
  • Tools
Powered by GitBook
On this page
  • Setup the project
  • Developer a docker microservice in Python
  • Develop API First in Python
  1. Services/API

Containers

PreviousServerlessNextPython

Last updated 7 years ago

Setup the project

  • Create new github repo:

  • Clone repo:

    git clone https://github.com/denseidel/consumer-marketplace-service.git
    cd consumer-marketplace-service
    git secrets --install
    git secrets --register-aws
  • Start a virtual environment

    virtualenv venv --python=python3
    source venv/bin/activate
    # install pylint 
    pip install pylint

    If you use visual studio code do this first in your terminal window and then open the folder again with code ..

Developer a docker microservice in Python

  1. Check that you have have a local docker environment in Plattform -> Setup Docker Environment.

  2. Create Dockerfile and docker-compose that starts the Mock Server(Code) - make sure the Swagger file does not include custom functions like x-tokenInfoFunc. TODO create it for the mock

    • Environment Variables to connect to AWS

  3. Implement Frontend against mocks

  4. Update Dockerfile to production config

  5. Implement API (including DB, ...)

Connexion Examples:

  • https://github.com/hjacobs/connexion-example

  • https://github.com/ssola/python-flask-microservice

  • http://blog.bejanalex.com/2017/03/mongodb-rest-api-interface-in-docker/

Create a client library for the API:

  • https://realpython.com/blog/python/api-integration-in-python/

Use Feature flags:

  • https://featureflags.io/python-feature-flags/

Python Testing:

  • Unit Testing

  • Mocks

  • Code Coverage

Python Functional Programming:

  • https://maryrosecook.com/blog/post/a-practical-introduction-to-functional-programming

Python Clean Code:

  • http://pythonforengineers.com/writing-great-code/

  • https://github.com/zedr/clean-code-python

  • https://github.com/rmariano/Clean-code-in-Python/blob/master/build/Clean code in Python.pdf

  • http://docs.python-guide.org/en/latest/writing/reading/

Benefits API First:

https://github.com/swagger-api/swagger-codegen/wiki/server-stub-generator-howto#python-flask-connexion

http://connexion.readthedocs.io/en/latest/cli.html

https://blog.runscope.com/posts/openapi-swagger-resource-list-for-api-developers

https://medium.com/ibm-data-science-experience/deploy-your-python-functions-as-a-rest-api-811981ec7ec5

https://github.com/zalando/connexion

http://michal.karzynski.pl/blog/2016/06/19/building-beautiful-restful-apis-using-flask-swagger-ui-flask-restplus/

https://cidrblock.github.io/zero-to-api-in-4-minutes.html

Beispiel: https://github.com/hjacobs/connexion-example

Develop API First in Python

Get started with Connextion: http://connexion.readthedocs.io/en/latest/quickstart.html

https://github.com/zalando/connexion

https://github.com/hjacobs/connexion-example

https://cidrblock.github.io/zero-to-api-in-4-minutes.html

https://github.com/ssola/python-flask-microservice/blob/master/api/room.py

https://medium.com/@ssola/building-microservices-with-python-part-i-5240a8dcc2fb

http://coderobot.downley.net/swagger-driven-testing-in-python.html

https://uwsgi-docs.readthedocs.io/en/latest/

http://connexion.readthedocs.io/en/latest/routing.html

  • https://medium.com/@ssola/building-microservices-with-python-part-i-5240a8dcc2fb

  • https://github.com/hjacobs/connexion-example/blob/master/app.py

  • http://connexion.readthedocs.io/en/latest/request.html

  • Check a token: https://auth0.com/docs/api-auth/tutorials/verify-access-token

API Sources / public api collection: https://any-api.com

https://www.programmableweb.com/apis/directory

https://apis.guru/browse-apis/