forked from data.coop/membersystem
Switch out poetry with pip-tools.
This commit is contained in:
parent
3dde14614f
commit
4c5803545d
6
.dockerignore
Normal file
6
.dockerignore
Normal file
|
@ -0,0 +1,6 @@
|
|||
*
|
||||
.*
|
||||
*/.*
|
||||
|
||||
!src/
|
||||
!requirements/
|
26
Dockerfile
26
Dockerfile
|
@ -6,9 +6,10 @@ ENV PYTHONFAULTHANDLER=1 \
|
|||
PYTHONHASHSEED=random \
|
||||
PIP_NO_CACHE_DIR=off \
|
||||
PIP_DISABLE_PIP_VERSION_CHECK=on \
|
||||
PIP_DEFAULT_TIMEOUT=100 \
|
||||
POETRY_VERSION=1.1.12 \
|
||||
POETRY_VIRTUALENVS_IN_PROJECT=true
|
||||
PIP_DEFAULT_TIMEOUT=100
|
||||
ARG DJANGO_ENV
|
||||
ARG BUILD
|
||||
ENV BUILD ${BUILD}
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y \
|
||||
|
@ -22,24 +23,15 @@ RUN apt-get update \
|
|||
libgdk-pixbuf2.0-0 \
|
||||
libffi-dev \
|
||||
shared-mime-info \
|
||||
gettext \
|
||||
&& pip install "poetry==$POETRY_VERSION"
|
||||
gettext
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY poetry.lock pyproject.toml /app/
|
||||
|
||||
ARG DJANGO_ENV
|
||||
|
||||
RUN poetry export --without-hashes -f requirements.txt $(test "$DJANGO_ENV" != production && echo "--dev") | pip install -r /dev/stdin
|
||||
|
||||
RUN groupadd -g 1000 www
|
||||
RUN useradd -u 1000 -ms /bin/bash -g www www
|
||||
COPY --chown=www:www ./ /app/
|
||||
RUN groupadd -g 1000 www && useradd -u 1000 -ms /bin/bash -g www www
|
||||
COPY --chown=www:www . /app/
|
||||
RUN mkdir /app/src/static && chown www:www /app/src/static
|
||||
|
||||
ARG BUILD
|
||||
ENV BUILD ${BUILD}
|
||||
RUN pip install -r requirements/$([ "$DJANGO_ENV" = "production" ] && echo "base.txt" || echo "dev.txt") &&\
|
||||
django-admin compilemessages
|
||||
|
||||
ENTRYPOINT ["./entrypoint.sh"]
|
||||
|
||||
|
|
19
Makefile
19
Makefile
|
@ -5,9 +5,19 @@ DOCKER_CONTAINER_NAME = backend
|
|||
MANAGE_EXEC = python /app/src/manage.py
|
||||
MANAGE_COMMAND = ${DOCKER_RUN} ${DOCKER_CONTAINER_NAME} ${MANAGE_EXEC}
|
||||
|
||||
init: setup_venv pre_commit_install migrate
|
||||
|
||||
run:
|
||||
${DOCKER_COMPOSE} up
|
||||
|
||||
setup_venv:
|
||||
python3.10 -m venv venv;
|
||||
venv/bin/python -m pip install wheel setuptools;
|
||||
venv/bin/python -m pip install docker-compose pre-commit boto3 pip-tools;
|
||||
|
||||
pre_commit_install:
|
||||
venv/bin/pre-commit install
|
||||
|
||||
makemigrations:
|
||||
${MANAGE_COMMAND} makemigrations ${EXTRA_ARGS}
|
||||
|
||||
|
@ -37,3 +47,12 @@ poetry_command:
|
|||
|
||||
build_docker_image:
|
||||
${DOCKER_COMPOSE} build ${DOCKER_CONTAINER_NAME}
|
||||
|
||||
compile_requirements:
|
||||
./venv/bin/pip-compile --output-file requirements/base.txt requirements/base.in
|
||||
|
||||
compile_requirements_test: compile_requirements
|
||||
./venv/bin/pip-compile --output-file requirements/test.txt requirements/test.in
|
||||
|
||||
compile_requirements_dev: compile_requirements_test
|
||||
./venv/bin/pip-compile --output-file requirements/dev.txt requirements/dev.in
|
||||
|
|
551
poetry.lock
generated
551
poetry.lock
generated
|
@ -1,551 +0,0 @@
|
|||
[[package]]
|
||||
name = "asgiref"
|
||||
version = "3.5.2"
|
||||
description = "ASGI specs, helper code, and adapters"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[package.extras]
|
||||
tests = ["pytest", "pytest-asyncio", "mypy (>=0.800)"]
|
||||
|
||||
[[package]]
|
||||
name = "atomicwrites"
|
||||
version = "1.4.0"
|
||||
description = "Atomic file writes."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
|
||||
[[package]]
|
||||
name = "attrs"
|
||||
version = "21.2.0"
|
||||
description = "Classes Without Boilerplate"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||
|
||||
[package.extras]
|
||||
dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit"]
|
||||
docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"]
|
||||
tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface"]
|
||||
tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins"]
|
||||
|
||||
[[package]]
|
||||
name = "certifi"
|
||||
version = "2021.5.30"
|
||||
description = "Python package for providing Mozilla's CA Bundle."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "cffi"
|
||||
version = "1.14.6"
|
||||
description = "Foreign Function Interface for Python calling C code."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[package.dependencies]
|
||||
pycparser = "*"
|
||||
|
||||
[[package]]
|
||||
name = "charset-normalizer"
|
||||
version = "2.0.6"
|
||||
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.5.0"
|
||||
|
||||
[package.extras]
|
||||
unicode_backport = ["unicodedata2"]
|
||||
|
||||
[[package]]
|
||||
name = "click"
|
||||
version = "7.1.2"
|
||||
description = "Composable command line interface toolkit"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||
|
||||
[[package]]
|
||||
name = "colorama"
|
||||
version = "0.4.4"
|
||||
description = "Cross-platform colored terminal text."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||
|
||||
[[package]]
|
||||
name = "cryptography"
|
||||
version = "35.0.0"
|
||||
description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.dependencies]
|
||||
cffi = ">=1.12"
|
||||
|
||||
[package.extras]
|
||||
docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"]
|
||||
docstest = ["doc8", "pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"]
|
||||
pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"]
|
||||
sdist = ["setuptools_rust (>=0.11.4)"]
|
||||
ssh = ["bcrypt (>=3.1.5)"]
|
||||
test = ["pytest (>=6.2.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"]
|
||||
|
||||
[[package]]
|
||||
name = "defusedxml"
|
||||
version = "0.7.1"
|
||||
description = "XML bomb protection for Python stdlib modules"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||
|
||||
[[package]]
|
||||
name = "dj-database-url"
|
||||
version = "0.5.0"
|
||||
description = "Use Database URLs in your Django Application."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "dj-email-url"
|
||||
version = "1.0.2"
|
||||
description = "Use an URL to configure email backend settings in your Django Application."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "django"
|
||||
version = "4.1"
|
||||
description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
|
||||
[package.dependencies]
|
||||
asgiref = ">=3.5.2,<4"
|
||||
sqlparse = ">=0.2.2"
|
||||
tzdata = {version = "*", markers = "sys_platform == \"win32\""}
|
||||
|
||||
[package.extras]
|
||||
argon2 = ["argon2-cffi (>=19.1.0)"]
|
||||
bcrypt = ["bcrypt"]
|
||||
|
||||
[[package]]
|
||||
name = "django-allauth"
|
||||
version = "0.46.0"
|
||||
description = "Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[package.dependencies]
|
||||
Django = ">=2.0"
|
||||
pyjwt = {version = ">=1.7", extras = ["crypto"]}
|
||||
python3-openid = ">=3.0.8"
|
||||
requests = "*"
|
||||
requests-oauthlib = ">=0.3.0"
|
||||
|
||||
[[package]]
|
||||
name = "django-cache-url"
|
||||
version = "3.2.3"
|
||||
description = "Use Cache URLs in your Django application."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "django-debug-toolbar"
|
||||
version = "3.5.0"
|
||||
description = "A configurable set of panels that display various debug information about the current request/response."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[package.dependencies]
|
||||
Django = ">=3.2"
|
||||
sqlparse = ">=0.2.0"
|
||||
|
||||
[[package]]
|
||||
name = "django-money"
|
||||
version = "1.3"
|
||||
description = "Adds support for using money and currency fields in django models and forms. Uses py-moneyed as the money implementation."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
|
||||
[package.dependencies]
|
||||
Django = ">=1.11"
|
||||
py-moneyed = ">=0.8,<1.0"
|
||||
|
||||
[package.extras]
|
||||
test = ["mixer", "django-reversion", "pytest-cov", "pytest-pythonpath", "pytest-django", "pytest (>=3.1.0)"]
|
||||
exchange = ["certifi"]
|
||||
|
||||
[[package]]
|
||||
name = "environs"
|
||||
version = "9.5.0"
|
||||
description = "simplified environment variable parsing"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.dependencies]
|
||||
dj-database-url = {version = "*", optional = true, markers = "extra == \"django\""}
|
||||
dj-email-url = {version = "*", optional = true, markers = "extra == \"django\""}
|
||||
django-cache-url = {version = "*", optional = true, markers = "extra == \"django\""}
|
||||
marshmallow = ">=3.0.0"
|
||||
python-dotenv = "*"
|
||||
|
||||
[package.extras]
|
||||
dev = ["pytest", "dj-database-url", "dj-email-url", "django-cache-url", "flake8 (==4.0.1)", "flake8-bugbear (==21.9.2)", "mypy (==0.910)", "pre-commit (>=2.4,<3.0)", "tox"]
|
||||
django = ["dj-database-url", "dj-email-url", "django-cache-url"]
|
||||
lint = ["flake8 (==4.0.1)", "flake8-bugbear (==21.9.2)", "mypy (==0.910)", "pre-commit (>=2.4,<3.0)"]
|
||||
tests = ["pytest", "dj-database-url", "dj-email-url", "django-cache-url"]
|
||||
|
||||
[[package]]
|
||||
name = "h11"
|
||||
version = "0.12.0"
|
||||
description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[[package]]
|
||||
name = "idna"
|
||||
version = "3.2"
|
||||
description = "Internationalized Domain Names in Applications (IDNA)"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
|
||||
[[package]]
|
||||
name = "marshmallow"
|
||||
version = "3.13.0"
|
||||
description = "A lightweight library for converting complex datatypes to and from native Python datatypes."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
|
||||
[package.extras]
|
||||
dev = ["pytest", "pytz", "simplejson", "mypy (==0.910)", "flake8 (==3.9.2)", "flake8-bugbear (==21.4.3)", "pre-commit (>=2.4,<3.0)", "tox"]
|
||||
docs = ["sphinx (==4.1.1)", "sphinx-issues (==1.2.0)", "alabaster (==0.7.12)", "sphinx-version-warning (==1.1.2)", "autodocsumm (==0.2.6)"]
|
||||
lint = ["mypy (==0.910)", "flake8 (==3.9.2)", "flake8-bugbear (==21.4.3)", "pre-commit (>=2.4,<3.0)"]
|
||||
tests = ["pytest", "pytz", "simplejson"]
|
||||
|
||||
[[package]]
|
||||
name = "more-itertools"
|
||||
version = "8.10.0"
|
||||
description = "More routines for operating on iterables, beyond itertools"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
|
||||
[[package]]
|
||||
name = "oauthlib"
|
||||
version = "3.1.1"
|
||||
description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.extras]
|
||||
rsa = ["cryptography (>=3.0.0,<4)"]
|
||||
signals = ["blinker (>=1.4.0)"]
|
||||
signedtoken = ["cryptography (>=3.0.0,<4)", "pyjwt (>=2.0.0,<3)"]
|
||||
|
||||
[[package]]
|
||||
name = "packaging"
|
||||
version = "21.0"
|
||||
description = "Core utilities for Python packages"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.dependencies]
|
||||
pyparsing = ">=2.0.2"
|
||||
|
||||
[[package]]
|
||||
name = "pluggy"
|
||||
version = "0.13.1"
|
||||
description = "plugin and hook calling mechanisms for python"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
|
||||
[package.extras]
|
||||
dev = ["pre-commit", "tox"]
|
||||
|
||||
[[package]]
|
||||
name = "psycopg2"
|
||||
version = "2.9.2"
|
||||
description = "psycopg2 - Python-PostgreSQL Database Adapter"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[[package]]
|
||||
name = "py"
|
||||
version = "1.10.0"
|
||||
description = "library with cross-python path, ini-parsing, io, code, log facilities"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
|
||||
[[package]]
|
||||
name = "py-moneyed"
|
||||
version = "0.8.0"
|
||||
description = "Provides Currency and Money classes for use in your Python code."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[package.extras]
|
||||
tests = ["tox (>=1.6.0)", "pytest (>=2.3.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "pycparser"
|
||||
version = "2.20"
|
||||
description = "C parser in Python"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
|
||||
[[package]]
|
||||
name = "pyjwt"
|
||||
version = "2.4.0"
|
||||
description = "JSON Web Token implementation in Python"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.dependencies]
|
||||
cryptography = {version = ">=3.3.1", optional = true, markers = "extra == \"crypto\""}
|
||||
|
||||
[package.extras]
|
||||
tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"]
|
||||
docs = ["zope.interface", "sphinx-rtd-theme", "sphinx"]
|
||||
dev = ["pre-commit", "mypy", "coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)", "cryptography (>=3.3.1)", "zope.interface", "sphinx-rtd-theme", "sphinx"]
|
||||
crypto = ["cryptography (>=3.3.1)"]
|
||||
|
||||
[[package]]
|
||||
name = "pyparsing"
|
||||
version = "2.4.7"
|
||||
description = "Python parsing module"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
|
||||
|
||||
[[package]]
|
||||
name = "pytest"
|
||||
version = "5.1.0"
|
||||
description = "pytest: simple powerful testing with Python"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
|
||||
[package.dependencies]
|
||||
atomicwrites = ">=1.0"
|
||||
attrs = ">=17.4.0"
|
||||
colorama = {version = "*", markers = "sys_platform == \"win32\""}
|
||||
more-itertools = ">=4.0.0"
|
||||
packaging = "*"
|
||||
pluggy = ">=0.12,<1.0"
|
||||
py = ">=1.5.0"
|
||||
wcwidth = "*"
|
||||
|
||||
[package.extras]
|
||||
testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
|
||||
|
||||
[[package]]
|
||||
name = "pytest-django"
|
||||
version = "3.5.0"
|
||||
description = "A Django plugin for pytest."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
|
||||
[package.dependencies]
|
||||
pytest = ">=3.6"
|
||||
|
||||
[package.extras]
|
||||
docs = ["sphinx", "sphinx-rtd-theme"]
|
||||
testing = ["django", "django-configurations (>=2.0)", "six"]
|
||||
|
||||
[[package]]
|
||||
name = "python-dotenv"
|
||||
version = "0.19.0"
|
||||
description = "Read key-value pairs from a .env file and set them as environment variables"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
|
||||
[package.extras]
|
||||
cli = ["click (>=5.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "python3-openid"
|
||||
version = "3.2.0"
|
||||
description = "OpenID support for modern servers and consumers."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[package.dependencies]
|
||||
defusedxml = "*"
|
||||
|
||||
[package.extras]
|
||||
mysql = ["mysql-connector-python"]
|
||||
postgresql = ["psycopg2"]
|
||||
|
||||
[[package]]
|
||||
name = "requests"
|
||||
version = "2.26.0"
|
||||
description = "Python HTTP for Humans."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
|
||||
|
||||
[package.dependencies]
|
||||
certifi = ">=2017.4.17"
|
||||
charset-normalizer = {version = ">=2.0.0,<2.1.0", markers = "python_version >= \"3\""}
|
||||
idna = {version = ">=2.5,<4", markers = "python_version >= \"3\""}
|
||||
urllib3 = ">=1.21.1,<1.27"
|
||||
|
||||
[package.extras]
|
||||
socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"]
|
||||
use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"]
|
||||
|
||||
[[package]]
|
||||
name = "requests-oauthlib"
|
||||
version = "1.3.0"
|
||||
description = "OAuthlib authentication support for Requests."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
|
||||
[package.dependencies]
|
||||
oauthlib = ">=3.0.0"
|
||||
requests = ">=2.0.0"
|
||||
|
||||
[package.extras]
|
||||
rsa = ["oauthlib[signedtoken] (>=3.0.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "sqlparse"
|
||||
version = "0.4.2"
|
||||
description = "A non-validating SQL parser."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
|
||||
[[package]]
|
||||
name = "tzdata"
|
||||
version = "2021.5"
|
||||
description = "Provider of IANA time zone data"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=2"
|
||||
|
||||
[[package]]
|
||||
name = "urllib3"
|
||||
version = "1.26.7"
|
||||
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
|
||||
|
||||
[package.extras]
|
||||
brotli = ["brotlipy (>=0.6.0)"]
|
||||
secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
|
||||
socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "uvicorn"
|
||||
version = "0.13.4"
|
||||
description = "The lightning-fast ASGI server."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[package.dependencies]
|
||||
click = ">=7.0.0,<8.0.0"
|
||||
h11 = ">=0.8"
|
||||
|
||||
[package.extras]
|
||||
standard = ["websockets (>=8.0.0,<9.0.0)", "watchgod (>=0.6)", "python-dotenv (>=0.13)", "PyYAML (>=5.1)", "httptools (>=0.1.0,<0.2.0)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "colorama (>=0.4)"]
|
||||
|
||||
[[package]]
|
||||
name = "wcwidth"
|
||||
version = "0.2.5"
|
||||
description = "Measures the displayed width of unicode strings in a terminal"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "whitenoise"
|
||||
version = "5.2.0"
|
||||
description = "Radically simplified static file serving for WSGI applications"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.5, <4"
|
||||
|
||||
[package.extras]
|
||||
brotli = ["brotli"]
|
||||
|
||||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = "^3.10"
|
||||
content-hash = "36626d533a72d4a8597cc1109cf41e383ef0f3663e36770cfe00feac0679ac7d"
|
||||
|
||||
[metadata.files]
|
||||
asgiref = []
|
||||
atomicwrites = []
|
||||
attrs = []
|
||||
certifi = []
|
||||
cffi = []
|
||||
charset-normalizer = []
|
||||
click = []
|
||||
colorama = []
|
||||
cryptography = []
|
||||
defusedxml = []
|
||||
dj-database-url = []
|
||||
dj-email-url = []
|
||||
django = []
|
||||
django-allauth = []
|
||||
django-cache-url = []
|
||||
django-debug-toolbar = []
|
||||
django-money = []
|
||||
environs = []
|
||||
h11 = []
|
||||
idna = []
|
||||
marshmallow = []
|
||||
more-itertools = []
|
||||
oauthlib = []
|
||||
packaging = []
|
||||
pluggy = []
|
||||
psycopg2 = []
|
||||
py = []
|
||||
py-moneyed = []
|
||||
pycparser = []
|
||||
pyjwt = []
|
||||
pyparsing = []
|
||||
pytest = []
|
||||
pytest-django = []
|
||||
python-dotenv = []
|
||||
python3-openid = []
|
||||
requests = []
|
||||
requests-oauthlib = []
|
||||
sqlparse = []
|
||||
tzdata = []
|
||||
urllib3 = []
|
||||
uvicorn = []
|
||||
wcwidth = []
|
||||
whitenoise = []
|
|
@ -1,24 +0,0 @@
|
|||
[tool.poetry]
|
||||
name = "membersystem"
|
||||
version = "0.1.0"
|
||||
description = ""
|
||||
authors = ["Your Name <you@example.com>"]
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.10"
|
||||
Django = "^4.1"
|
||||
django-money = "^1.3"
|
||||
django-allauth = "^0.46"
|
||||
psycopg2 = "^2.9"
|
||||
environs = {extras = ["django"], version = "^9.3"}
|
||||
uvicorn = "^0.13"
|
||||
whitenoise = "^5.2"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
pytest = "^5.1"
|
||||
pytest-django = "^3.5"
|
||||
django-debug-toolbar = "^3.5"
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry>=0.12"]
|
||||
build-backend = "poetry.masonry.api"
|
7
requirements/base.in
Normal file
7
requirements/base.in
Normal file
|
@ -0,0 +1,7 @@
|
|||
Django==4.1
|
||||
django-money==1.3
|
||||
django-allauth==0.46
|
||||
psycopg2-binary==2.9.5
|
||||
environs[django]==9.3
|
||||
uvicorn==0.13
|
||||
whitenoise==5.2
|
79
requirements/base.txt
Normal file
79
requirements/base.txt
Normal file
|
@ -0,0 +1,79 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile with python 3.10
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --output-file=requirements/base.txt requirements/base.in
|
||||
#
|
||||
asgiref==3.5.2
|
||||
# via django
|
||||
certifi==2022.9.24
|
||||
# via requests
|
||||
cffi==1.15.1
|
||||
# via cryptography
|
||||
charset-normalizer==2.1.1
|
||||
# via requests
|
||||
click==7.1.2
|
||||
# via uvicorn
|
||||
cryptography==38.0.3
|
||||
# via pyjwt
|
||||
defusedxml==0.7.1
|
||||
# via python3-openid
|
||||
dj-database-url==1.0.0
|
||||
# via environs
|
||||
dj-email-url==1.0.6
|
||||
# via environs
|
||||
django==4.1
|
||||
# via
|
||||
# -r requirements/base.in
|
||||
# dj-database-url
|
||||
# django-allauth
|
||||
# django-money
|
||||
django-allauth==0.46
|
||||
# via -r requirements/base.in
|
||||
django-cache-url==3.4.2
|
||||
# via environs
|
||||
django-money==1.3
|
||||
# via -r requirements/base.in
|
||||
environs[django]==9.3
|
||||
# via -r requirements/base.in
|
||||
h11==0.14.0
|
||||
# via uvicorn
|
||||
idna==3.4
|
||||
# via requests
|
||||
marshmallow==3.19.0
|
||||
# via environs
|
||||
oauthlib==3.2.2
|
||||
# via requests-oauthlib
|
||||
packaging==21.3
|
||||
# via marshmallow
|
||||
psycopg2-binary==2.9.5
|
||||
# via -r requirements/base.in
|
||||
py-moneyed==0.8.0
|
||||
# via django-money
|
||||
pycparser==2.21
|
||||
# via cffi
|
||||
pyjwt[crypto]==2.6.0
|
||||
# via django-allauth
|
||||
pyparsing==3.0.9
|
||||
# via packaging
|
||||
python-dotenv==0.21.0
|
||||
# via environs
|
||||
python3-openid==3.2.0
|
||||
# via django-allauth
|
||||
requests==2.28.1
|
||||
# via
|
||||
# django-allauth
|
||||
# requests-oauthlib
|
||||
requests-oauthlib==1.3.1
|
||||
# via django-allauth
|
||||
sqlparse==0.4.3
|
||||
# via django
|
||||
urllib3==1.26.12
|
||||
# via requests
|
||||
uvicorn==0.13
|
||||
# via -r requirements/base.in
|
||||
whitenoise==5.2
|
||||
# via -r requirements/base.in
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
# setuptools
|
8
requirements/dev.in
Normal file
8
requirements/dev.in
Normal file
|
@ -0,0 +1,8 @@
|
|||
-r test.txt
|
||||
|
||||
django-browser-reload==1.6.0
|
||||
django-debug-toolbar==3.7.0
|
||||
django-extensions==3.2.1
|
||||
django-stubs==1.12.0
|
||||
ipython==8.6.0
|
||||
mypy==0.990
|
211
requirements/dev.txt
Normal file
211
requirements/dev.txt
Normal file
|
@ -0,0 +1,211 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile with python 3.10
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --output-file=requirements/dev.txt requirements/dev.in
|
||||
#
|
||||
asgiref==3.5.2
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# django
|
||||
asttokens==2.1.0
|
||||
# via stack-data
|
||||
backcall==0.2.0
|
||||
# via ipython
|
||||
certifi==2022.9.24
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# requests
|
||||
cffi==1.15.1
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# cryptography
|
||||
charset-normalizer==2.1.1
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# requests
|
||||
click==7.1.2
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# uvicorn
|
||||
coverage==6.5.0
|
||||
# via -r requirements/test.txt
|
||||
cryptography==38.0.3
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# pyjwt
|
||||
decorator==5.1.1
|
||||
# via ipython
|
||||
defusedxml==0.7.1
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# python3-openid
|
||||
dj-database-url==1.0.0
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# environs
|
||||
dj-email-url==1.0.6
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# environs
|
||||
django==4.1
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# dj-database-url
|
||||
# django-allauth
|
||||
# django-browser-reload
|
||||
# django-debug-toolbar
|
||||
# django-extensions
|
||||
# django-money
|
||||
# django-stubs
|
||||
# django-stubs-ext
|
||||
django-allauth==0.46
|
||||
# via -r requirements/test.txt
|
||||
django-browser-reload==1.6.0
|
||||
# via -r requirements/dev.in
|
||||
django-cache-url==3.4.2
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# environs
|
||||
django-debug-toolbar==3.7.0
|
||||
# via -r requirements/dev.in
|
||||
django-extensions==3.2.1
|
||||
# via -r requirements/dev.in
|
||||
django-money==1.3
|
||||
# via -r requirements/test.txt
|
||||
django-stubs==1.12.0
|
||||
# via -r requirements/dev.in
|
||||
django-stubs-ext==0.7.0
|
||||
# via django-stubs
|
||||
environs[django]==9.3
|
||||
# via -r requirements/test.txt
|
||||
executing==1.2.0
|
||||
# via stack-data
|
||||
h11==0.14.0
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# uvicorn
|
||||
idna==3.4
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# requests
|
||||
ipython==8.6.0
|
||||
# via -r requirements/dev.in
|
||||
jedi==0.18.1
|
||||
# via ipython
|
||||
lxml==4.9.1
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# unittest-xml-reporting
|
||||
marshmallow==3.19.0
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# environs
|
||||
matplotlib-inline==0.1.6
|
||||
# via ipython
|
||||
mypy==0.990
|
||||
# via
|
||||
# -r requirements/dev.in
|
||||
# django-stubs
|
||||
mypy-extensions==0.4.3
|
||||
# via mypy
|
||||
oauthlib==3.2.2
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# requests-oauthlib
|
||||
packaging==21.3
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# marshmallow
|
||||
parso==0.8.3
|
||||
# via jedi
|
||||
pexpect==4.8.0
|
||||
# via ipython
|
||||
pickleshare==0.7.5
|
||||
# via ipython
|
||||
prompt-toolkit==3.0.32
|
||||
# via ipython
|
||||
psycopg2-binary==2.9.5
|
||||
# via -r requirements/test.txt
|
||||
ptyprocess==0.7.0
|
||||
# via pexpect
|
||||
pure-eval==0.2.2
|
||||
# via stack-data
|
||||
py-moneyed==0.8.0
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# django-money
|
||||
pycparser==2.21
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# cffi
|
||||
pygments==2.13.0
|
||||
# via ipython
|
||||
pyjwt[crypto]==2.6.0
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# django-allauth
|
||||
pyparsing==3.0.9
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# packaging
|
||||
python-dotenv==0.21.0
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# environs
|
||||
python3-openid==3.2.0
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# django-allauth
|
||||
requests==2.28.1
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# django-allauth
|
||||
# requests-oauthlib
|
||||
requests-oauthlib==1.3.1
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# django-allauth
|
||||
six==1.16.0
|
||||
# via asttokens
|
||||
sqlparse==0.4.3
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# django
|
||||
# django-debug-toolbar
|
||||
stack-data==0.6.1
|
||||
# via ipython
|
||||
tblib==1.7.0
|
||||
# via -r requirements/test.txt
|
||||
tomli==2.0.1
|
||||
# via
|
||||
# django-stubs
|
||||
# mypy
|
||||
traitlets==5.5.0
|
||||
# via
|
||||
# ipython
|
||||
# matplotlib-inline
|
||||
types-pytz==2022.6.0.1
|
||||
# via django-stubs
|
||||
types-pyyaml==6.0.12.2
|
||||
# via django-stubs
|
||||
typing-extensions==4.4.0
|
||||
# via
|
||||
# django-stubs
|
||||
# django-stubs-ext
|
||||
# mypy
|
||||
unittest-xml-reporting==3.2.0
|
||||
# via -r requirements/test.txt
|
||||
urllib3==1.26.12
|
||||
# via
|
||||
# -r requirements/test.txt
|
||||
# requests
|
||||
uvicorn==0.13
|
||||
# via -r requirements/test.txt
|
||||
wcwidth==0.2.5
|
||||
# via prompt-toolkit
|
||||
whitenoise==5.2
|
||||
# via -r requirements/test.txt
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
# setuptools
|
5
requirements/test.in
Normal file
5
requirements/test.in
Normal file
|
@ -0,0 +1,5 @@
|
|||
-r base.txt
|
||||
|
||||
coverage==6.5.0
|
||||
tblib==1.7.0
|
||||
unittest-xml-reporting==3.2.0
|
136
requirements/test.txt
Normal file
136
requirements/test.txt
Normal file
|
@ -0,0 +1,136 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile with python 3.10
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --output-file=requirements/test.txt requirements/test.in
|
||||
#
|
||||
asgiref==3.5.2
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# django
|
||||
certifi==2022.9.24
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# requests
|
||||
cffi==1.15.1
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# cryptography
|
||||
charset-normalizer==2.1.1
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# requests
|
||||
click==7.1.2
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# uvicorn
|
||||
coverage==6.5.0
|
||||
# via -r requirements/test.in
|
||||
cryptography==38.0.3
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# pyjwt
|
||||
defusedxml==0.7.1
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# python3-openid
|
||||
dj-database-url==1.0.0
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# environs
|
||||
dj-email-url==1.0.6
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# environs
|
||||
django==4.1
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# dj-database-url
|
||||
# django-allauth
|
||||
# django-money
|
||||
django-allauth==0.46
|
||||
# via -r requirements/base.txt
|
||||
django-cache-url==3.4.2
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# environs
|
||||
django-money==1.3
|
||||
# via -r requirements/base.txt
|
||||
environs[django]==9.3
|
||||
# via -r requirements/base.txt
|
||||
h11==0.14.0
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# uvicorn
|
||||
idna==3.4
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# requests
|
||||
lxml==4.9.1
|
||||
# via unittest-xml-reporting
|
||||
marshmallow==3.19.0
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# environs
|
||||
oauthlib==3.2.2
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# requests-oauthlib
|
||||
packaging==21.3
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# marshmallow
|
||||
psycopg2-binary==2.9.5
|
||||
# via -r requirements/base.txt
|
||||
py-moneyed==0.8.0
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# django-money
|
||||
pycparser==2.21
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# cffi
|
||||
pyjwt[crypto]==2.6.0
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# django-allauth
|
||||
pyparsing==3.0.9
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# packaging
|
||||
python-dotenv==0.21.0
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# environs
|
||||
python3-openid==3.2.0
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# django-allauth
|
||||
requests==2.28.1
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# django-allauth
|
||||
# requests-oauthlib
|
||||
requests-oauthlib==1.3.1
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# django-allauth
|
||||
sqlparse==0.4.3
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# django
|
||||
tblib==1.7.0
|
||||
# via -r requirements/test.in
|
||||
unittest-xml-reporting==3.2.0
|
||||
# via -r requirements/test.in
|
||||
urllib3==1.26.12
|
||||
# via
|
||||
# -r requirements/base.txt
|
||||
# requests
|
||||
uvicorn==0.13
|
||||
# via -r requirements/base.txt
|
||||
whitenoise==5.2
|
||||
# via -r requirements/base.txt
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
# setuptools
|
Loading…
Reference in a new issue