mirror of
https://github.com/simple-login/app.git
synced 2024-11-13 07:31:12 +01:00
Revert back to poetry (#2171)
This commit is contained in:
parent
09d955e6ea
commit
10cfc21fe9
6 changed files with 146 additions and 1005 deletions
47
.github/workflows/main.yml
vendored
47
.github/workflows/main.yml
vendored
|
@ -5,39 +5,39 @@ on: [push, pull_request]
|
|||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: true
|
||||
steps:
|
||||
- name: Check out repo
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: "Install rye"
|
||||
id: setup-rye
|
||||
uses: eifinger/setup-rye@v4
|
||||
- name: Install poetry
|
||||
run: pipx install poetry
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
version: '0.37.0'
|
||||
checksum: 'fc7c150acc844fd86d709de1428ca96b585f8340edebc5b537ee9fa231f40884'
|
||||
enable-cache: true
|
||||
python-version: '3.10'
|
||||
cache: 'poetry'
|
||||
|
||||
- name: Install OS dependencies
|
||||
if: ${{ matrix.python-version }} == '3.10'
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y libre2-dev libpq-dev
|
||||
|
||||
- name: Install dependencies
|
||||
if: steps.setup-rye.outputs.cache-hit != 'true'
|
||||
run: rye sync --no-lock
|
||||
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
|
||||
run: poetry install --no-interaction
|
||||
|
||||
- name: Check formatting & linting
|
||||
run: |
|
||||
rye run pre-commit run --all-files
|
||||
poetry run pre-commit run --all-files
|
||||
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
max-parallel: 4
|
||||
fail-fast: true
|
||||
matrix:
|
||||
python-version: ["3.10"]
|
||||
|
||||
# service containers to run with `postgres-job`
|
||||
services:
|
||||
|
@ -69,14 +69,13 @@ jobs:
|
|||
- name: Check out repo
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Install rye
|
||||
id: setup-rye
|
||||
uses: eifinger/setup-rye@v4
|
||||
- name: Install poetry
|
||||
run: pipx install poetry
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
version: '0.37.0'
|
||||
checksum: 'fc7c150acc844fd86d709de1428ca96b585f8340edebc5b537ee9fa231f40884'
|
||||
enable-cache: true
|
||||
cache-prefix: 'rye-cache'
|
||||
python-version: ${{ matrix.python-version }}
|
||||
cache: 'poetry'
|
||||
|
||||
- name: Install OS dependencies
|
||||
if: ${{ matrix.python-version }} == '3.10'
|
||||
|
@ -85,8 +84,9 @@ jobs:
|
|||
sudo apt install -y libre2-dev libpq-dev
|
||||
|
||||
- name: Install dependencies
|
||||
if: steps.setup-rye.outputs.cache-hit != 'true'
|
||||
run: rye sync --no-lock
|
||||
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
|
||||
run: poetry install --no-interaction
|
||||
|
||||
|
||||
- name: Start Redis v6
|
||||
uses: superchargejs/redis-github-action@1.1.0
|
||||
|
@ -95,8 +95,7 @@ jobs:
|
|||
|
||||
- name: Run db migration
|
||||
run: |
|
||||
rye install alembic
|
||||
CONFIG=tests/test.env rye run alembic upgrade head
|
||||
CONFIG=tests/test.env poetry run alembic upgrade head
|
||||
|
||||
- name: Prepare version file
|
||||
run: |
|
||||
|
@ -105,7 +104,7 @@ jobs:
|
|||
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
rye run pytest
|
||||
poetry run pytest
|
||||
env:
|
||||
GITHUB_ACTIONS_TEST: true
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
3.10.14
|
48
Dockerfile
48
Dockerfile
|
@ -4,45 +4,43 @@ WORKDIR /code
|
|||
COPY ./static/package*.json /code/static/
|
||||
RUN cd /code/static && npm ci
|
||||
|
||||
FROM --platform=linux/amd64 ubuntu:22.04
|
||||
|
||||
ARG RYE_VERSION="0.37.0"
|
||||
ARG RYE_HASH="fc7c150acc844fd86d709de1428ca96b585f8340edebc5b537ee9fa231f40884"
|
||||
# Main image
|
||||
FROM python:3.10
|
||||
|
||||
# Keeps Python from generating .pyc files in the container
|
||||
ENV PYTHONDONTWRITEBYTECODE=1
|
||||
ENV PYTHONDONTWRITEBYTECODE 1
|
||||
# Turns off buffering for easier container logging
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
ENV PYTHONUNBUFFERED 1
|
||||
|
||||
# Add poetry to PATH
|
||||
ENV PATH="${PATH}:/root/.local/bin"
|
||||
|
||||
WORKDIR /code
|
||||
|
||||
# Copy dependency files
|
||||
COPY pyproject.toml requirements.lock requirements-dev.lock .python-version ./
|
||||
# Copy poetry files
|
||||
COPY poetry.lock pyproject.toml ./
|
||||
|
||||
# Install deps
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y curl netcat-traditional gcc python3-dev gnupg git libre2-dev build-essential pkg-config cmake ninja-build bash clang \
|
||||
&& curl -sSL "https://github.com/astral-sh/rye/releases/download/${RYE_VERSION}/rye-x86_64-linux.gz" > rye.gz \
|
||||
&& echo "${RYE_HASH} rye.gz" | sha256sum -c - \
|
||||
&& gunzip rye.gz \
|
||||
&& chmod +x rye \
|
||||
&& mv rye /usr/bin/rye \
|
||||
&& rye toolchain fetch `cat .python-version` \
|
||||
&& rye sync --no-lock --no-dev \
|
||||
&& apt-get autoremove -y \
|
||||
&& apt-get purge -y curl netcat-traditional build-essential pkg-config cmake ninja-build python3-dev clang\
|
||||
&& apt-get autoremove -y \
|
||||
# Install and setup poetry
|
||||
RUN pip install -U pip \
|
||||
&& apt-get update \
|
||||
&& apt install -y curl netcat-traditional gcc python3-dev gnupg git libre2-dev cmake ninja-build\
|
||||
&& curl -sSL https://install.python-poetry.org | python3 - \
|
||||
# Remove curl and netcat from the image
|
||||
&& apt-get purge -y curl netcat-traditional \
|
||||
# Run poetry
|
||||
&& poetry config virtualenvs.create false \
|
||||
&& poetry install --no-interaction --no-ansi --no-root \
|
||||
# Clear apt cache \
|
||||
&& apt-get purge -y libre2-dev cmake ninja-build\
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy code
|
||||
COPY . .
|
||||
|
||||
# copy npm packages
|
||||
COPY --from=npm /code /code
|
||||
|
||||
ENV PATH="/code/.venv/bin:$PATH"
|
||||
# copy everything else into /code
|
||||
COPY . .
|
||||
|
||||
EXPOSE 7777
|
||||
|
||||
#gunicorn wsgi:app -b 0.0.0.0:7777 -w 2 --timeout 15 --log-level DEBUG
|
||||
|
|
205
pyproject.toml
205
pyproject.toml
|
@ -1,93 +1,20 @@
|
|||
[project]
|
||||
name = "SimpleLogin"
|
||||
version = "0.1.0"
|
||||
description = "SimpleLogin partner API"
|
||||
authors = [ {name="SimpleLogin", email="dev@simplelogin.io"}]
|
||||
license = "MIT"
|
||||
repository = "https://github.com/simple-login/app"
|
||||
keywords = ["email", "alias", "privacy", "oauth2", "openid"]
|
||||
|
||||
requires-python = "~=3.10"
|
||||
|
||||
dependencies = [
|
||||
"flask ~= 1.1.2",
|
||||
"flask_login ~= 0.5.0",
|
||||
"wtforms ~= 2.3.3",
|
||||
"unidecode ~= 1.1.1",
|
||||
"gunicorn ~= 20.0.4",
|
||||
"bcrypt ~= 3.2.0",
|
||||
"python-dotenv ~= 0.14.0",
|
||||
"ipython ~= 7.31.1",
|
||||
"sqlalchemy_utils ~= 0.36.8",
|
||||
"psycopg2-binary ~= 2.9.3",
|
||||
"sentry_sdk ~= 1.5.11",
|
||||
"blinker ~= 1.4",
|
||||
"arrow ~= 0.16.0",
|
||||
"Flask-WTF ~= 0.14.3",
|
||||
"boto3 ~= 1.15.9",
|
||||
"Flask-Migrate ~= 2.5.3",
|
||||
"flask_admin ~= 1.5.6",
|
||||
"flask-cors ~= 3.0.9",
|
||||
"watchtower ~= 0.8.0",
|
||||
"sqlalchemy-utils == 0.36.8",
|
||||
"jwcrypto ~= 0.8",
|
||||
"yacron ~= 0.19",
|
||||
"flask-debugtoolbar ~= 0.11.0",
|
||||
"requests_oauthlib ~= 1.3.0",
|
||||
"pyopenssl ~= 19.1.0",
|
||||
"aiosmtpd ~= 1.2",
|
||||
"dnspython ~= 2.0.0",
|
||||
"coloredlogs ~= 14.0",
|
||||
"pycryptodome ~= 3.9.8",
|
||||
"phpserialize ~= 1.3",
|
||||
"dkimpy ~= 1.0.5",
|
||||
"pyotp ~= 2.4.0",
|
||||
"flask_profiler ~= 1.8.1",
|
||||
"facebook-sdk ~= 3.1.0",
|
||||
"google-api-python-client ~= 1.12.3",
|
||||
"google-auth-httplib2 ~= 0.0.4",
|
||||
"python-gnupg ~= 0.4.6",
|
||||
"webauthn ~= 0.4.7",
|
||||
"pyspf ~= 2.0.14",
|
||||
"Flask-Limiter == 1.4",
|
||||
"memory_profiler ~= 0.57.0",
|
||||
"gevent ~= 22.10.2",
|
||||
"email_validator ~= 1.1.1",
|
||||
"PGPy == 0.5.4",
|
||||
"coinbase-commerce ~= 1.0.1",
|
||||
"requests ~= 2.25.1",
|
||||
"newrelic ~= 8.8.0",
|
||||
"flanker ~= 0.9.11",
|
||||
"pyre2 ~= 0.3.6",
|
||||
"tldextract ~= 3.1.2",
|
||||
"flask-debugtoolbar-sqlalchemy ~= 0.2.0",
|
||||
"twilio ~= 7.3.2",
|
||||
"Deprecated ~= 1.2.13",
|
||||
"MarkupSafe~=1.1.1",
|
||||
"cryptography ~= 37.0.1",
|
||||
"SQLAlchemy ~= 1.3.24",
|
||||
"redis~=5.0.0",
|
||||
"newrelic-telemetry-sdk ~= 0.5.0",
|
||||
"aiospamc == 0.10",
|
||||
]
|
||||
|
||||
[tool.black]
|
||||
target-version = ['py310']
|
||||
exclude = '''
|
||||
(
|
||||
/(
|
||||
\.eggs # exclude a few common directories in the
|
||||
| \.git # root of the project
|
||||
| \.hg
|
||||
| \.mypy_cache
|
||||
| \.tox
|
||||
| \.venv
|
||||
| _build
|
||||
| buck-out
|
||||
| build
|
||||
| dist
|
||||
| migrations # migrations/ is generated by alembic
|
||||
| app/events/generated
|
||||
/(
|
||||
\.eggs # exclude a few common directories in the
|
||||
| \.git # root of the project
|
||||
| \.hg
|
||||
| \.mypy_cache
|
||||
| \.tox
|
||||
| \.venv
|
||||
| _build
|
||||
| buck-out
|
||||
| build
|
||||
| dist
|
||||
| migrations # migrations/ is generated by alembic
|
||||
| app/events/generated
|
||||
)/
|
||||
)
|
||||
'''
|
||||
|
@ -100,6 +27,7 @@ exclude = [".venv", "migrations", "app/events/generated"]
|
|||
indent = 2
|
||||
profile = "jinja"
|
||||
blank_line_after_tag = "if,for,include,load,extends,block,endcall"
|
||||
|
||||
# H006: Images should have a height attribute
|
||||
# H013: Images should have an alt attribute
|
||||
# H016: Missing title tag in html. | False positive on template
|
||||
|
@ -115,25 +43,92 @@ blank_line_after_tag = "if,for,include,load,extends,block,endcall"
|
|||
# T001: Variables should be wrapped in a single whitespace. | Messes up with comments
|
||||
ignore = "H006,H013,H016,H017,H019,H021,H025,H030,H031,T003,J004,J018,T001"
|
||||
|
||||
[tool.rye]
|
||||
dev-dependencies = [
|
||||
"pytest ~= 7.0.0",
|
||||
"pytest-cov ~= 3.0.0",
|
||||
"pre-commit ~= 2.17.0",
|
||||
"black ~= 22.1.0",
|
||||
"djlint ~= 1.3.0",
|
||||
"pylint ~= 2.14.4",
|
||||
"ruff ~= 0.1.5",
|
||||
[tool.poetry]
|
||||
name = "SimpleLogin"
|
||||
version = "0.1.0"
|
||||
description = "open-source email alias solution"
|
||||
authors = ["SimpleLogin <dev@simplelogin.io>"]
|
||||
license = "MIT"
|
||||
repository = "https://github.com/simple-login/app"
|
||||
keywords = ["email", "alias", "privacy", "oauth2", "openid"]
|
||||
packages = [
|
||||
{ include = "app/" },
|
||||
{ include = "migrations/" },
|
||||
]
|
||||
include = ["templates/*", "templates/**/*", "local_data/*.txt"]
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.10"
|
||||
flask = "^1.1.2"
|
||||
flask_login = "^0.5.0"
|
||||
wtforms = "^2.3.3"
|
||||
unidecode = "^1.1.1"
|
||||
gunicorn = "^20.0.4"
|
||||
bcrypt = "^3.2.0"
|
||||
python-dotenv = "^0.14.0"
|
||||
ipython = "^7.31.1"
|
||||
sqlalchemy_utils = "^0.36.8"
|
||||
psycopg2-binary = "^2.9.3"
|
||||
sentry_sdk = "^1.5.11"
|
||||
blinker = "^1.4"
|
||||
arrow = "^0.16.0"
|
||||
Flask-WTF = "^0.14.3"
|
||||
boto3 = "^1.15.9"
|
||||
Flask-Migrate = "^2.5.3"
|
||||
flask_admin = "^1.5.6"
|
||||
flask-cors = "^3.0.9"
|
||||
watchtower = "^0.8.0"
|
||||
sqlalchemy-utils = "^0.36.8"
|
||||
jwcrypto = "^0.8"
|
||||
yacron = "^0.11.1"
|
||||
flask-debugtoolbar = "^0.11.0"
|
||||
requests_oauthlib = "^1.3.0"
|
||||
pyopenssl = "^19.1.0"
|
||||
aiosmtpd = "^1.2"
|
||||
dnspython = "^2.0.0"
|
||||
coloredlogs = "^14.0"
|
||||
pycryptodome = "^3.9.8"
|
||||
phpserialize = "^1.3"
|
||||
dkimpy = "^1.0.5"
|
||||
pyotp = "^2.4.0"
|
||||
flask_profiler = "^1.8.1"
|
||||
facebook-sdk = "^3.1.0"
|
||||
google-api-python-client = "^1.12.3"
|
||||
google-auth-httplib2 = "^0.0.4"
|
||||
python-gnupg = "^0.4.6"
|
||||
webauthn = "^0.4.7"
|
||||
pyspf = "^2.0.14"
|
||||
Flask-Limiter = "^1.4"
|
||||
memory_profiler = "^0.57.0"
|
||||
gevent = "22.10.2"
|
||||
email_validator = "^1.1.1"
|
||||
PGPy = "0.5.4"
|
||||
coinbase-commerce = "^1.0.1"
|
||||
requests = "^2.25.1"
|
||||
newrelic = "8.8.0"
|
||||
flanker = "^0.9.11"
|
||||
pyre2 = "^0.3.6"
|
||||
tldextract = "^3.1.2"
|
||||
flask-debugtoolbar-sqlalchemy = "^0.2.0"
|
||||
twilio = "^7.3.2"
|
||||
Deprecated = "^1.2.13"
|
||||
cryptography = "37.0.1"
|
||||
SQLAlchemy = "1.3.24"
|
||||
redis = "^4.5.3"
|
||||
newrelic-telemetry-sdk = "^0.5.0"
|
||||
aiospamc = "0.10"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
pytest = "^7.0.0"
|
||||
pytest-cov = "^3.0.0"
|
||||
pre-commit = "^2.17.0"
|
||||
black = "^22.1.0"
|
||||
djlint = "^1.3.0"
|
||||
pylint = "^2.14.4"
|
||||
|
||||
[tool.poetry.group.dev.dependencies]
|
||||
ruff = "^0.1.5"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[tool.hatch.metadata]
|
||||
allow-direct-references = true
|
||||
|
||||
[tool.hatch.build.targets.sdist]
|
||||
include = ["templates", "local_data", "app", "migrations"]
|
||||
[tool.hatch.build.targets.wheel]
|
||||
packages = ["app", "migrations", "templates", "local_data" ]
|
||||
requires = ["poetry>=0.12"]
|
||||
build-backend = "poetry.masonry.api"
|
||||
|
|
|
@ -1,464 +0,0 @@
|
|||
# generated by rye
|
||||
# use `rye lock` or `rye sync` to update this lockfile
|
||||
#
|
||||
# last locked with the following flags:
|
||||
# pre: false
|
||||
# features: []
|
||||
# all-features: false
|
||||
# with-sources: false
|
||||
# generate-hashes: false
|
||||
# universal: false
|
||||
|
||||
-e file:.
|
||||
aiohttp==3.9.5
|
||||
# via yacron
|
||||
aiosignal==1.3.1
|
||||
# via aiohttp
|
||||
aiosmtpd==1.4.6
|
||||
# via simplelogin
|
||||
aiosmtplib==3.0.1
|
||||
# via yacron
|
||||
aiospamc==0.10.0
|
||||
# via simplelogin
|
||||
alembic==1.13.2
|
||||
# via flask-migrate
|
||||
appnope==0.1.4
|
||||
# via ipython
|
||||
arrow==0.16.0
|
||||
# via simplelogin
|
||||
astroid==2.11.7
|
||||
# via pylint
|
||||
async-timeout==4.0.3
|
||||
# via aiohttp
|
||||
# via redis
|
||||
atpublic==4.1.0
|
||||
# via aiosmtpd
|
||||
attrs==23.2.0
|
||||
# via aiohttp
|
||||
# via aiosmtpd
|
||||
# via flanker
|
||||
# via pytest
|
||||
backcall==0.2.0
|
||||
# via ipython
|
||||
bcrypt==3.2.2
|
||||
# via simplelogin
|
||||
black==22.1.0
|
||||
blinker==1.8.2
|
||||
# via flask-debugtoolbar
|
||||
# via simplelogin
|
||||
boto3==1.15.18
|
||||
# via simplelogin
|
||||
# via watchtower
|
||||
botocore==1.18.18
|
||||
# via boto3
|
||||
# via s3transfer
|
||||
cachetools==5.4.0
|
||||
# via google-auth
|
||||
cbor2==5.6.4
|
||||
# via webauthn
|
||||
certifi==2024.7.4
|
||||
# via aiospamc
|
||||
# via requests
|
||||
# via sentry-sdk
|
||||
cffi==1.16.0
|
||||
# via bcrypt
|
||||
# via cryptography
|
||||
cfgv==3.4.0
|
||||
# via pre-commit
|
||||
chardet==4.0.0
|
||||
# via flanker
|
||||
# via requests
|
||||
click==8.1.7
|
||||
# via black
|
||||
# via djlint
|
||||
# via flask
|
||||
# via typer
|
||||
coinbase-commerce==1.0.1
|
||||
# via simplelogin
|
||||
colorama==0.4.6
|
||||
# via djlint
|
||||
coloredlogs==14.3
|
||||
# via simplelogin
|
||||
coverage==7.6.0
|
||||
# via pytest-cov
|
||||
crontab==0.22.8
|
||||
# via yacron
|
||||
cryptography==37.0.4
|
||||
# via flanker
|
||||
# via jwcrypto
|
||||
# via pgpy
|
||||
# via pyopenssl
|
||||
# via simplelogin
|
||||
# via webauthn
|
||||
decorator==5.1.1
|
||||
# via ipython
|
||||
deprecated==1.2.14
|
||||
# via jwcrypto
|
||||
# via limits
|
||||
# via simplelogin
|
||||
dill==0.3.8
|
||||
# via pylint
|
||||
distlib==0.3.8
|
||||
# via virtualenv
|
||||
djlint==1.3.0
|
||||
dkimpy==1.0.6
|
||||
# via simplelogin
|
||||
dnspython==2.0.0
|
||||
# via dkimpy
|
||||
# via email-validator
|
||||
# via simplelogin
|
||||
email-validator==1.1.3
|
||||
# via simplelogin
|
||||
facebook-sdk==3.1.0
|
||||
# via simplelogin
|
||||
filelock==3.15.4
|
||||
# via tldextract
|
||||
# via virtualenv
|
||||
flanker==0.9.11
|
||||
# via simplelogin
|
||||
flask==1.1.2
|
||||
# via flask-admin
|
||||
# via flask-cors
|
||||
# via flask-debugtoolbar
|
||||
# via flask-httpauth
|
||||
# via flask-limiter
|
||||
# via flask-login
|
||||
# via flask-migrate
|
||||
# via flask-profiler
|
||||
# via flask-sqlalchemy
|
||||
# via flask-wtf
|
||||
# via simplelogin
|
||||
flask-admin==1.5.8
|
||||
# via simplelogin
|
||||
flask-cors==3.0.10
|
||||
# via simplelogin
|
||||
flask-debugtoolbar==0.11.0
|
||||
# via flask-debugtoolbar-sqlalchemy
|
||||
# via simplelogin
|
||||
flask-debugtoolbar-sqlalchemy==0.2.0
|
||||
# via simplelogin
|
||||
flask-httpauth==4.8.0
|
||||
# via flask-profiler
|
||||
flask-limiter==1.4
|
||||
# via simplelogin
|
||||
flask-login==0.5.0
|
||||
# via simplelogin
|
||||
flask-migrate==2.5.3
|
||||
# via simplelogin
|
||||
flask-profiler==1.8.1
|
||||
# via simplelogin
|
||||
flask-sqlalchemy==2.5.1
|
||||
# via flask-migrate
|
||||
flask-wtf==0.14.3
|
||||
# via simplelogin
|
||||
frozenlist==1.4.1
|
||||
# via aiohttp
|
||||
# via aiosignal
|
||||
future==1.0.0
|
||||
# via webauthn
|
||||
gevent==22.10.2
|
||||
# via simplelogin
|
||||
google-api-core==2.19.1
|
||||
# via google-api-python-client
|
||||
google-api-python-client==1.12.11
|
||||
# via simplelogin
|
||||
google-auth==2.32.0
|
||||
# via google-api-core
|
||||
# via google-api-python-client
|
||||
# via google-auth-httplib2
|
||||
google-auth-httplib2==0.0.4
|
||||
# via google-api-python-client
|
||||
# via simplelogin
|
||||
googleapis-common-protos==1.63.2
|
||||
# via google-api-core
|
||||
greenlet==3.0.3
|
||||
# via gevent
|
||||
gunicorn==20.0.4
|
||||
# via simplelogin
|
||||
html-tag-names==0.1.2
|
||||
# via djlint
|
||||
html-void-elements==0.1.0
|
||||
# via djlint
|
||||
httplib2==0.22.0
|
||||
# via google-api-python-client
|
||||
# via google-auth-httplib2
|
||||
humanfriendly==10.0
|
||||
# via coloredlogs
|
||||
identify==2.6.0
|
||||
# via pre-commit
|
||||
idna==2.10
|
||||
# via email-validator
|
||||
# via flanker
|
||||
# via requests
|
||||
# via tldextract
|
||||
# via yarl
|
||||
importlib-metadata==4.13.0
|
||||
# via djlint
|
||||
importlib-resources==6.4.0
|
||||
# via limits
|
||||
iniconfig==2.0.0
|
||||
# via pytest
|
||||
ipython==7.31.1
|
||||
# via simplelogin
|
||||
isort==5.13.2
|
||||
# via pylint
|
||||
itsdangerous==1.1.0
|
||||
# via flask
|
||||
# via flask-debugtoolbar
|
||||
# via flask-wtf
|
||||
jedi==0.19.1
|
||||
# via ipython
|
||||
jinja2==2.11.3
|
||||
# via flask
|
||||
# via yacron
|
||||
jmespath==0.10.0
|
||||
# via boto3
|
||||
# via botocore
|
||||
jwcrypto==0.9.1
|
||||
# via simplelogin
|
||||
lazy-object-proxy==1.10.0
|
||||
# via astroid
|
||||
limits==3.13.0
|
||||
# via flask-limiter
|
||||
loguru==0.7.2
|
||||
# via aiospamc
|
||||
mako==1.3.5
|
||||
# via alembic
|
||||
markupsafe==1.1.1
|
||||
# via jinja2
|
||||
# via mako
|
||||
# via simplelogin
|
||||
# via wtforms
|
||||
matplotlib-inline==0.1.7
|
||||
# via ipython
|
||||
mccabe==0.7.0
|
||||
# via pylint
|
||||
memory-profiler==0.57.0
|
||||
# via simplelogin
|
||||
multidict==6.0.5
|
||||
# via aiohttp
|
||||
# via yarl
|
||||
mypy-extensions==1.0.0
|
||||
# via black
|
||||
newrelic==8.8.1
|
||||
# via simplelogin
|
||||
newrelic-telemetry-sdk==0.5.1
|
||||
# via simplelogin
|
||||
nodeenv==1.9.1
|
||||
# via pre-commit
|
||||
oauthlib==3.2.2
|
||||
# via requests-oauthlib
|
||||
packaging==24.1
|
||||
# via limits
|
||||
# via pytest
|
||||
parso==0.8.4
|
||||
# via jedi
|
||||
pathspec==0.9.0
|
||||
# via black
|
||||
# via djlint
|
||||
pexpect==4.9.0
|
||||
# via ipython
|
||||
pgpy==0.5.4
|
||||
# via simplelogin
|
||||
phpserialize==1.3
|
||||
# via simplelogin
|
||||
pickleshare==0.7.5
|
||||
# via ipython
|
||||
platformdirs==4.2.2
|
||||
# via black
|
||||
# via pylint
|
||||
# via virtualenv
|
||||
pluggy==1.5.0
|
||||
# via pytest
|
||||
ply==3.11
|
||||
# via flanker
|
||||
pre-commit==2.17.0
|
||||
prompt-toolkit==3.0.47
|
||||
# via ipython
|
||||
proto-plus==1.24.0
|
||||
# via google-api-core
|
||||
protobuf==5.27.2
|
||||
# via google-api-core
|
||||
# via googleapis-common-protos
|
||||
# via proto-plus
|
||||
psutil==6.0.0
|
||||
# via memory-profiler
|
||||
psycopg2-binary==2.9.9
|
||||
# via simplelogin
|
||||
ptyprocess==0.7.0
|
||||
# via pexpect
|
||||
py==1.11.0
|
||||
# via pytest
|
||||
pyasn1==0.6.0
|
||||
# via pgpy
|
||||
# via pyasn1-modules
|
||||
# via rsa
|
||||
pyasn1-modules==0.4.0
|
||||
# via google-auth
|
||||
pycparser==2.22
|
||||
# via cffi
|
||||
pycryptodome==3.9.9
|
||||
# via simplelogin
|
||||
pygments==2.18.0
|
||||
# via flask-debugtoolbar-sqlalchemy
|
||||
# via ipython
|
||||
pyjwt==2.8.0
|
||||
# via twilio
|
||||
pylint==2.14.5
|
||||
pyopenssl==19.1.0
|
||||
# via simplelogin
|
||||
# via webauthn
|
||||
pyotp==2.4.1
|
||||
# via simplelogin
|
||||
pyparsing==3.1.2
|
||||
# via httplib2
|
||||
pyre2==0.3.6
|
||||
# via simplelogin
|
||||
pyspf==2.0.14
|
||||
# via simplelogin
|
||||
pytest==7.0.1
|
||||
# via pytest-cov
|
||||
pytest-cov==3.0.0
|
||||
python-dateutil==2.9.0.post0
|
||||
# via arrow
|
||||
# via botocore
|
||||
# via strictyaml
|
||||
python-dotenv==0.14.0
|
||||
# via simplelogin
|
||||
python-gnupg==0.4.9
|
||||
# via simplelogin
|
||||
pytz==2024.1
|
||||
# via twilio
|
||||
# via yacron
|
||||
pyyaml==6.0.1
|
||||
# via djlint
|
||||
# via pre-commit
|
||||
redis==5.0.7
|
||||
# via simplelogin
|
||||
regex==2022.10.31
|
||||
# via djlint
|
||||
# via flanker
|
||||
requests==2.25.1
|
||||
# via coinbase-commerce
|
||||
# via facebook-sdk
|
||||
# via google-api-core
|
||||
# via requests-file
|
||||
# via requests-oauthlib
|
||||
# via simplelogin
|
||||
# via tldextract
|
||||
# via twilio
|
||||
requests-file==2.1.0
|
||||
# via tldextract
|
||||
requests-oauthlib==1.3.1
|
||||
# via simplelogin
|
||||
rsa==4.9
|
||||
# via google-auth
|
||||
ruamel-yaml==0.17.4
|
||||
# via yacron
|
||||
ruff==0.1.15
|
||||
s3transfer==0.3.7
|
||||
# via boto3
|
||||
sentry-sdk==1.5.12
|
||||
# via simplelogin
|
||||
# via yacron
|
||||
setuptools==71.1.0
|
||||
# via astroid
|
||||
# via gevent
|
||||
# via gunicorn
|
||||
# via ipython
|
||||
# via zope-event
|
||||
# via zope-interface
|
||||
simplejson==3.19.2
|
||||
# via flask-profiler
|
||||
six==1.16.0
|
||||
# via coinbase-commerce
|
||||
# via flanker
|
||||
# via flask-cors
|
||||
# via flask-limiter
|
||||
# via google-api-python-client
|
||||
# via google-auth-httplib2
|
||||
# via jwcrypto
|
||||
# via pgpy
|
||||
# via pyopenssl
|
||||
# via python-dateutil
|
||||
# via sqlalchemy-utils
|
||||
# via webauthn
|
||||
sqlalchemy==1.3.24
|
||||
# via alembic
|
||||
# via flask-debugtoolbar-sqlalchemy
|
||||
# via flask-sqlalchemy
|
||||
# via simplelogin
|
||||
# via sqlalchemy-utils
|
||||
sqlalchemy-utils==0.36.8
|
||||
# via simplelogin
|
||||
sqlparse==0.5.1
|
||||
# via flask-debugtoolbar-sqlalchemy
|
||||
strictyaml==1.7.3
|
||||
# via yacron
|
||||
tld==0.13
|
||||
# via flanker
|
||||
tldextract==3.1.2
|
||||
# via simplelogin
|
||||
toml==0.10.2
|
||||
# via pre-commit
|
||||
tomli==2.0.1
|
||||
# via black
|
||||
# via coverage
|
||||
# via djlint
|
||||
# via pylint
|
||||
# via pytest
|
||||
tomlkit==0.13.0
|
||||
# via pylint
|
||||
tqdm==4.66.4
|
||||
# via djlint
|
||||
traitlets==5.14.3
|
||||
# via ipython
|
||||
# via matplotlib-inline
|
||||
twilio==7.3.2
|
||||
# via simplelogin
|
||||
typer==0.9.4
|
||||
# via aiospamc
|
||||
typing-extensions==4.12.2
|
||||
# via aiospamc
|
||||
# via alembic
|
||||
# via limits
|
||||
# via typer
|
||||
unidecode==1.1.2
|
||||
# via simplelogin
|
||||
uritemplate==3.0.1
|
||||
# via google-api-python-client
|
||||
urllib3==1.25.11
|
||||
# via botocore
|
||||
# via newrelic-telemetry-sdk
|
||||
# via requests
|
||||
# via sentry-sdk
|
||||
virtualenv==20.26.3
|
||||
# via pre-commit
|
||||
watchtower==0.8.0
|
||||
# via simplelogin
|
||||
wcwidth==0.2.13
|
||||
# via prompt-toolkit
|
||||
webauthn==0.4.7
|
||||
# via simplelogin
|
||||
webob==1.8.7
|
||||
# via flanker
|
||||
werkzeug==1.0.1
|
||||
# via flask
|
||||
# via flask-debugtoolbar
|
||||
wrapt==1.16.0
|
||||
# via astroid
|
||||
# via deprecated
|
||||
wtforms==2.3.3
|
||||
# via flask-admin
|
||||
# via flask-wtf
|
||||
# via simplelogin
|
||||
yacron==0.19.0
|
||||
# via simplelogin
|
||||
yarl==1.9.4
|
||||
# via aiohttp
|
||||
zipp==3.19.2
|
||||
# via importlib-metadata
|
||||
zope-event==5.0
|
||||
# via gevent
|
||||
zope-interface==6.4.post2
|
||||
# via gevent
|
|
@ -1,386 +0,0 @@
|
|||
# generated by rye
|
||||
# use `rye lock` or `rye sync` to update this lockfile
|
||||
#
|
||||
# last locked with the following flags:
|
||||
# pre: false
|
||||
# features: []
|
||||
# all-features: false
|
||||
# with-sources: false
|
||||
# generate-hashes: false
|
||||
# universal: false
|
||||
|
||||
-e file:.
|
||||
aiohttp==3.9.5
|
||||
# via yacron
|
||||
aiosignal==1.3.1
|
||||
# via aiohttp
|
||||
aiosmtpd==1.4.6
|
||||
# via simplelogin
|
||||
aiosmtplib==3.0.1
|
||||
# via yacron
|
||||
aiospamc==0.10.0
|
||||
# via simplelogin
|
||||
alembic==1.13.2
|
||||
# via flask-migrate
|
||||
appnope==0.1.4
|
||||
# via ipython
|
||||
arrow==0.16.0
|
||||
# via simplelogin
|
||||
async-timeout==4.0.3
|
||||
# via aiohttp
|
||||
# via redis
|
||||
atpublic==4.1.0
|
||||
# via aiosmtpd
|
||||
attrs==23.2.0
|
||||
# via aiohttp
|
||||
# via aiosmtpd
|
||||
# via flanker
|
||||
backcall==0.2.0
|
||||
# via ipython
|
||||
bcrypt==3.2.2
|
||||
# via simplelogin
|
||||
blinker==1.8.2
|
||||
# via flask-debugtoolbar
|
||||
# via simplelogin
|
||||
boto3==1.15.18
|
||||
# via simplelogin
|
||||
# via watchtower
|
||||
botocore==1.18.18
|
||||
# via boto3
|
||||
# via s3transfer
|
||||
cachetools==5.4.0
|
||||
# via google-auth
|
||||
cbor2==5.6.4
|
||||
# via webauthn
|
||||
certifi==2024.7.4
|
||||
# via aiospamc
|
||||
# via requests
|
||||
# via sentry-sdk
|
||||
cffi==1.16.0
|
||||
# via bcrypt
|
||||
# via cryptography
|
||||
chardet==4.0.0
|
||||
# via flanker
|
||||
# via requests
|
||||
click==7.1.2
|
||||
# via flask
|
||||
# via typer
|
||||
coinbase-commerce==1.0.1
|
||||
# via simplelogin
|
||||
coloredlogs==14.3
|
||||
# via simplelogin
|
||||
crontab==0.22.8
|
||||
# via yacron
|
||||
cryptography==37.0.4
|
||||
# via flanker
|
||||
# via jwcrypto
|
||||
# via pgpy
|
||||
# via pyopenssl
|
||||
# via simplelogin
|
||||
# via webauthn
|
||||
decorator==5.1.1
|
||||
# via ipython
|
||||
deprecated==1.2.14
|
||||
# via jwcrypto
|
||||
# via limits
|
||||
# via simplelogin
|
||||
dkimpy==1.0.6
|
||||
# via simplelogin
|
||||
dnspython==2.0.0
|
||||
# via dkimpy
|
||||
# via email-validator
|
||||
# via simplelogin
|
||||
email-validator==1.1.3
|
||||
# via simplelogin
|
||||
facebook-sdk==3.1.0
|
||||
# via simplelogin
|
||||
filelock==3.15.4
|
||||
# via tldextract
|
||||
flanker==0.9.11
|
||||
# via simplelogin
|
||||
flask==1.1.4
|
||||
# via flask-admin
|
||||
# via flask-cors
|
||||
# via flask-debugtoolbar
|
||||
# via flask-httpauth
|
||||
# via flask-limiter
|
||||
# via flask-login
|
||||
# via flask-migrate
|
||||
# via flask-profiler
|
||||
# via flask-sqlalchemy
|
||||
# via flask-wtf
|
||||
# via simplelogin
|
||||
flask-admin==1.5.8
|
||||
# via simplelogin
|
||||
flask-cors==3.0.10
|
||||
# via simplelogin
|
||||
flask-debugtoolbar==0.11.0
|
||||
# via flask-debugtoolbar-sqlalchemy
|
||||
# via simplelogin
|
||||
flask-debugtoolbar-sqlalchemy==0.2.0
|
||||
# via simplelogin
|
||||
flask-httpauth==4.8.0
|
||||
# via flask-profiler
|
||||
flask-limiter==1.4
|
||||
# via simplelogin
|
||||
flask-login==0.5.0
|
||||
# via simplelogin
|
||||
flask-migrate==2.5.3
|
||||
# via simplelogin
|
||||
flask-profiler==1.8.1
|
||||
# via simplelogin
|
||||
flask-sqlalchemy==2.5.1
|
||||
# via flask-migrate
|
||||
flask-wtf==0.14.3
|
||||
# via simplelogin
|
||||
frozenlist==1.4.1
|
||||
# via aiohttp
|
||||
# via aiosignal
|
||||
future==1.0.0
|
||||
# via webauthn
|
||||
gevent==22.10.2
|
||||
# via simplelogin
|
||||
google-api-core==2.19.1
|
||||
# via google-api-python-client
|
||||
google-api-python-client==1.12.11
|
||||
# via simplelogin
|
||||
google-auth==2.32.0
|
||||
# via google-api-core
|
||||
# via google-api-python-client
|
||||
# via google-auth-httplib2
|
||||
google-auth-httplib2==0.0.4
|
||||
# via google-api-python-client
|
||||
# via simplelogin
|
||||
googleapis-common-protos==1.63.2
|
||||
# via google-api-core
|
||||
greenlet==3.0.3
|
||||
# via gevent
|
||||
gunicorn==20.0.4
|
||||
# via simplelogin
|
||||
httplib2==0.22.0
|
||||
# via google-api-python-client
|
||||
# via google-auth-httplib2
|
||||
humanfriendly==10.0
|
||||
# via coloredlogs
|
||||
idna==2.10
|
||||
# via email-validator
|
||||
# via flanker
|
||||
# via requests
|
||||
# via tldextract
|
||||
# via yarl
|
||||
importlib-resources==6.4.0
|
||||
# via limits
|
||||
ipython==7.31.1
|
||||
# via simplelogin
|
||||
itsdangerous==1.1.0
|
||||
# via flask
|
||||
# via flask-debugtoolbar
|
||||
# via flask-wtf
|
||||
jedi==0.19.1
|
||||
# via ipython
|
||||
jinja2==2.11.3
|
||||
# via flask
|
||||
# via yacron
|
||||
jmespath==0.10.0
|
||||
# via boto3
|
||||
# via botocore
|
||||
jwcrypto==0.9.1
|
||||
# via simplelogin
|
||||
limits==3.13.0
|
||||
# via flask-limiter
|
||||
loguru==0.7.2
|
||||
# via aiospamc
|
||||
mako==1.3.5
|
||||
# via alembic
|
||||
markupsafe==1.1.1
|
||||
# via jinja2
|
||||
# via mako
|
||||
# via simplelogin
|
||||
# via wtforms
|
||||
matplotlib-inline==0.1.7
|
||||
# via ipython
|
||||
memory-profiler==0.57.0
|
||||
# via simplelogin
|
||||
multidict==6.0.5
|
||||
# via aiohttp
|
||||
# via yarl
|
||||
newrelic==8.8.1
|
||||
# via simplelogin
|
||||
newrelic-telemetry-sdk==0.5.1
|
||||
# via simplelogin
|
||||
oauthlib==3.2.2
|
||||
# via requests-oauthlib
|
||||
packaging==24.1
|
||||
# via limits
|
||||
parso==0.8.4
|
||||
# via jedi
|
||||
pexpect==4.9.0
|
||||
# via ipython
|
||||
pgpy==0.5.4
|
||||
# via simplelogin
|
||||
phpserialize==1.3
|
||||
# via simplelogin
|
||||
pickleshare==0.7.5
|
||||
# via ipython
|
||||
ply==3.11
|
||||
# via flanker
|
||||
prompt-toolkit==3.0.47
|
||||
# via ipython
|
||||
proto-plus==1.24.0
|
||||
# via google-api-core
|
||||
protobuf==5.27.2
|
||||
# via google-api-core
|
||||
# via googleapis-common-protos
|
||||
# via proto-plus
|
||||
psutil==6.0.0
|
||||
# via memory-profiler
|
||||
psycopg2-binary==2.9.9
|
||||
# via simplelogin
|
||||
ptyprocess==0.7.0
|
||||
# via pexpect
|
||||
pyasn1==0.6.0
|
||||
# via pgpy
|
||||
# via pyasn1-modules
|
||||
# via rsa
|
||||
pyasn1-modules==0.4.0
|
||||
# via google-auth
|
||||
pycparser==2.22
|
||||
# via cffi
|
||||
pycryptodome==3.9.9
|
||||
# via simplelogin
|
||||
pygments==2.18.0
|
||||
# via flask-debugtoolbar-sqlalchemy
|
||||
# via ipython
|
||||
pyjwt==2.8.0
|
||||
# via twilio
|
||||
pyopenssl==19.1.0
|
||||
# via simplelogin
|
||||
# via webauthn
|
||||
pyotp==2.4.1
|
||||
# via simplelogin
|
||||
pyparsing==3.1.2
|
||||
# via httplib2
|
||||
pyre2==0.3.6
|
||||
# via simplelogin
|
||||
pyspf==2.0.14
|
||||
# via simplelogin
|
||||
python-dateutil==2.9.0.post0
|
||||
# via arrow
|
||||
# via botocore
|
||||
# via strictyaml
|
||||
python-dotenv==0.14.0
|
||||
# via simplelogin
|
||||
python-gnupg==0.4.9
|
||||
# via simplelogin
|
||||
pytz==2024.1
|
||||
# via twilio
|
||||
# via yacron
|
||||
redis==5.0.7
|
||||
# via simplelogin
|
||||
regex==2024.7.24
|
||||
# via flanker
|
||||
requests==2.25.1
|
||||
# via coinbase-commerce
|
||||
# via facebook-sdk
|
||||
# via google-api-core
|
||||
# via requests-file
|
||||
# via requests-oauthlib
|
||||
# via simplelogin
|
||||
# via tldextract
|
||||
# via twilio
|
||||
requests-file==2.1.0
|
||||
# via tldextract
|
||||
requests-oauthlib==1.3.1
|
||||
# via simplelogin
|
||||
rsa==4.9
|
||||
# via google-auth
|
||||
ruamel-yaml==0.17.4
|
||||
# via yacron
|
||||
s3transfer==0.3.7
|
||||
# via boto3
|
||||
sentry-sdk==1.5.12
|
||||
# via simplelogin
|
||||
# via yacron
|
||||
setuptools==71.1.0
|
||||
# via gevent
|
||||
# via gunicorn
|
||||
# via ipython
|
||||
# via zope-event
|
||||
# via zope-interface
|
||||
simplejson==3.19.2
|
||||
# via flask-profiler
|
||||
six==1.16.0
|
||||
# via coinbase-commerce
|
||||
# via flanker
|
||||
# via flask-cors
|
||||
# via flask-limiter
|
||||
# via google-api-python-client
|
||||
# via google-auth-httplib2
|
||||
# via jwcrypto
|
||||
# via pgpy
|
||||
# via pyopenssl
|
||||
# via python-dateutil
|
||||
# via sqlalchemy-utils
|
||||
# via webauthn
|
||||
sqlalchemy==1.3.24
|
||||
# via alembic
|
||||
# via flask-debugtoolbar-sqlalchemy
|
||||
# via flask-sqlalchemy
|
||||
# via simplelogin
|
||||
# via sqlalchemy-utils
|
||||
sqlalchemy-utils==0.36.8
|
||||
# via simplelogin
|
||||
sqlparse==0.5.1
|
||||
# via flask-debugtoolbar-sqlalchemy
|
||||
strictyaml==1.7.3
|
||||
# via yacron
|
||||
tld==0.13
|
||||
# via flanker
|
||||
tldextract==3.1.2
|
||||
# via simplelogin
|
||||
traitlets==5.14.3
|
||||
# via ipython
|
||||
# via matplotlib-inline
|
||||
twilio==7.3.2
|
||||
# via simplelogin
|
||||
typer==0.9.4
|
||||
# via aiospamc
|
||||
typing-extensions==4.12.2
|
||||
# via aiospamc
|
||||
# via alembic
|
||||
# via limits
|
||||
# via typer
|
||||
unidecode==1.1.2
|
||||
# via simplelogin
|
||||
uritemplate==3.0.1
|
||||
# via google-api-python-client
|
||||
urllib3==1.25.11
|
||||
# via botocore
|
||||
# via newrelic-telemetry-sdk
|
||||
# via requests
|
||||
# via sentry-sdk
|
||||
watchtower==0.8.0
|
||||
# via simplelogin
|
||||
wcwidth==0.2.13
|
||||
# via prompt-toolkit
|
||||
webauthn==0.4.7
|
||||
# via simplelogin
|
||||
webob==1.8.7
|
||||
# via flanker
|
||||
werkzeug==1.0.1
|
||||
# via flask
|
||||
# via flask-debugtoolbar
|
||||
wrapt==1.16.0
|
||||
# via deprecated
|
||||
wtforms==2.3.3
|
||||
# via flask-admin
|
||||
# via flask-wtf
|
||||
# via simplelogin
|
||||
yacron==0.19.0
|
||||
# via simplelogin
|
||||
yarl==1.9.4
|
||||
# via aiohttp
|
||||
zope-event==5.0
|
||||
# via gevent
|
||||
zope-interface==6.4.post2
|
||||
# via gevent
|
Loading…
Reference in a new issue