Skip to content

Instantly share code, notes, and snippets.

View DougAF's full-sized avatar
💭
Always Learning!

Douglas Franklin DougAF

💭
Always Learning!
View GitHub Profile
@DougAF
DougAF / app.py
Created April 30, 2020 16:35
app.teardown
@app.teardown_appcontext
def remove_db_session(exception=None):
db_session.remove()
@DougAF
DougAF / schemas.py
Created May 7, 2020 20:44
schemas.py
from datetime import date
from pydantic import BaseModel
class Record(BaseModel):
id: int
date: date
country: str
cases: int
deaths: int
@DougAF
DougAF / database.py
Created May 7, 2020 20:58
FastAPI database file
import os
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
SQLALCHEMY_DATABASE_URL = os.getenv("DB_CONN")
engine = create_engine(SQLALCHEMY_DATABASE_URL)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
@DougAF
DougAF / models.py
Created May 7, 2020 21:00
Fast_API models.py
from sqlalchemy import Column, Integer, String
from sqlalchemy.types import Date
from .database import Base
class Record(Base):
__tablename__ = "Records"
id = Column(Integer, primary_key=True, index=True)
date = Column(Date)
@DougAF
DougAF / main.py
Created May 7, 2020 21:02
Fast_API sars/flask main app.
from typing import List
from fastapi import Depends, FastAPI, HTTPException
from fastapi.middleware.cors import CORSMiddleware
from sqlalchemy.orm import Session
from starlette.responses import RedirectResponse
from . import models, schemas
from .database import SessionLocal, engine
@DougAF
DougAF / load.py
Created May 7, 2020 21:04
sars flask loading script
import csv
import datetime
from app import models
from app.database import SessionLocal, engine
db = SessionLocal()
models.Base.metadata.create_all(bind=engine)
@DougAF
DougAF / main.py
Created May 12, 2020 15:51
/records route to show schemas.py use
@app.get("/records/", response_model=List[schemas.Record])
def show_records(db: Session = Depends(get_db)):
records = db.query(models.Record).all()
return records
@DougAF
DougAF / main.py
Created May 19, 2020 18:33
flask_pets_main_connection_string_and_schema
import os
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = os.getenv("JAWSDB_URL", "sqlite:///pets.sqlite")
db = SQLAlchemy(app)
class DictMixIn:
def to_dict(self):
return {
column.name: getattr(self, column.name)
@DougAF
DougAF / Dockerfile
Created May 29, 2020 14:35
Dockerfile
FROM python:3.7-slim
ENV APP_HOME /app
WORKDIR $APP_HOME
COPY . ./
RUN pip install pipenv
RUN pipenv install --deploy --system
CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 app.main:app
import csv
import datetime
from app import models
from app.database import SessionLocal, engine
db = SessionLocal()
models.Base.metadata.create_all(bind=engine)