Skip to content

Commit 47974b6

Browse files
committed
Update dependencies & Make commands for Apple silicon.
1 parent d7d2e5a commit 47974b6

File tree

12 files changed

+399
-511
lines changed

12 files changed

+399
-511
lines changed

.env.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
FLASK_APP=wsgi.py
2-
FLASK_ENV=development
2+
FLASK_DEBUG=False
33
SECRET_KEY=randomstringofcharacters
44
LESS_BIN=/usr/local/bin/lessc
55
ASSETS_DEBUG=False

.github/workflows/pythonapp.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ jobs:
1616

1717
steps:
1818
- uses: actions/checkout@v2
19-
- name: Set up Python 3.8
19+
- name: Set up Python 3.9
2020
uses: actions/setup-python@v2
2121
with:
22-
python-version: 3.8
22+
python-version: 3.9
2323
- name: Install dependencies
2424
run: |
2525
python -m pip install --upgrade pip

.gitignore

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,12 @@ venv.bak/
9999
# mkdocs documentation
100100
/site
101101

102-
# mypy
102+
# MyPy
103103
.mypy_cache/
104104

105-
# DS Store
106-
.DS_Store
107-
108-
# Pycharm
105+
# IDEs
109106
.idea
107+
.vscode
108+
109+
# Etc
110+
.DS_Store

Makefile

Lines changed: 59 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,50 @@
11
PROJECT_NAME := $(shell basename $CURDIR)
2-
VIRTUAL_ENVIRONMENT := $(CURDIR)/.venv
3-
LOCAL_PYTHON := $(VIRTUAL_ENVIRONMENT)/bin/python3
2+
VIRTUAL_ENV := $(CURDIR)/.venv
3+
LOCAL_PYTHON := $(VIRTUAL_ENV)/bin/python3
44

55
define HELP
66
Manage $(PROJECT_NAME). Usage:
77

8-
make run - Run $(PROJECT_NAME).
9-
make install - Create virtual env, install dependencies, and run project.
10-
make deploy - Install and run script by running `make install` and `make run` in succession.
11-
make update - Update pip dependencies via Poetry and export output to requirements.txt.
12-
make format - Format code with Pythons `Black` library.
13-
make lint - Check code formatting with `flake8`.
14-
make clean - Remove cached files and lock files.
8+
make run - Run $(PROJECT_NAME) locally.
9+
make install - Create local virtualenv & install dependencies.
10+
make deploy - Set up project & run locally.
11+
make update - Update dependencies via Poetry and output resulting `requirements.txt`.
12+
make format - Run Python code formatter & sort dependencies.
13+
make lint - Check code formatting with flake8.
14+
make clean - Remove extraneous compiled files, caches, logs, etc.
1515

1616
endef
1717
export HELP
1818

1919

2020
.PHONY: run install deploy update format lint clean help
2121

22-
requirements: .requirements.txt
23-
env: ./.venv/bin/activate
2422

23+
all help:
24+
@echo "$$HELP"
2525

26-
.requirements.txt: requirements.txt
27-
$(shell . .venv/bin/activate && pip install -r requirements.txt)
2826

27+
env: $(VIRTUAL_ENV)
2928

30-
all help:
31-
@echo "$$HELP"
29+
30+
$(VIRTUAL_ENV):
31+
if [ ! -d $(VIRTUAL_ENV) ]; then \
32+
echo "Creating Python virtual env in \`${VIRTUAL_ENV}\`"; \
33+
python3 -m venv $(VIRTUAL_ENV); \
34+
fi
3235

3336

3437
.PHONY: run
3538
run: env
36-
flask run
39+
uwsgi --http 127.0.0.1:8081 --master --module wsgi:app --processes 4 --threads 2
3740

3841

3942
.PHONY: install
40-
install:
41-
if [ ! -d "./.venv" ]; then python3 -m venv $(VIRTUAL_ENVIRONMENT); fi
42-
. .venv/bin/activate
43-
$(LOCAL_PYTHON) -m pip install --upgrade pip setuptools wheel
44-
$(LOCAL_PYTHON) -m pip install -r requirements.txt
43+
install: env
44+
$(LOCAL_PYTHON) -m pip install --upgrade pip setuptools wheel && \
45+
$(LOCAL_PYTHON) -m pip install --no-cache-dir uwsgi && \
46+
$(LOCAL_PYTHON) -m pip install -r requirements.txt && \
47+
echo Installed dependencies in \`${VIRTUAL_ENV}\`;
4548

4649

4750
.PHONY: deploy
@@ -50,40 +53,53 @@ deploy:
5053
make run
5154

5255

56+
.PHONY: test
57+
test: env
58+
$(LOCAL_PYTHON) -m \
59+
coverage run -m pytest -vv \
60+
--disable-pytest-warnings && \
61+
coverage html --title='Coverage Report' -d .reports && \
62+
open .reports/index.html
63+
64+
5365
.PHONY: update
54-
update:
55-
if [ ! -d "./.venv" ]; then python3 -m venv $(VIRTUAL_ENVIRONMENT); fi
56-
.venv/bin/python3 -m pip install --upgrade pip setuptools wheel
57-
poetry update
58-
poetry export -f requirements.txt --output requirements.txt --without-hashes
66+
update: env
67+
$(LOCAL_PYTHON) -m pip install --upgrade pip setuptools wheel && \
68+
poetry update && \
69+
poetry export -f requirements.txt --output requirements.txt --without-hashes && \
70+
echo Installed dependencies in \`${VIRTUAL_ENV}\`;
5971

6072

6173
.PHONY: format
6274
format: env
63-
isort --multi-line=3 .
64-
black .
75+
$(LOCAL_PYTHON) -m isort --multi-line=3 .
76+
$(LOCAL_PYTHON) -m black .
6577

6678

6779
.PHONY: lint
68-
lint:
69-
flake8 . --count \
80+
lint: env
81+
$(LOCAL_PYTHON) -m flake8 . --count \
7082
--select=E9,F63,F7,F82 \
71-
--exclude .git,.github,__pycache__,.pytest_cache,.venv,logs,creds,.venv,docs,logs \
83+
--exclude .git,.github,__pycache__,.pytest_cache,.venv,logs,creds,.venv,docs,logs,.reports \
7284
--show-source \
7385
--statistics
7486

7587

7688
.PHONY: clean
7789
clean:
78-
find . -name '*.pyc' -delete
79-
find . -name '__pycache__' -delete
80-
find . -name 'poetry.lock' -delete
81-
find . -name '*.log' -delete
82-
find . -name '.DS_Store' -delete
83-
find . -wholename 'logs/*.json' -delete
84-
find . -wholename '.pytest_cache' -delete
85-
find . -wholename '**/.pytest_cache' -delete
86-
find . -wholename './logs/*.json' -delete
87-
find . -wholename './logs' -delete
88-
find . -wholename '*.html' -delete
89-
find . -wholename '**/.webassets-cache' -delete
90+
find . -name 'poetry.lock' -delete && \
91+
find . -name '.coverage' -delete && \
92+
find . -name '*.pyc' -delete \
93+
find . -name '__pycache__' -delete \
94+
find . -name 'poetry.lock' -delete \
95+
find . -name '*.log' -delete \
96+
find . -name '.DS_Store' -delete \
97+
find . -wholename '**/*.pyc' -delete && \
98+
find . -wholename '*.html' -delete && \
99+
find . -type d -wholename '__pycache__' -exec rm -rf {} + && \
100+
find . -type d -wholename '.venv' -exec rm -rf {} + && \
101+
find . -type d -wholename '.pytest_cache' -exec rm -rf {} + && \
102+
find . -type d -wholename '**/.pytest_cache' -exec rm -rf {} + && \
103+
find . -type d -wholename './logs/*' -exec rm -rf {} + && \
104+
find . -type d -wholename './.reports/*' -exec rm -rf {} + && \
105+
find . -type d -wholename '**/.webassets-cache' -exec rm -rf {} +

README.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Flask Blueprint Tutorial
22

3-
![Python](https://img.shields.io/badge/Python-v^3.8-blue.svg?logo=python&longCache=true&logoColor=white&colorB=5e81ac&style=flat-square&colorA=4c566a)
4-
![Flask](https://img.shields.io/badge/Flask-v2.1.1-blue.svg?longCache=true&logo=flask&style=flat-square&logoColor=white&colorB=5e81ac&colorA=4c566a)
3+
![Python](https://img.shields.io/badge/Python-v^3.9-blue.svg?logo=python&longCache=true&logoColor=white&colorB=5e81ac&style=flat-square&colorA=4c566a)
4+
![Flask](https://img.shields.io/badge/Flask-v2.2.2-blue.svg?longCache=true&logo=flask&style=flat-square&logoColor=white&colorB=5e81ac&colorA=4c566a)
55
![Flask-Assets](https://img.shields.io/badge/Flask--Assets-v2.0-blue.svg?longCache=true&logo=flask&style=flat-square&logoColor=white&colorB=5e81ac&colorA=4c566a)
66
![GitHub Last Commit](https://img.shields.io/github/last-commit/google/skia.svg?style=flat-square&colorA=4c566a&colorB=a3be8c&logo=GitHub)
77
[![GitHub Issues](https://img.shields.io/github/issues/hackersandslackers/flask-blueprint-tutorial.svg?style=flat-square&colorA=4c566a&logo=GitHub&colorB=ebcb8b)](https://github.com/hackersandslackers/flask-blueprint-tutorial/issues)
@@ -15,8 +15,7 @@ Structure your Flask apps in a scalable and intelligent way using Blueprints.
1515
* **Tutorial**: https://hackersandslackers.com/flask-blueprints/
1616
* **Demo**: https://flaskblueprints.hackersandslackers.app/
1717

18-
19-
# Getting Started
18+
## Getting Started
2019

2120
Get set up locally in two steps:
2221

@@ -32,18 +31,17 @@ Replace the values in **.env.example** with your values and rename this file to
3231
* `LESS_RUN_IN_DEBUG` *(optional)*: Debug LESS while in `development`.
3332
* `COMPRESSOR_DEBUG` *(optional)*: Debug asset compression while in `development`.
3433

35-
3634
*Remember never to commit secrets saved in .env files to Github.*
3735

3836
### Installation
3937

4038
Get up and running with `make deploy`:
4139

4240
```shell
43-
$ git clone https://github.com/hackersandslackers/flask-blueprint-tutorial.git
44-
$ cd flask-blueprint-tutorial
45-
$ make deploy
46-
```
41+
git clone https://github.com/hackersandslackers/flask-blueprint-tutorial.git
42+
cd flask-blueprint-tutorial
43+
make deploy
44+
```
4745

4846
-----
4947

config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class Config:
1111
"""Configuration from environment variables."""
1212

1313
SECRET_KEY = environ.get("SECRET_KEY")
14-
FLASK_ENV = environ.get("FLASK_ENV")
14+
FLASK_ENV = environ.get("FLASK_DEBUG")
1515
FLASK_APP = "wsgi.py"
1616

1717
# Flask-Assets

deploy.sh

Lines changed: 0 additions & 14 deletions
This file was deleted.

mypy.ini

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[mypy]
2+
python_version = 3.9
3+
warn_return_any = True
4+
warn_unused_configs = True

0 commit comments

Comments
 (0)