35 Commits
Author SHA1 Message Date
marc 7047e12672 update
Pylint / build (push) Canceled after 0s
2022-08-10 00:13:28 +02:00
marc 45abdaac35 update 2022-08-10 00:11:44 +02:00
marc cdd6cf3b01 start src entrypoint 2022-05-30 02:56:47 +02:00
marc eca04cfd5f update 2022-05-30 02:55:29 +02:00
marc 1cfd54557f clean 2022-05-30 02:50:21 +02:00
marc 5ec0571552 no avatar url 2022-05-30 02:47:22 +02:00
marc 1b2fee869d pyyaml 2022-05-30 02:46:47 +02:00
marc 7154c5cf0b djangorestframework 2022-05-30 02:46:05 +02:00
marc c3346147b8 rich 2022-05-30 02:45:40 +02:00
marc 6be82d3dd5 pillow 2022-05-30 02:44:56 +02:00
marc 0cc1bfaf43 remove django avatar since not kept up to date 2022-05-30 02:44:31 +02:00
marc 2b25ee52f4 remove django-cors-middleware since not up to date 2022-05-30 02:41:51 +02:00
marc 29dc4867ca django-jsonfield-backport 2022-05-30 02:34:42 +02:00
marc 99d9d06031 django-shortuuidfield 2022-05-30 02:34:16 +02:00
marc 75a480a45d shortuuid 2022-05-30 02:33:39 +02:00
marc 3bafa8fefc django-robots 2022-05-30 02:33:17 +02:00
marc 0df9968808 django-avatar 2022-05-30 02:32:38 +02:00
marc 9726ad5bb0 django-q 2022-05-30 02:32:12 +02:00
marc 8645d24040 django-sql-explorer 2022-05-30 02:31:55 +02:00
marc 6fc875415e django-ftpserver 2022-05-30 02:30:37 +02:00
marc b497b18061 django-mdeditor 2022-05-30 02:30:08 +02:00
marc d2f576f580 django-markdown-view 2022-05-30 02:29:23 +02:00
marc 8544c7133b django compressor 2022-05-30 02:28:21 +02:00
marc 63fe396e04 django cors 2022-05-30 02:27:49 +02:00
marc 52e1ae87f3 django allauth 2022-05-30 02:27:17 +02:00
marc e13499b4b8 django extensions 2022-05-30 02:26:48 +02:00
marc 6896adf094 django crispy forms 2022-05-30 02:26:26 +02:00
marc 04673d4668 django storages 2022-05-30 02:25:50 +02:00
marc b9be118a96 channels 2022-05-30 02:25:12 +02:00
marc a2f34cdbd2 django heroku just in case 2022-05-30 02:24:21 +02:00
marc e7faf43580 dev dependencies for myself 2022-05-30 02:19:44 +02:00
marc cbd4e82f57 python-dotenv 2022-05-30 02:18:53 +02:00
marc f70c43eb99 django 2022-05-30 02:15:59 +02:00
marc a475ceb36f poetry first 2022-05-30 02:12:15 +02:00
marc fae9d8c7f3 move 2022-05-30 02:11:28 +02:00
2757 changed files with 269042 additions and 2202 deletions
+2 -1
View File
@@ -15,7 +15,8 @@ venv
.buildpacks
*.pem
*.crt
Pipfile
Pipfile.lock
.travis.yml
.gitignore
.dockerignore
requirements.txt
-41
View File
@@ -1,41 +0,0 @@
name: Docker
on:
push:
branches:
- "*"
# Publish `v1.2.3` tags as releases.
tags:
- v*
# Run tests for any PRs.
pull_request:
env:
IMAGE_NAME: website
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push Docker images
uses: docker/build-push-action@v3
with:
context: .
push: false
tags: marcpartensky/website:latest
+3 -11
View File
@@ -19,6 +19,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Update apt
run: sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
- name: Install make
run: sudo apt install make -y
- name: Install Python3.7
@@ -34,23 +36,13 @@ jobs:
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build and push
id: build
uses: docker/build-push-action@v2
with:
push: false
tags: marcpartensky/website:latest
- name: Compose up
run: docker-compose -f dev.yml up -d website postgres mysql
- name: Test
run: docker-compose run test
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
id: push
id: docker_build
uses: docker/build-push-action@v2
with:
push: true
+8 -15
View File
@@ -1,15 +1,4 @@
FROM python:3.7.12-alpine as builder
COPY . /app
WORKDIR /app
RUN apk update
RUN apk add curl npm
RUN pip install pipenv
RUN pipenv update
RUN npm install
FROM python:3.7.12-alpine
FROM python:3.7.12
# ARG timestamp
# ARG commit
LABEL maintainer="marc.partensky@gmail.com"
@@ -19,11 +8,15 @@ LABEL link="https://marcpartensky.com"
# LABEL build.timestamp=timestamp
# LABEL build.commit=commit
COPY --from=builder . /app
COPY . /app
WORKDIR /app
RUN apk update
RUN apk add curl npm
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
# No .pyo and easier debugging
ENV PYTHONDONTWRITEBYTECODE 1
+4 -6
View File
@@ -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
+75 -154
View File
@@ -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"
Generated
+240 -1693
View File
File diff suppressed because it is too large Load Diff
View File
+34 -36
View File
@@ -21,6 +21,16 @@ x-common:
REDIS_URL: redis:6379
services:
# nginx:
# image: jwilder/nginx-proxy
# restart: unless-stopped
# networks:
# - web
# ports:
# - "127.0.1.1:80:80"
# volumes:
# - /var/run/docker.sock:/tmp/docker.sock:ro
website:
image: marcpartensky/website
environment:
@@ -43,12 +53,6 @@ services:
- postgres
networks:
- web
healthcheck:
test: ["CMD", "curl", "-fs", "http://website:80/robots.txt"]
interval: 1m30s
timeout: 10s
retries: 3
start_period: 40s
postgres:
image: postgres
@@ -105,38 +109,32 @@ 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}}"
test:
image: jwilder/dockerize
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
command: -wait http://website:8080/healthcheck -timeout 120s -wait-retry-interval 5s
- 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}}"
networks:
web:
+6 -4
View File
@@ -1,5 +1,7 @@
#!/bin/sh
src=./website
port=${1:-$PORT}
host=${2:-$HOST}
port=${port:-"80"}
@@ -21,10 +23,10 @@ echo $$ > /tmp/website.pid
setup() {
echo -e "Running \033[1mentrypoint.sh\033[0m using $HOST:$PORT"
./manage.py migrate
$src/manage.py migrate
echo -e "Creating \033[1msuper user\033[0m using:\n - username: \033[1m$username\033[0m\n - email: \033[1m$email\033[0m\n"
./manage.py createsuperuser --user $username --email $email --noinput
./manage.py collectstatic --noinput --clear
$src/manage.py createsuperuser --user $username --email $email --noinput
$src/manage.py collectstatic --noinput --clear
}
if [[ ! -z $NOSETUP && ! $1 = "--nosetup" ]]; then
@@ -35,5 +37,5 @@ fi
if [ -z $PRODUCTION ]; then
daphne django_project.asgi:application --port $port --bind $host -v2
else
./manage.py runserver 127.0.0.1:8000
$src/manage.py runserver 127.0.0.1:8000
fi
+60 -60
View File
@@ -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",
@@ -173,9 +173,9 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"node_modules/is-core-module": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
"integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
"integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
"dependencies": {
"has": "^1.0.3"
},
@@ -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",
@@ -250,7 +250,7 @@
"node_modules/merge-stream": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
"integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
"integrity": "sha512-e6RM36aegd4f+r8BZCcYXlO2P3H6xbUM6ktL2Xmf45GAOit9bI4z6/3VU7JwllVO1L7u0UDSg/EhzQ5lmMLolA==",
"dependencies": {
"readable-stream": "^2.0.1"
}
@@ -258,7 +258,7 @@
"node_modules/microee": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/microee/-/microee-0.0.6.tgz",
"integrity": "sha1-oSvbAQNoHosSapsHHrpMRnx4//4="
"integrity": "sha512-/LdL3jiBWDJ3oQIRLgRhfeCZNE3patM1LiwCC124+/HHn10sI/G2OAyiMfTNzH5oYWoZBk0tRZADAUOv+0Wt0A=="
},
"node_modules/minimatch": {
"version": "3.0.8",
@@ -279,7 +279,7 @@
"node_modules/miniq": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/miniq/-/miniq-1.0.1.tgz",
"integrity": "sha1-hV7SmtMZRW8IeFobTwa7vdmk8sE=",
"integrity": "sha512-nbUT6JYbZTCSCyEbsXZh4bF1k5G4liC8Q+iFCm13THwx0MmtTI7wwocwKHLNJRQg9jAdRvuLdhCvpeC2zN4NjA==",
"dependencies": {
"microee": "0.0.6",
"ondone": "~1.0.0"
@@ -288,7 +288,7 @@
"node_modules/mm-brace-expand": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/mm-brace-expand/-/mm-brace-expand-0.0.1.tgz",
"integrity": "sha1-jrbgqZ+HrTT/8YJzMRBJadjFBP4="
"integrity": "sha512-sa51AQQobDS+0uqkzK30lwLP5ij72W5I0MWceB6ckwC8iSldurz+QXNosHQIKUIfqDtCSs74HLgP8ithBeTs+Q=="
},
"node_modules/neo-async": {
"version": "2.6.2",
@@ -298,7 +298,7 @@
"node_modules/ondone": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/ondone/-/ondone-1.0.0.tgz",
"integrity": "sha1-+yCDFtesKVG9zGlqfYZL8hr3oAg="
"integrity": "sha512-AzeDPeQX8GDSg9ynk7AR7l5Q4+5tuioS2x7O8bzN1BrlR/wQsa+uFzTt/nLxQ2tU9i0mSymkFkCKGVFSs2Vyew=="
},
"node_modules/path-parse": {
"version": "1.0.7",
@@ -308,7 +308,7 @@
"node_modules/pipe-iterators": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/pipe-iterators/-/pipe-iterators-1.3.0.tgz",
"integrity": "sha1-BftiWCLXED3Exz+/6BdYTKVh8Lg=",
"integrity": "sha512-fj8hpBfOE76XJa1bwhfCOIPe/mWAsvZtVBBsgIlBpGXZEOeDQpKxCl8izAOVj3cOlupZJRthwXJZfj7390f+3w==",
"dependencies": {
"clone": "~1.0.2",
"merge-stream": "~1.0.0",
@@ -362,12 +362,12 @@
"node_modules/process-nextick-args": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
"integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw=="
},
"node_modules/readable-stream": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
"integrity": "sha512-TXcFfb63BQe1+ySzsHZI/5v1aJPCShfqvWJ64ayNImXMsN1Cd0YGk/wm8KB7/OeessgPc9QvS9Zou8QTkFzsLw==",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -380,17 +380,17 @@
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/resolve": {
"version": "1.22.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
"integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
"version": "1.22.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
"integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
"dependencies": {
"is-core-module": "^2.8.1",
"is-core-module": "^2.9.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@@ -431,7 +431,7 @@
"node_modules/string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
},
"node_modules/string-width": {
"version": "4.2.3",
@@ -498,9 +498,9 @@
}
},
"node_modules/uglify-js": {
"version": "3.15.5",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.5.tgz",
"integrity": "sha512-hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ==",
"version": "3.16.3",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.3.tgz",
"integrity": "sha512-uVbFqx9vvLhQg0iBaau9Z75AxWJ8tqM9AV890dIZCLApF4rTcyHwmAvLeEdYRs+BzYWu8Iw81F79ah0EfTXbaw==",
"optional": true,
"bin": {
"uglifyjs": "bin/uglifyjs"
@@ -512,12 +512,12 @@
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"node_modules/wildglob": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/wildglob/-/wildglob-0.1.1.tgz",
"integrity": "sha1-Dz+i9HHeSOwiSW3Vee2o+5Oqeto=",
"integrity": "sha512-sLsXCDxFfDFxTB2dLaycS/a1ois/GxfYviyD6RX6osd+MeGtfPsBayYfE1O6ELGN6f3plIrYqrDzmoXG5asLZw==",
"dependencies": {
"glob-parse": "0.0.1",
"microee": "0.0.6",
@@ -530,12 +530,12 @@
"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",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -546,7 +546,7 @@
"node_modules/wildglob/node_modules/through2": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
"dependencies": {
"readable-stream": ">=1.0.33-1 <1.1.0-0",
"xtend": ">=4.0.0 <4.1.0-0"
@@ -555,7 +555,7 @@
"node_modules/wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
"integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q=="
},
"node_modules/wrap-ansi": {
"version": "7.0.0",
@@ -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",
@@ -742,9 +742,9 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"is-core-module": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
"integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
"integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
"requires": {
"has": "^1.0.3"
}
@@ -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",
@@ -801,7 +801,7 @@
"merge-stream": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
"integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
"integrity": "sha512-e6RM36aegd4f+r8BZCcYXlO2P3H6xbUM6ktL2Xmf45GAOit9bI4z6/3VU7JwllVO1L7u0UDSg/EhzQ5lmMLolA==",
"requires": {
"readable-stream": "^2.0.1"
}
@@ -809,7 +809,7 @@
"microee": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/microee/-/microee-0.0.6.tgz",
"integrity": "sha1-oSvbAQNoHosSapsHHrpMRnx4//4="
"integrity": "sha512-/LdL3jiBWDJ3oQIRLgRhfeCZNE3patM1LiwCC124+/HHn10sI/G2OAyiMfTNzH5oYWoZBk0tRZADAUOv+0Wt0A=="
},
"minimatch": {
"version": "3.0.8",
@@ -827,7 +827,7 @@
"miniq": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/miniq/-/miniq-1.0.1.tgz",
"integrity": "sha1-hV7SmtMZRW8IeFobTwa7vdmk8sE=",
"integrity": "sha512-nbUT6JYbZTCSCyEbsXZh4bF1k5G4liC8Q+iFCm13THwx0MmtTI7wwocwKHLNJRQg9jAdRvuLdhCvpeC2zN4NjA==",
"requires": {
"microee": "0.0.6",
"ondone": "~1.0.0"
@@ -836,7 +836,7 @@
"mm-brace-expand": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/mm-brace-expand/-/mm-brace-expand-0.0.1.tgz",
"integrity": "sha1-jrbgqZ+HrTT/8YJzMRBJadjFBP4="
"integrity": "sha512-sa51AQQobDS+0uqkzK30lwLP5ij72W5I0MWceB6ckwC8iSldurz+QXNosHQIKUIfqDtCSs74HLgP8ithBeTs+Q=="
},
"neo-async": {
"version": "2.6.2",
@@ -846,7 +846,7 @@
"ondone": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/ondone/-/ondone-1.0.0.tgz",
"integrity": "sha1-+yCDFtesKVG9zGlqfYZL8hr3oAg="
"integrity": "sha512-AzeDPeQX8GDSg9ynk7AR7l5Q4+5tuioS2x7O8bzN1BrlR/wQsa+uFzTt/nLxQ2tU9i0mSymkFkCKGVFSs2Vyew=="
},
"path-parse": {
"version": "1.0.7",
@@ -856,7 +856,7 @@
"pipe-iterators": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/pipe-iterators/-/pipe-iterators-1.3.0.tgz",
"integrity": "sha1-BftiWCLXED3Exz+/6BdYTKVh8Lg=",
"integrity": "sha512-fj8hpBfOE76XJa1bwhfCOIPe/mWAsvZtVBBsgIlBpGXZEOeDQpKxCl8izAOVj3cOlupZJRthwXJZfj7390f+3w==",
"requires": {
"clone": "~1.0.2",
"merge-stream": "~1.0.0",
@@ -914,12 +914,12 @@
"process-nextick-args": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
"integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw=="
},
"readable-stream": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
"integrity": "sha512-TXcFfb63BQe1+ySzsHZI/5v1aJPCShfqvWJ64ayNImXMsN1Cd0YGk/wm8KB7/OeessgPc9QvS9Zou8QTkFzsLw==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -932,14 +932,14 @@
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
},
"resolve": {
"version": "1.22.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
"integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
"version": "1.22.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
"integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
"requires": {
"is-core-module": "^2.8.1",
"is-core-module": "^2.9.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
}
@@ -957,7 +957,7 @@
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
},
"string-width": {
"version": "4.2.3",
@@ -1011,20 +1011,20 @@
}
},
"uglify-js": {
"version": "3.15.5",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.5.tgz",
"integrity": "sha512-hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ==",
"version": "3.16.3",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.3.tgz",
"integrity": "sha512-uVbFqx9vvLhQg0iBaau9Z75AxWJ8tqM9AV890dIZCLApF4rTcyHwmAvLeEdYRs+BzYWu8Iw81F79ah0EfTXbaw==",
"optional": true
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"wildglob": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/wildglob/-/wildglob-0.1.1.tgz",
"integrity": "sha1-Dz+i9HHeSOwiSW3Vee2o+5Oqeto=",
"integrity": "sha512-sLsXCDxFfDFxTB2dLaycS/a1ois/GxfYviyD6RX6osd+MeGtfPsBayYfE1O6ELGN6f3plIrYqrDzmoXG5asLZw==",
"requires": {
"glob-parse": "0.0.1",
"microee": "0.0.6",
@@ -1037,12 +1037,12 @@
"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",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -1053,7 +1053,7 @@
"through2": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
"requires": {
"readable-stream": ">=1.0.33-1 <1.1.0-0",
"xtend": ">=4.0.0 <4.1.0-0"
@@ -1064,7 +1064,7 @@
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
"integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q=="
},
"wrap-ansi": {
"version": "7.0.0",
Generated
+1305
View File
File diff suppressed because it is too large Load Diff
+40
View File
@@ -0,0 +1,40 @@
[tool.poetry]
name = "website"
version = "0.1.0"
description = ""
authors = ["Marc Partensky <marc.partensky@gmail.com>"]
[tool.poetry.dependencies]
python = "^3.10"
Django = "^4.0.4"
python-dotenv = "^0.20.0"
django-heroku = "^0.3.1"
channels = "^3.0.4"
django-storages = "^1.12.3"
django-crispy-forms = "^1.14.0"
django-extensions = "^3.1.5"
django-allauth = "^0.50.0"
django-compressor = "^4.0"
django-markdown-view = "^0.0.5"
django-mdeditor = "^0.1.20"
django-ftpserver = "^0.8.0"
django-sql-explorer = "^2.4.1"
django-q = "^1.3.9"
django-robots = "^5.0"
shortuuid = "^1.0.9"
django-shortuuidfield = "^0.1.3"
django-jsonfield-backport = "^1.0.5"
Pillow = "^9.1.1"
rich = "^12.4.4"
djangorestframework = "^3.13.1"
PyYAML = "^6.0"
[tool.poetry.dev-dependencies]
pytest = "^5.2"
pylint = "^2.13.9"
neovim = "^0.3.1"
black = "^22.3.0"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
+64 -170
View File
@@ -1,180 +1,74 @@
#
# 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
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.8"
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.0; 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.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
django-appconf==1.0.5; python_version >= "3.6"
django-compressor==4.1
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==4.1; python_version >= "3.8"
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"
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==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.12.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.1; python_version >= "3.6"
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.8"
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_version >= "3.7"
tzdata==2022.1; sys_platform == "win32" and python_version >= "3.8" and python_full_version >= "3.6.2" and python_version < "4"
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"
zope.interface==5.4.0; python_full_version >= "3.6.7" and python_version >= "3.7"
+1
View File
@@ -0,0 +1 @@
__version__ = '0.1.0'
View File
View File
View File

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

Some files were not shown because too many files have changed in this diff Show More