Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
06f9afee1f | ||
|
|
f0c9197d55 | ||
|
|
6424966c46 | ||
|
|
553a641cfc | ||
|
|
bf08d1b2de | ||
|
|
3a0c3f0b04 | ||
|
|
04d3de3b00 | ||
|
|
c872e2ad62 | ||
|
|
2aefa138b1 | ||
|
|
5e7928d558 | ||
|
|
bf5e23409b | ||
|
|
2e834a1acd | ||
|
|
4b5c160de9 | ||
|
|
82b5403eba | ||
|
|
514d0da148 | ||
|
|
fc56e6efe1 | ||
|
|
d25b300e7a | ||
|
|
ac760e1618 | ||
|
|
94a62d7641 | ||
|
|
c0c201076d | ||
|
|
e337e39558 | ||
|
|
d6d16e68d7 | ||
|
|
6b638c4ccb | ||
|
|
4d859dd641 | ||
|
|
326ffb77ef | ||
|
|
e414daef75 | ||
|
|
3387280bab | ||
|
|
83b9c050c5 | ||
|
|
fb2d176379 | ||
|
|
58e5e1435a | ||
|
|
38a7c12e2c | ||
|
|
e3bf39cd9f | ||
|
|
c0898d5b1c | ||
|
|
17695705e9 | ||
|
|
45ef9a6b94 | ||
|
|
de10fe38e9 | ||
|
|
94e5682b8f | ||
|
|
7203b76aa7 | ||
|
|
b72a6ec018 | ||
|
|
e5e86094b9 | ||
|
|
901618fe78 | ||
|
|
0378804d66 | ||
|
|
a27c5a2185 | ||
|
|
892e1eaaa2 | ||
|
|
f8c118731b | ||
|
|
3aa4351592 | ||
|
|
b5ec94f02a | ||
|
|
5c72125659 | ||
|
|
f647a8906b | ||
|
|
f6e1b39c25 | ||
|
|
915143a3fc | ||
|
|
c90df1c762 | ||
|
|
d21e2fadf5 | ||
|
|
a1eb7e14d5 | ||
|
|
cdd6cf3b01 | ||
|
|
eca04cfd5f | ||
|
|
1cfd54557f | ||
|
|
5ec0571552 | ||
|
|
1b2fee869d | ||
|
|
7154c5cf0b | ||
|
|
c3346147b8 | ||
|
|
6be82d3dd5 | ||
|
|
0cc1bfaf43 | ||
|
|
2b25ee52f4 | ||
|
|
29dc4867ca | ||
|
|
99d9d06031 | ||
|
|
75a480a45d | ||
|
|
3bafa8fefc | ||
|
|
0df9968808 | ||
|
|
9726ad5bb0 | ||
|
|
8645d24040 | ||
|
|
6fc875415e | ||
|
|
b497b18061 | ||
|
|
d2f576f580 | ||
|
|
8544c7133b | ||
|
|
63fe396e04 | ||
|
|
52e1ae87f3 | ||
|
|
e13499b4b8 | ||
|
|
6896adf094 | ||
|
|
04673d4668 | ||
|
|
b9be118a96 | ||
|
|
a2f34cdbd2 | ||
|
|
e7faf43580 | ||
|
|
cbd4e82f57 | ||
|
|
f70c43eb99 | ||
|
|
a475ceb36f | ||
|
|
fae9d8c7f3 |
@@ -15,8 +15,7 @@ venv
|
||||
.buildpacks
|
||||
*.pem
|
||||
*.crt
|
||||
Pipfile
|
||||
Pipfile.lock
|
||||
.travis.yml
|
||||
.gitignore
|
||||
.dockerignore
|
||||
requirements.txt
|
||||
|
||||
@@ -1,40 +1,68 @@
|
||||
FROM python:3.7.12
|
||||
FROM python:3.7.12 as builder
|
||||
|
||||
# Pre installations
|
||||
RUN apt update
|
||||
RUN apt install -y curl npm
|
||||
RUN pip install poetry
|
||||
|
||||
# Copy useful files
|
||||
WORKDIR /opt/website
|
||||
COPY pyproject.toml poetry.lock package.json package-lock.json ./
|
||||
|
||||
# Run updates
|
||||
RUN poetry update
|
||||
RUN poetry export -f requirements.txt --without-hashes --output requirements.txt
|
||||
RUN npm update
|
||||
RUN npm install
|
||||
|
||||
# Image of production
|
||||
FROM python:3.7.12-alpine
|
||||
ENV SECRET_KEY=whatever
|
||||
# ARG timestamp
|
||||
# ARG commit
|
||||
# LABEL build.timestamp=timestamp
|
||||
# LABEL build.commit=commit
|
||||
|
||||
# Labels
|
||||
LABEL maintainer="marc.partensky@gmail.com"
|
||||
LABEL image="https://hub.docker.com/r/marcpartensky/website"
|
||||
LABEL source="https://github.com/marcpartensky/website"
|
||||
LABEL link="https://marcpartensky.com"
|
||||
# LABEL build.timestamp=timestamp
|
||||
# LABEL build.commit=commit
|
||||
|
||||
COPY . /app
|
||||
WORKDIR /app
|
||||
# Install curl and stuff for pillow
|
||||
RUN apk add --update --virtual .tmp libffi-dev build-base linux-headers
|
||||
RUN apk add curl jpeg-dev zlib-dev
|
||||
|
||||
RUN apt-get update
|
||||
|
||||
RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash
|
||||
RUN apt-get install -y nodejs
|
||||
RUN npm install -g npm@latest
|
||||
RUN npm install
|
||||
# Copy useful files
|
||||
WORKDIR /opt/website
|
||||
COPY website /opt/website/website
|
||||
COPY --from=builder /opt/website/requirements.txt ./
|
||||
COPY LICENSE ./
|
||||
|
||||
# No .pyo and easier debugging
|
||||
ENV PYTHONDONTWRITEBYTECODE 1
|
||||
ENV PYTHONUNBUFFERED 1
|
||||
|
||||
# Install dependencies
|
||||
RUN pip install -U pip
|
||||
RUN pip install -r requirements.txt
|
||||
RUN ./website/manage.py makemigrations
|
||||
RUN ./website/manage.py collectstatic --noinput
|
||||
|
||||
RUN apk del .tmp
|
||||
|
||||
# Setup env vars for entrypoint.sh
|
||||
ENV PORT 80
|
||||
ENV HOST 0.0.0.0
|
||||
EXPOSE 80
|
||||
# EXPOSE 443
|
||||
|
||||
# Check health
|
||||
HEALTHCHECK --interval=30s \
|
||||
--timeout=10s \
|
||||
--start-period=1m \
|
||||
--retries=3 \
|
||||
CMD curl -sSf http://127.0.0.1:$PORT/live || exit 1
|
||||
|
||||
ENTRYPOINT ["/app/entrypoint.sh"]
|
||||
WORKDIR /opt/website/website
|
||||
ENTRYPOINT ["./entrypoint.sh"]
|
||||
# ENTRYPOINT ["daphne", "-e", "ssl:443:privateKey=$KEY:certKey=$CERT", "django_project.asgi:application"]
|
||||
|
||||
@@ -5,7 +5,7 @@ PRODUCTION=false
|
||||
.PHONY: start list build push setup update init test up down migrate brewstart brewstop dev prod clean deploy
|
||||
|
||||
start:
|
||||
pipenv run ./entrypoint.sh --nosetup
|
||||
poetry run ./entrypoint.sh --nosetup
|
||||
list:
|
||||
@LC_ALL=C $(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$'
|
||||
build: update
|
||||
@@ -17,11 +17,9 @@ setup: init update start
|
||||
update:
|
||||
npm update
|
||||
npm audit fix || echo npm audit fix failed
|
||||
# pipenv lock --pre --clear
|
||||
pipenv update
|
||||
pipenv lock -r > requirements.txt
|
||||
SECRET_KEY=secret pipenv run ./manage.py collectstatic --noinput
|
||||
SECRET_KEY=secret pipenv run ./manage.py makemigrations
|
||||
poetry export -o requirements.txt
|
||||
SECRET_KEY=secret poetry run ./website/manage.py collectstatic --noinput
|
||||
SECRET_KEY=secret poetry run ./website/manage.py makemigrations
|
||||
init: .env
|
||||
pip install --user pipenv
|
||||
pipenv install --dev
|
||||
|
||||
@@ -4,161 +4,82 @@ verify_ssl = true
|
||||
name = "pypi"
|
||||
|
||||
[packages]
|
||||
aioredis = "*"
|
||||
appdirs = "*"
|
||||
appnope = "*"
|
||||
arrow = "*"
|
||||
asgiref = "*"
|
||||
astroid = "*"
|
||||
async-timeout = "*"
|
||||
attrs = "*"
|
||||
autobahn = "*"
|
||||
backcall = "*"
|
||||
blessed = "*"
|
||||
boto3 = "*"
|
||||
botocore = "*"
|
||||
certifi = "*"
|
||||
cffi = "*"
|
||||
channels = "*"
|
||||
channels-redis = "*"
|
||||
chardet = "*"
|
||||
click = "*"
|
||||
colorama = "*"
|
||||
commonmark = "*"
|
||||
constantly = "*"
|
||||
coverage = "*"
|
||||
cryptography = "*"
|
||||
daphne = "*"
|
||||
decorator = "*"
|
||||
defusedxml = "*"
|
||||
dj-database-url = "*"
|
||||
django-503 = "*"
|
||||
django-admin = "*"
|
||||
django-allauth = "*"
|
||||
django-appconf = "*"
|
||||
django-avatar = "*"
|
||||
django-compressor = "*"
|
||||
django-cors-middleware = "*"
|
||||
django-crispy-forms = "*"
|
||||
django-excel-base = "*"
|
||||
django-excel-response2 = "*"
|
||||
django-extensions = "*"
|
||||
django-ftpserver = "*"
|
||||
django-heroku = "*"
|
||||
django-jsonfield-backport = "*"
|
||||
django-libsass = "*"
|
||||
django-markdown-view = "*"
|
||||
django-mdeditor = "*"
|
||||
django-picklefield = "*"
|
||||
django-q = "*"
|
||||
django-rename-app = "*"
|
||||
django-shortuuidfield = "*"
|
||||
django-six = "*"
|
||||
django-sql-explorer = "*"
|
||||
django-storages = "*"
|
||||
djangorestframework = "*"
|
||||
docopt = "*"
|
||||
docutils = "*"
|
||||
flake8 = "*"
|
||||
future = "*"
|
||||
graphviz = "*"
|
||||
gunicorn = "*"
|
||||
h2 = "*"
|
||||
hiredis = "*"
|
||||
hpack = "*"
|
||||
hyperframe = "*"
|
||||
hyperlink = "*"
|
||||
idna = "*"
|
||||
importlib-metadata = "*"
|
||||
incremental = "*"
|
||||
ipython = "*"
|
||||
isort = "*"
|
||||
jedi = "*"
|
||||
jeepney = "*"
|
||||
jmespath = "*"
|
||||
keyring = "*"
|
||||
"keyrings.alt" = "==3.2.0"
|
||||
lazy-object-proxy = "*"
|
||||
libsass = "*"
|
||||
mccabe = "*"
|
||||
mock = "*"
|
||||
msgpack = "*"
|
||||
msgpack-python = "*"
|
||||
mypy-extensions = "*"
|
||||
nose = "*"
|
||||
oauthlib = "*"
|
||||
parso = "*"
|
||||
pathspec = "*"
|
||||
pexpect = "*"
|
||||
pickleshare = "*"
|
||||
pip-autoremove = "*"
|
||||
pip-conflict-checker = "*"
|
||||
pip-review = "*"
|
||||
pipdeptree = "*"
|
||||
pipupgrade = "*"
|
||||
priority = "*"
|
||||
prompt-toolkit = "*"
|
||||
psycopg2-binary = "*"
|
||||
ptyprocess = "*"
|
||||
pyasn1 = "*"
|
||||
pyasn1-modules = "*"
|
||||
pycodestyle = "*"
|
||||
pycparser = "*"
|
||||
pyflakes = "*"
|
||||
pyftpdlib = "*"
|
||||
pylint = "*"
|
||||
pyparsing = "*"
|
||||
python-dateutil = "*"
|
||||
python-dotenv = "*"
|
||||
python3-openid = "*"
|
||||
pytz = "*"
|
||||
rcssmin = "*"
|
||||
redis = "*"
|
||||
regex = "*"
|
||||
requests = "*"
|
||||
requests-oauthlib = "*"
|
||||
rich = "*"
|
||||
rjsmin = "*"
|
||||
s3transfer = "*"
|
||||
screen = "*"
|
||||
shortuuid = "*"
|
||||
six = "*"
|
||||
sqlparse = "*"
|
||||
toml = "*"
|
||||
traitlets = "*"
|
||||
txaio = "*"
|
||||
typed-ast = "*"
|
||||
typing-extensions = "*"
|
||||
tzlocal = "*"
|
||||
urllib3 = "*"
|
||||
wcwidth = "*"
|
||||
whitenoise = "*"
|
||||
wrapt = "*"
|
||||
xlwt = "*"
|
||||
yarg = "*"
|
||||
zipp = "*"
|
||||
"zope.interface" = "*"
|
||||
Automat = "*"
|
||||
Django = "*"
|
||||
ipython_genutils = "*"
|
||||
Markdown = "*"
|
||||
Pillow = "*"
|
||||
Pygments = "*"
|
||||
PyHamcrest = "*"
|
||||
PyJWT = "*"
|
||||
pyOpenSSL = "*"
|
||||
PyYAML = "*"
|
||||
SecretStorage = "*"
|
||||
service_identity = "*"
|
||||
Twisted = "*"
|
||||
django-robots = "*"
|
||||
selenium = "*"
|
||||
geckodriver-autoinstaller = "*"
|
||||
ansicon = "==1.89.0"
|
||||
arrow = "==1.2.2"
|
||||
asgiref = "==3.5.2"
|
||||
attrs = "==21.4.0"
|
||||
autobahn = "==22.4.2"
|
||||
blessed = "==1.19.1"
|
||||
certifi = "==2022.5.18.1"
|
||||
cffi = "==1.15.0"
|
||||
channels = "==3.0.4"
|
||||
charset-normalizer = "==2.0.12"
|
||||
commonmark = "==0.9.1"
|
||||
constantly = "==15.1.0"
|
||||
cryptography = "==37.0.2"
|
||||
daphne = "==3.0.2"
|
||||
defusedxml = "==0.7.1"
|
||||
dj-database-url = "==0.5.0"
|
||||
django-allauth = "==0.50.0"
|
||||
django-appconf = "==1.0.5"
|
||||
django-compressor = "==4.0"
|
||||
django-crispy-forms = "==1.14.0"
|
||||
django-extensions = "==3.1.5"
|
||||
django-ftpserver = "==0.8.0"
|
||||
django-heroku = "==0.3.1"
|
||||
django-jsonfield-backport = "==1.0.5"
|
||||
django-markdown-view = "==0.0.5"
|
||||
django-mdeditor = "==0.1.20"
|
||||
django-picklefield = "==3.0.1"
|
||||
django-q = "==1.3.9"
|
||||
django-robots = "==5.0"
|
||||
django-shortuuidfield = "==0.1.3"
|
||||
django-sql-explorer = "==2.4.1"
|
||||
django-storages = "==1.12.3"
|
||||
djangorestframework = "==3.13.1"
|
||||
hyperlink = "==21.0.0"
|
||||
idna = "==3.3"
|
||||
incremental = "==21.3.0"
|
||||
jinxed = "==1.2.0"
|
||||
oauthlib = "==3.2.0"
|
||||
psycopg2 = "==2.9.3"
|
||||
pyasn1-modules = "==0.2.8"
|
||||
pyasn1 = "==0.4.8"
|
||||
pycparser = "==2.21"
|
||||
pyftpdlib = "==1.5.6"
|
||||
python-dateutil = "==2.8.2"
|
||||
python-dotenv = "==0.20.0"
|
||||
python3-openid = "==3.2.0"
|
||||
pytz = "==2022.1"
|
||||
rcssmin = "==1.1.0"
|
||||
redis = "==3.5.3"
|
||||
requests-oauthlib = "==1.3.1"
|
||||
requests = "==2.27.1"
|
||||
rich = "==12.4.4"
|
||||
rjsmin = "==1.2.0"
|
||||
service-identity = "==21.1.0"
|
||||
shortuuid = "==1.0.9"
|
||||
six = "==1.16.0"
|
||||
sqlparse = "==0.4.2"
|
||||
twisted-iocpsupport = "==1.0.2"
|
||||
txaio = "==22.2.1"
|
||||
typing-extensions = "==4.2.0"
|
||||
tzdata = "==2022.1"
|
||||
urllib3 = "==1.26.9"
|
||||
wcwidth = "==0.2.5"
|
||||
whitenoise = "==6.1.0"
|
||||
"zope.interface" = "==5.4.0"
|
||||
Automat = "==20.2.0"
|
||||
Django = "==4.0.4"
|
||||
Markdown = "==3.3.7"
|
||||
Pillow = "==9.1.1"
|
||||
Pygments = "==2.12.0"
|
||||
PyJWT = "==2.4.0"
|
||||
pyOpenSSL = "==22.0.0"
|
||||
PyYAML = "==6.0"
|
||||
Twisted = "==22.4.0"
|
||||
|
||||
[dev-packages]
|
||||
black = "*"
|
||||
jedi = "*"
|
||||
pylint = "*"
|
||||
|
||||
[requires]
|
||||
python_version = "3.7.12"
|
||||
python_version = "3.10"
|
||||
|
||||
@@ -105,32 +105,26 @@ services:
|
||||
networks:
|
||||
- web
|
||||
|
||||
# website-test:
|
||||
# environment:
|
||||
# <<: *website
|
||||
# <<: *postgres
|
||||
# <<: *redis
|
||||
# VIRTUAL_HOST: website.dev
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: ./Dockerfile
|
||||
# working_dir: /app
|
||||
# entrypoint: /app/entrypoint.sh
|
||||
# command: 80 0.0.0.0
|
||||
# volumes:
|
||||
# - ".:/app"
|
||||
# networks:
|
||||
# - web
|
||||
# - caddy
|
||||
# healthcheck:
|
||||
# test: ["CMD", "curl", "-fs", "http://website:80/robots.txt"]
|
||||
# interval: 1m30s
|
||||
# timeout: 10s
|
||||
# retries: 3
|
||||
# start_period: 40s
|
||||
# labels:
|
||||
# - "caddy=test.marcpartensky.com"
|
||||
# - "caddy.reverse_proxy={{upstreams http 80}}"
|
||||
website-test:
|
||||
environment:
|
||||
<<: *website
|
||||
<<: *postgres
|
||||
<<: *redis
|
||||
VIRTUAL_HOST: website.dev
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./Dockerfile
|
||||
command: 80 0.0.0.0
|
||||
networks:
|
||||
- web
|
||||
ports:
|
||||
- "8000:80"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-fs", "http://website:80/robots.txt"]
|
||||
interval: 1m30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 40s
|
||||
|
||||
test:
|
||||
image: jwilder/dockerize
|
||||
|
||||
@@ -28,8 +28,6 @@ services:
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "8000:80"
|
||||
working_dir: /app
|
||||
entrypoint: /app/entrypoint.sh
|
||||
depends_on:
|
||||
- redis
|
||||
- postgres
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
"node_modules/clone": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
|
||||
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
|
||||
"integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
@@ -90,7 +90,7 @@
|
||||
"node_modules/concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
|
||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
|
||||
},
|
||||
"node_modules/core-util-is": {
|
||||
"version": "1.0.3",
|
||||
@@ -126,7 +126,7 @@
|
||||
"node_modules/glob-parse": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/glob-parse/-/glob-parse-0.0.1.tgz",
|
||||
"integrity": "sha1-N9Ml6xVTvpwfQnJzinVWZEWGbdY="
|
||||
"integrity": "sha512-Um/XtCfPYhDdrlbsNAiakk6AxCpJSLwvF+a95Cmq0Nn/xF/AihHlsBo0EfoUqnKUqyrgoXzX+q5QsSKzH+/gvw=="
|
||||
},
|
||||
"node_modules/handlebars": {
|
||||
"version": "4.7.7",
|
||||
@@ -194,7 +194,7 @@
|
||||
"node_modules/isarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
|
||||
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
|
||||
},
|
||||
"node_modules/js-yaml": {
|
||||
"version": "4.1.0",
|
||||
@@ -530,7 +530,7 @@
|
||||
"node_modules/wildglob/node_modules/isarray": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
|
||||
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ=="
|
||||
},
|
||||
"node_modules/wildglob/node_modules/readable-stream": {
|
||||
"version": "1.0.34",
|
||||
@@ -661,7 +661,7 @@
|
||||
"clone": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
|
||||
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
|
||||
"integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "2.0.1",
|
||||
@@ -679,7 +679,7 @@
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
|
||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.3",
|
||||
@@ -709,7 +709,7 @@
|
||||
"glob-parse": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/glob-parse/-/glob-parse-0.0.1.tgz",
|
||||
"integrity": "sha1-N9Ml6xVTvpwfQnJzinVWZEWGbdY="
|
||||
"integrity": "sha512-Um/XtCfPYhDdrlbsNAiakk6AxCpJSLwvF+a95Cmq0Nn/xF/AihHlsBo0EfoUqnKUqyrgoXzX+q5QsSKzH+/gvw=="
|
||||
},
|
||||
"handlebars": {
|
||||
"version": "4.7.7",
|
||||
@@ -757,7 +757,7 @@
|
||||
"isarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
|
||||
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "4.1.0",
|
||||
@@ -1037,7 +1037,7 @@
|
||||
"isarray": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
|
||||
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ=="
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "1.0.34",
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
[tool.poetry]
|
||||
name = "website"
|
||||
version = "0.1.0"
|
||||
description = ""
|
||||
authors = ["Marc Partensky <marc.partensky@gmail.com>"]
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.7"
|
||||
Django = "*"
|
||||
python-dotenv = "*"
|
||||
channels = "*"
|
||||
django-storages = "*"
|
||||
django-crispy-forms = "*"
|
||||
django-extensions = "*"
|
||||
django-allauth = "*"
|
||||
django-compressor = "*"
|
||||
django-markdown-view = "*"
|
||||
django-mdeditor = "*"
|
||||
django-ftpserver = "*"
|
||||
django-sql-explorer = "*"
|
||||
django-q = "*"
|
||||
django-robots = "*"
|
||||
shortuuid = "*"
|
||||
django-shortuuidfield = "*"
|
||||
django-jsonfield-backport = "*"
|
||||
rich = "*"
|
||||
djangorestframework = "*"
|
||||
PyYAML = "*"
|
||||
django-cors-headers = "*"
|
||||
Pillow = "*"
|
||||
psycopg2-binary = "^2.9.3"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
pytest = "*"
|
||||
pylint = "*"
|
||||
neovim = "*"
|
||||
black = "*"
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core>=1.0.0"]
|
||||
build-backend = "poetry.core.masonry.api"
|
||||
@@ -1,180 +1,76 @@
|
||||
#
|
||||
# These requirements were autogenerated by pipenv
|
||||
# To regenerate from the project's Pipfile, run:
|
||||
#
|
||||
# pipenv lock --requirements
|
||||
#
|
||||
|
||||
-i https://pypi.org/simple
|
||||
aioredis==1.3.1
|
||||
appdirs==1.4.4
|
||||
appnope==0.1.3
|
||||
arrow==1.2.2
|
||||
asgiref==3.5.2
|
||||
astroid==2.11.5
|
||||
async-generator==1.10; python_version >= '3.5'
|
||||
async-timeout==4.0.2
|
||||
attrs==21.4.0
|
||||
autobahn==22.4.2
|
||||
automat==20.2.0
|
||||
backcall==0.2.0
|
||||
backports.zoneinfo==0.2.1; python_version < '3.9'
|
||||
blessed==1.19.1
|
||||
boto3==1.23.6
|
||||
botocore==1.26.6
|
||||
bpyutils==0.5.2
|
||||
certifi==2022.5.18.1
|
||||
cffi==1.15.0
|
||||
channels-redis==3.4.0
|
||||
channels==3.0.4
|
||||
chardet==4.0.0
|
||||
charset-normalizer==2.0.12; python_version >= '3'
|
||||
click==8.1.3
|
||||
colorama==0.4.4
|
||||
commonmark==0.9.1
|
||||
constantly==15.1.0
|
||||
coverage==6.4
|
||||
cryptography==37.0.2
|
||||
daphne==3.0.2
|
||||
decorator==5.1.1
|
||||
defusedxml==0.7.1
|
||||
dill==0.3.5.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'
|
||||
dj-database-url==0.5.0
|
||||
django-503==0.1
|
||||
django-admin==2.0.1
|
||||
django-allauth==0.50.0
|
||||
django-appconf==1.0.5
|
||||
django-avatar==5.0.0
|
||||
django-compressor==4.0
|
||||
django-cors-middleware==1.5.0
|
||||
django-crispy-forms==1.14.0
|
||||
django-excel-base==1.0.4
|
||||
django-excel-response2==3.0.2
|
||||
django-extensions==3.1.5
|
||||
ansicon==1.89.0; python_full_version >= "3.6.2" and python_version < "4" and python_version >= "2.7" and platform_system == "Windows"
|
||||
arrow==1.2.2; python_full_version >= "3.6.2" and python_version < "4" and python_version >= "3.6"
|
||||
asgiref==3.5.2; python_full_version >= "3.6.2" and python_version < "4" and python_version >= "3.7"
|
||||
attrs==22.1.0; python_full_version >= "3.6.7" and python_version >= "3.7"
|
||||
autobahn==22.7.1; python_version >= "3.7"
|
||||
automat==20.2.0; python_full_version >= "3.6.7" and python_version >= "3.7"
|
||||
blessed==1.19.1; python_full_version >= "3.6.2" and python_version < "4" and python_version >= "2.7"
|
||||
certifi==2022.6.15; python_version >= "3.7" and python_version < "4"
|
||||
cffi==1.15.1; python_version >= "3.7"
|
||||
channels==3.0.5; python_version >= "3.7"
|
||||
charset-normalizer==2.1.1; python_version >= "3.7" and python_version < "4" and python_full_version >= "3.6.0"
|
||||
commonmark==0.9.1; python_full_version >= "3.6.3" and python_full_version < "4.0.0"
|
||||
constantly==15.1.0; python_full_version >= "3.6.7" and python_version >= "3.7"
|
||||
cryptography==37.0.4
|
||||
daphne==3.0.2; python_version >= "3.7"
|
||||
defusedxml==0.7.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
|
||||
dj-database-url==1.0.0
|
||||
django-allauth==0.51.0
|
||||
django-appconf==1.0.5; python_version >= "3.6"
|
||||
django-compressor==4.1
|
||||
django-cors-headers==3.13.0; python_version >= "3.7"
|
||||
django-crispy-forms==1.14.0; python_version >= "3.7"
|
||||
django-extensions==3.2.0; python_version >= "3.6"
|
||||
django-ftpserver==0.8.0
|
||||
django-heroku==0.3.1
|
||||
django-jsonfield-backport==1.0.5
|
||||
django-libsass==0.9
|
||||
django-jsonfield-backport==1.0.5; python_version >= "3.5"
|
||||
django-markdown-view==0.0.5
|
||||
django-mdeditor==0.1.20
|
||||
django-picklefield==3.0.1
|
||||
django-q==1.3.9
|
||||
django-rename-app==0.1.3
|
||||
django-robots==5.0
|
||||
django-picklefield==3.1; python_full_version >= "3.6.2" and python_version < "4" and python_version >= "3"
|
||||
django-q==1.3.9; python_full_version >= "3.6.2" and python_version < "4"
|
||||
django-robots==5.0; python_version >= "3.7"
|
||||
django-shortuuidfield==0.1.3
|
||||
django-six==1.0.4
|
||||
django-sql-explorer==2.4.1
|
||||
django-storages==1.12.3
|
||||
django==3.2.13
|
||||
djangorestframework==3.13.1
|
||||
docopt==0.6.2
|
||||
docutils==0.18.1
|
||||
flake8==3.9.2
|
||||
future==0.18.2
|
||||
geckodriver-autoinstaller==0.1.0
|
||||
graphviz==0.20
|
||||
gunicorn==20.1.0
|
||||
h11==0.13.0; python_version >= '3.6'
|
||||
h2==4.1.0
|
||||
hiredis==2.0.0
|
||||
hpack==4.0.0
|
||||
hyperframe==6.0.1
|
||||
hyperlink==21.0.0
|
||||
idna==3.3
|
||||
importlib-metadata==4.11.4
|
||||
incremental==21.3.0
|
||||
ipython-genutils==0.2.0
|
||||
ipython==7.33.0
|
||||
isort==5.10.1
|
||||
jedi==0.18.1
|
||||
jeepney==0.8.0
|
||||
jmespath==1.0.0
|
||||
keyring==23.5.1
|
||||
keyrings.alt==3.2.0
|
||||
lazy-object-proxy==1.7.1
|
||||
libsass==0.21.0
|
||||
markdown==3.3.7
|
||||
matplotlib-inline==0.1.3; python_version >= '3.5'
|
||||
mccabe==0.6.1
|
||||
mock==4.0.3
|
||||
msgpack-python==0.5.6
|
||||
msgpack==1.0.3
|
||||
mypy-extensions==0.4.3
|
||||
nose==1.3.7
|
||||
oauthlib==3.2.0
|
||||
outcome==1.1.0; python_version >= '3.6'
|
||||
packaging==21.3; python_version >= '3.6'
|
||||
parso==0.8.3
|
||||
pathspec==0.9.0
|
||||
pexpect==4.8.0
|
||||
pickleshare==0.7.5
|
||||
pillow==9.1.1
|
||||
pip-autoremove==0.10.0
|
||||
pip-conflict-checker==0.6.0
|
||||
pip-review==1.1.1
|
||||
pip==22.1.1; python_version >= '3.7'
|
||||
pipdeptree==2.2.1
|
||||
pipupgrade==1.12.0
|
||||
platformdirs==2.5.2; python_version >= '3.7'
|
||||
priority==2.0.0
|
||||
prompt-toolkit==3.0.29
|
||||
psycopg2-binary==2.9.3
|
||||
psycopg2==2.9.3; python_version >= '3.6'
|
||||
ptyprocess==0.7.0
|
||||
pyasn1-modules==0.2.8
|
||||
pyasn1==0.4.8
|
||||
pycodestyle==2.7.0
|
||||
pycparser==2.21
|
||||
pyflakes==2.3.1
|
||||
django-sql-explorer==2.4.1; python_version >= "3.6"
|
||||
django-storages==1.13.1; python_version >= "3.7"
|
||||
django==3.2.15; python_version >= "3.6"
|
||||
djangorestframework==3.13.1; python_version >= "3.6"
|
||||
hyperlink==21.0.0; python_full_version >= "3.6.7" and python_version >= "3.7"
|
||||
idna==3.3; python_version >= "3.7" and python_version < "4" and python_full_version >= "3.6.7"
|
||||
importlib-metadata==4.12.0; python_version < "3.10" and python_version >= "3.7"
|
||||
incremental==21.3.0; python_full_version >= "3.6.7" and python_version >= "3.7"
|
||||
jinxed==1.2.0; python_full_version >= "3.6.2" and python_version < "4" and python_version >= "2.7" and platform_system == "Windows"
|
||||
markdown==3.4.1; python_version >= "3.7"
|
||||
oauthlib==3.2.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
|
||||
pillow==9.2.0; python_version >= "3.7"
|
||||
psycopg2-binary==2.9.3; python_version >= "3.6"
|
||||
pyasn1-modules==0.2.8; python_full_version >= "3.6.7" and python_version >= "3.7"
|
||||
pyasn1==0.4.8; python_full_version >= "3.6.7" and python_version >= "3.7"
|
||||
pycparser==2.21; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version >= "3.4.0"
|
||||
pyftpdlib==1.5.6
|
||||
pygments==2.12.0
|
||||
pyhamcrest==2.0.3
|
||||
pyjwt==2.4.0
|
||||
pylint==2.13.9
|
||||
pyopenssl==22.0.0
|
||||
pyparsing==3.0.9
|
||||
pysocks==1.7.1
|
||||
python-dateutil==2.8.2
|
||||
python-dotenv==0.20.0
|
||||
pygments==2.13.0; python_full_version >= "3.6.3" and python_full_version < "4.0.0" and python_version >= "3.6"
|
||||
pyjwt==2.4.0; python_version >= "3.6"
|
||||
pyopenssl==22.0.0; python_full_version >= "3.6.7" and python_version >= "3.7"
|
||||
python-dateutil==2.8.2; python_full_version >= "3.6.2" and python_version < "4" and python_version >= "3.6"
|
||||
python-dotenv==0.20.0; python_version >= "3.5"
|
||||
python3-openid==3.2.0
|
||||
pytz-deprecation-shim==0.1.0.post0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'
|
||||
pytz==2022.1
|
||||
pyyaml==6.0
|
||||
pytz==2022.2.1; python_full_version >= "3.6.2" and python_version < "4" and python_version >= "3.7"
|
||||
pyyaml==6.0; python_version >= "3.6"
|
||||
rcssmin==1.1.0
|
||||
redis==3.5.3
|
||||
regex==2022.4.24
|
||||
requests-oauthlib==1.3.1
|
||||
requests==2.27.1
|
||||
rich==12.4.4
|
||||
redis==3.5.3; python_full_version >= "3.6.2" and python_version < "4"
|
||||
requests-oauthlib==1.3.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0"
|
||||
requests==2.28.1; python_version >= "3.7" and python_version < "4" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0")
|
||||
rich==12.5.1; python_full_version >= "3.6.3" and python_full_version < "4.0.0"
|
||||
rjsmin==1.2.0
|
||||
s3transfer==0.5.2
|
||||
screen==1.0.1
|
||||
secretstorage==3.3.2
|
||||
selenium==4.1.5
|
||||
service-identity==21.1.0
|
||||
setuptools==62.3.2; python_version >= '3.7'
|
||||
shortuuid==1.0.9
|
||||
six==1.16.0
|
||||
sniffio==1.2.0; python_version >= '3.5'
|
||||
sortedcontainers==2.4.0
|
||||
sqlparse==0.4.2
|
||||
toml==0.10.2
|
||||
tomli==2.0.1; python_version < '3.11'
|
||||
traitlets==5.2.1.post0
|
||||
trio-websocket==0.9.2; python_version >= '3.5'
|
||||
trio==0.20.0; python_version >= '3.7'
|
||||
twisted==22.4.0
|
||||
txaio==22.2.1
|
||||
typed-ast==1.5.4
|
||||
typing-extensions==4.2.0
|
||||
tzdata==2022.1; python_version >= '3.6'
|
||||
tzlocal==4.2
|
||||
urllib3==1.26.9
|
||||
wcwidth==0.2.5
|
||||
whitenoise==6.1.0
|
||||
wrapt==1.14.1
|
||||
wsproto==1.1.0; python_version >= '3.7'
|
||||
xlwt==1.3.0
|
||||
yarg==0.1.9
|
||||
zipp==3.8.0
|
||||
zope.interface==5.4.0
|
||||
service-identity==21.1.0; python_full_version >= "3.6.7" and python_version >= "3.7"
|
||||
shortuuid==1.0.9; python_version >= "3.5"
|
||||
six==1.16.0; python_full_version >= "3.6.7" and python_version < "4" and python_version >= "3.7"
|
||||
sqlparse==0.4.2; python_full_version >= "3.6.2" and python_version < "4" and python_version >= "3.7"
|
||||
twisted-iocpsupport==1.0.2; python_full_version >= "3.6.7" and python_version >= "3.7" and platform_system == "Windows"
|
||||
twisted==22.4.0; python_full_version >= "3.6.7" and python_version >= "3.7"
|
||||
txaio==22.2.1; python_version >= "3.7"
|
||||
typing-extensions==4.3.0; python_full_version >= "3.6.7" and python_full_version < "4.0.0" and python_version < "3.8" and python_version >= "3.7"
|
||||
urllib3==1.26.11; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4" or python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.7"
|
||||
wcwidth==0.2.5; python_full_version >= "3.6.2" and python_version < "4" and python_version >= "2.7"
|
||||
whitenoise==6.2.0; python_version >= "3.7"
|
||||
zipp==3.8.1; python_version < "3.10" and python_version >= "3.7"
|
||||
zope.interface==5.4.0; python_full_version >= "3.6.7" and python_version >= "3.7"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
__version__ = '0.1.0'
|
||||
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |