mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-12-23 15:33:45 +00:00
Merge branch '137-activer-les-tests-dans-la-ci' into 'dev'
Resolve "Activer les tests dans la CI" See merge request re2o/re2o!640
This commit is contained in:
commit
810568411a
18 changed files with 341 additions and 157 deletions
|
@ -1,20 +1,34 @@
|
||||||
---
|
---
|
||||||
image: debian:bullseye
|
variables:
|
||||||
|
DOCKER_TLS_CERTDIR: "/certs"
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- lint
|
- lint
|
||||||
|
- build
|
||||||
|
|
||||||
|
build:
|
||||||
|
image: docker:24.0.5
|
||||||
|
services:
|
||||||
|
- docker:24.0.5-dind
|
||||||
|
stage: build
|
||||||
|
variables:
|
||||||
|
POSTGRES_DB: postgres
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: postgres
|
||||||
|
SUPERUSER_LOGIN: admin
|
||||||
|
SUPERUSER_PASS: admin
|
||||||
|
SUPERUSER_EMAIL: admin@example.net
|
||||||
|
ENV: dev
|
||||||
|
script:
|
||||||
|
# - docker build -t re2o . --target=postgres
|
||||||
|
- cp -n cotisations/templates/cotisations/invoice.html templates/default_invoice.html
|
||||||
|
- cp -n cotisations/templates/cotisations/voucher.html templates/default_voucher.html
|
||||||
|
- docker compose run --build re2o poetry run python manage.py test
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
|
image: python:3
|
||||||
stage: lint
|
stage: lint
|
||||||
variables:
|
|
||||||
LANG: 'en_US.UTF-8'
|
|
||||||
LC_ALL: 'en_US.UTF-8'
|
|
||||||
LANGUAGE: 'en_US.UTF-8'
|
|
||||||
script:
|
script:
|
||||||
- apt-get -qq update
|
- pip install poetry
|
||||||
- DEBIAN_FRONTEND=noninteractive apt-get -qq install -y locales python3-django python3-pylint-django
|
- poetry install --extras "lint"
|
||||||
- sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8
|
- poetry run pylint --load-plugins pylint_django cotisations machines re2o logs topologie preferences search users || if [ $? -ne 1 ]; then exit 0; else exit 1; fi
|
||||||
- pylint --load-plugins pylint_django cotisations machines re2o logs topologie preferences search users || if [ $? -ne 1 ]; then exit 0; else exit 1; fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
21
Dockerfile
21
Dockerfile
|
@ -1,9 +1,24 @@
|
||||||
FROM python:3.9-bullseye
|
FROM python:3.9-bullseye AS base
|
||||||
ENV PYTHONUNBUFFERED=1
|
ENV PYTHONUNBUFFERED=1
|
||||||
RUN pip install poetry
|
RUN pip install poetry
|
||||||
WORKDIR /code
|
WORKDIR /code
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends gettext-base libpq-dev
|
RUN apt-get update && apt-get install -y --no-install-recommends gettext-base libpq-dev graphviz
|
||||||
COPY pyproject.toml poetry.lock /code/
|
COPY pyproject.toml poetry.lock /code/
|
||||||
RUN poetry install --with dev --extras "postgresql"
|
|
||||||
COPY . /code/
|
COPY . /code/
|
||||||
CMD ./docker/docker-entrypoint.sh
|
CMD ./docker/docker-entrypoint.sh
|
||||||
|
|
||||||
|
FROM base AS ldap
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
RUN apt-get install -y --no-install-recommends libldap-dev slapd libsasl2-dev
|
||||||
|
|
||||||
|
FROM base AS mysql
|
||||||
|
RUN poetry install --with dev --extras "mysql"
|
||||||
|
|
||||||
|
FROM base AS postgres
|
||||||
|
RUN poetry install --with dev --extras "postgresql"
|
||||||
|
|
||||||
|
FROM ldap AS mysql-ldap
|
||||||
|
RUN poetry install --with dev --extras "mysql ldap"
|
||||||
|
|
||||||
|
FROM ldap AS postgres-ldap
|
||||||
|
RUN poetry install --with dev --extras "postgresql ldap"
|
|
@ -182,7 +182,7 @@ charset-normalizer==3.3.2 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
click==8.1.7 ; python_version >= "3.8" and python_version < "4.0" \
|
click==8.1.7 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \
|
--hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \
|
||||||
--hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de
|
--hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de
|
||||||
colorama==0.4.6 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "win32" or python_version >= "3.8" and python_version < "4.0" and platform_system == "Windows" \
|
colorama==0.4.6 ; python_version >= "3.8" and python_version < "4.0" and (sys_platform == "win32" or platform_system == "Windows") \
|
||||||
--hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
|
--hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
|
||||||
--hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
|
--hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
|
||||||
coverage==5.5 ; python_version >= "3.8" and python_version < "4" \
|
coverage==5.5 ; python_version >= "3.8" and python_version < "4" \
|
||||||
|
@ -314,9 +314,9 @@ idna==3.6 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
imagesize==1.4.1 ; python_version >= "3.8" and python_version < "4.0" \
|
imagesize==1.4.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b \
|
--hash=sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b \
|
||||||
--hash=sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a
|
--hash=sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a
|
||||||
importlib-resources==6.1.2 ; python_version >= "3.8" and python_version < "3.9" \
|
importlib-resources==6.1.3 ; python_version >= "3.8" and python_version < "3.9" \
|
||||||
--hash=sha256:308abf8474e2dba5f867d279237cd4076482c3de7104a40b41426370e891549b \
|
--hash=sha256:4c0269e3580fe2634d364b39b38b961540a7738c02cb984e98add8b4221d793d \
|
||||||
--hash=sha256:9a0a862501dc38b68adebc82970140c9e4209fc99601782925178f8386339938
|
--hash=sha256:56fb4525197b78544a3354ea27793952ab93f935bb4bf746b846bb1015020f2b
|
||||||
jinja2==3.1.3 ; python_version >= "3.8" and python_version < "4.0" \
|
jinja2==3.1.3 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa \
|
--hash=sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa \
|
||||||
--hash=sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90
|
--hash=sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90
|
||||||
|
@ -559,12 +559,12 @@ pygments==2.17.2 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
pyhanko-certvalidator==0.26.3 ; python_version >= "3.8" and python_version < "4.0" \
|
pyhanko-certvalidator==0.26.3 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:47fba8e9dbf846d766f2e0a453572dd4b25b2f1397847a31fe892c8eb00391f5 \
|
--hash=sha256:47fba8e9dbf846d766f2e0a453572dd4b25b2f1397847a31fe892c8eb00391f5 \
|
||||||
--hash=sha256:e386c87e202ff1caacf5fd941da6c3509e79db54dbd7b43c6550ceebe5e67077
|
--hash=sha256:e386c87e202ff1caacf5fd941da6c3509e79db54dbd7b43c6550ceebe5e67077
|
||||||
pyhanko==0.21.0 ; python_version >= "3.8" and python_version < "4.0" \
|
pyhanko==0.22.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:0a4de2c26a55c85ee6da79fc995a7fc6a61b7520270f03251caf8977ba27ccb8 \
|
--hash=sha256:7a8d50889440c435ba5e41f46c633518effa218dc76e2f88869c9e8a731b7234 \
|
||||||
--hash=sha256:e5609fb8a0b8d60168999cffaa382f0361066cb429204ad2b76e84e6e7f5eb93
|
--hash=sha256:af2350222d011995668f462ac03378854c4d56bb684910fe9065e634dd7a6908
|
||||||
pypdf==4.0.2 ; python_version >= "3.8" and python_version < "4.0" \
|
pypdf==4.1.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:3316d9ddfcff5df67ae3cdfe8b945c432aa43e7f970bae7c2a4ab4fe129cd937 \
|
--hash=sha256:01c3257ec908676efd60a4537e525b89d48e0852bc92b4e0aa4cc646feda17cc \
|
||||||
--hash=sha256:a62daa2a24d5a608ba1b6284dde185317ce3644f89b9ebe5314d0c5d1c9f257d
|
--hash=sha256:16cac912a05200099cef3f347c4c7e0aaf0a6d027603b8f9a973c0ea500dff89
|
||||||
pypng==0.20220715.0 ; python_version >= "3.8" and python_version < "4.0" \
|
pypng==0.20220715.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c \
|
--hash=sha256:4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c \
|
||||||
--hash=sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1
|
--hash=sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1
|
||||||
|
@ -574,6 +574,9 @@ python-bidi==0.4.2 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
python-dateutil==2.9.0.post0 ; python_version >= "3.8" and python_version < "4.0" \
|
python-dateutil==2.9.0.post0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
|
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
|
||||||
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
|
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
|
||||||
|
python-decouple==3.8 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
|
--hash=sha256:ba6e2657d4f376ecc46f77a3a615e058d93ba5e465c01bbe57289bfb7cce680f \
|
||||||
|
--hash=sha256:d0d45340815b25f4de59c974b855bb38d03151d81b037d9e3f463b0c9f8cbd66
|
||||||
pytz==2024.1 ; python_version >= "3.8" and python_version < "4.0" \
|
pytz==2024.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812 \
|
--hash=sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812 \
|
||||||
--hash=sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319
|
--hash=sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319
|
||||||
|
@ -875,6 +878,9 @@ uritools==4.0.2 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
urllib3==2.2.1 ; python_version >= "3.8" and python_version < "4.0" \
|
urllib3==2.2.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d \
|
--hash=sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d \
|
||||||
--hash=sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19
|
--hash=sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19
|
||||||
|
volatildap==1.5.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
|
--hash=sha256:3d9c9cc39cfed706b9a3da3bc3a2f369987807e4d4eaaddf313a994cf8a77f3c \
|
||||||
|
--hash=sha256:732dfc459dd49c75e9e13e1c7bf96cb33a835d4ee7c9716205fae3fcaee6b9e5
|
||||||
webencodings==0.5.1 ; python_version >= "3.8" and python_version < "4.0" \
|
webencodings==0.5.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 \
|
--hash=sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 \
|
||||||
--hash=sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923
|
--hash=sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923
|
||||||
|
|
|
@ -15,7 +15,9 @@ services:
|
||||||
- POSTGRES_PASSWORD=postgres
|
- POSTGRES_PASSWORD=postgres
|
||||||
|
|
||||||
re2o:
|
re2o:
|
||||||
build: .
|
build:
|
||||||
|
context: .
|
||||||
|
target: postgres
|
||||||
volumes:
|
volumes:
|
||||||
- .:/code
|
- .:/code
|
||||||
ports:
|
ports:
|
||||||
|
@ -29,3 +31,4 @@ services:
|
||||||
- SUPERUSER_LOGIN=admin
|
- SUPERUSER_LOGIN=admin
|
||||||
- SUPERUSER_PASS=admin
|
- SUPERUSER_PASS=admin
|
||||||
- SUPERUSER_EMAIL=admin@example.net
|
- SUPERUSER_EMAIL=admin@example.net
|
||||||
|
- ENV=dev
|
|
@ -1,8 +1,6 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
cat docker/settings_local.template.py | envsubst > re2o/settings_local.py
|
|
||||||
|
|
||||||
cp -n cotisations/templates/cotisations/invoice.html templates/default_invoice.html
|
cp -n cotisations/templates/cotisations/invoice.html templates/default_invoice.html
|
||||||
cp -n cotisations/templates/cotisations/voucher.html templates/default_voucher.html
|
cp -n cotisations/templates/cotisations/voucher.html templates/default_voucher.html
|
||||||
|
|
||||||
|
@ -12,6 +10,9 @@ if [ "$AUTOMIGRATE" != "skip" ]; then
|
||||||
poetry run python manage.py migrate --noinput
|
poetry run python manage.py migrate --noinput
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
poetry run python manage.py collectstatic
|
||||||
|
poetry run python manage.py compilemessages
|
||||||
|
|
||||||
cat <<EOF | poetry run python manage.py shell
|
cat <<EOF | poetry run python manage.py shell
|
||||||
from django.contrib.auth import get_user_model
|
from django.contrib.auth import get_user_model
|
||||||
|
|
||||||
|
|
|
@ -416,12 +416,12 @@ pycryptodome==3.20.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
pyhanko-certvalidator==0.26.3 ; python_version >= "3.8" and python_version < "4.0" \
|
pyhanko-certvalidator==0.26.3 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:47fba8e9dbf846d766f2e0a453572dd4b25b2f1397847a31fe892c8eb00391f5 \
|
--hash=sha256:47fba8e9dbf846d766f2e0a453572dd4b25b2f1397847a31fe892c8eb00391f5 \
|
||||||
--hash=sha256:e386c87e202ff1caacf5fd941da6c3509e79db54dbd7b43c6550ceebe5e67077
|
--hash=sha256:e386c87e202ff1caacf5fd941da6c3509e79db54dbd7b43c6550ceebe5e67077
|
||||||
pyhanko==0.21.0 ; python_version >= "3.8" and python_version < "4.0" \
|
pyhanko==0.22.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:0a4de2c26a55c85ee6da79fc995a7fc6a61b7520270f03251caf8977ba27ccb8 \
|
--hash=sha256:7a8d50889440c435ba5e41f46c633518effa218dc76e2f88869c9e8a731b7234 \
|
||||||
--hash=sha256:e5609fb8a0b8d60168999cffaa382f0361066cb429204ad2b76e84e6e7f5eb93
|
--hash=sha256:af2350222d011995668f462ac03378854c4d56bb684910fe9065e634dd7a6908
|
||||||
pypdf==4.0.2 ; python_version >= "3.8" and python_version < "4.0" \
|
pypdf==4.1.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:3316d9ddfcff5df67ae3cdfe8b945c432aa43e7f970bae7c2a4ab4fe129cd937 \
|
--hash=sha256:01c3257ec908676efd60a4537e525b89d48e0852bc92b4e0aa4cc646feda17cc \
|
||||||
--hash=sha256:a62daa2a24d5a608ba1b6284dde185317ce3644f89b9ebe5314d0c5d1c9f257d
|
--hash=sha256:16cac912a05200099cef3f347c4c7e0aaf0a6d027603b8f9a973c0ea500dff89
|
||||||
pypng==0.20220715.0 ; python_version >= "3.8" and python_version < "4.0" \
|
pypng==0.20220715.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c \
|
--hash=sha256:4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c \
|
||||||
--hash=sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1
|
--hash=sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1
|
||||||
|
@ -431,6 +431,9 @@ python-bidi==0.4.2 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
python-dateutil==2.9.0.post0 ; python_version >= "3.8" and python_version < "4.0" \
|
python-dateutil==2.9.0.post0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
|
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
|
||||||
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
|
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
|
||||||
|
python-decouple==3.8 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
|
--hash=sha256:ba6e2657d4f376ecc46f77a3a615e058d93ba5e465c01bbe57289bfb7cce680f \
|
||||||
|
--hash=sha256:d0d45340815b25f4de59c974b855bb38d03151d81b037d9e3f463b0c9f8cbd66
|
||||||
python-ldap==3.4.4 ; python_version >= "3.8" and python_version < "4.0" \
|
python-ldap==3.4.4 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:7edb0accec4e037797705f3a05cbf36a9fde50d08c8f67f2aef99a2628fab828
|
--hash=sha256:7edb0accec4e037797705f3a05cbf36a9fde50d08c8f67f2aef99a2628fab828
|
||||||
pytz==2024.1 ; python_version >= "3.8" and python_version < "4.0" \
|
pytz==2024.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
|
|
|
@ -417,12 +417,12 @@ pycryptodome==3.20.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
pyhanko-certvalidator==0.26.3 ; python_version >= "3.8" and python_version < "4.0" \
|
pyhanko-certvalidator==0.26.3 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:47fba8e9dbf846d766f2e0a453572dd4b25b2f1397847a31fe892c8eb00391f5 \
|
--hash=sha256:47fba8e9dbf846d766f2e0a453572dd4b25b2f1397847a31fe892c8eb00391f5 \
|
||||||
--hash=sha256:e386c87e202ff1caacf5fd941da6c3509e79db54dbd7b43c6550ceebe5e67077
|
--hash=sha256:e386c87e202ff1caacf5fd941da6c3509e79db54dbd7b43c6550ceebe5e67077
|
||||||
pyhanko==0.21.0 ; python_version >= "3.8" and python_version < "4.0" \
|
pyhanko==0.22.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:0a4de2c26a55c85ee6da79fc995a7fc6a61b7520270f03251caf8977ba27ccb8 \
|
--hash=sha256:7a8d50889440c435ba5e41f46c633518effa218dc76e2f88869c9e8a731b7234 \
|
||||||
--hash=sha256:e5609fb8a0b8d60168999cffaa382f0361066cb429204ad2b76e84e6e7f5eb93
|
--hash=sha256:af2350222d011995668f462ac03378854c4d56bb684910fe9065e634dd7a6908
|
||||||
pypdf==4.0.2 ; python_version >= "3.8" and python_version < "4.0" \
|
pypdf==4.1.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:3316d9ddfcff5df67ae3cdfe8b945c432aa43e7f970bae7c2a4ab4fe129cd937 \
|
--hash=sha256:01c3257ec908676efd60a4537e525b89d48e0852bc92b4e0aa4cc646feda17cc \
|
||||||
--hash=sha256:a62daa2a24d5a608ba1b6284dde185317ce3644f89b9ebe5314d0c5d1c9f257d
|
--hash=sha256:16cac912a05200099cef3f347c4c7e0aaf0a6d027603b8f9a973c0ea500dff89
|
||||||
pypng==0.20220715.0 ; python_version >= "3.8" and python_version < "4.0" \
|
pypng==0.20220715.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c \
|
--hash=sha256:4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c \
|
||||||
--hash=sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1
|
--hash=sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1
|
||||||
|
@ -432,6 +432,9 @@ python-bidi==0.4.2 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
python-dateutil==2.9.0.post0 ; python_version >= "3.8" and python_version < "4.0" \
|
python-dateutil==2.9.0.post0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
|
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
|
||||||
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
|
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
|
||||||
|
python-decouple==3.8 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
|
--hash=sha256:ba6e2657d4f376ecc46f77a3a615e058d93ba5e465c01bbe57289bfb7cce680f \
|
||||||
|
--hash=sha256:d0d45340815b25f4de59c974b855bb38d03151d81b037d9e3f463b0c9f8cbd66
|
||||||
pytz==2024.1 ; python_version >= "3.8" and python_version < "4.0" \
|
pytz==2024.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812 \
|
--hash=sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812 \
|
||||||
--hash=sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319
|
--hash=sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319
|
||||||
|
|
275
poetry.lock
generated
275
poetry.lock
generated
|
@ -1,10 +1,9 @@
|
||||||
# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand.
|
# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand.
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "alabaster"
|
name = "alabaster"
|
||||||
version = "0.7.13"
|
version = "0.7.13"
|
||||||
description = "A configurable sidebar-enabled Sphinx theme"
|
description = "A configurable sidebar-enabled Sphinx theme"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
|
@ -16,7 +15,6 @@ files = [
|
||||||
name = "appdirs"
|
name = "appdirs"
|
||||||
version = "1.4.4"
|
version = "1.4.4"
|
||||||
description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
|
description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -28,7 +26,6 @@ files = [
|
||||||
name = "arabic-reshaper"
|
name = "arabic-reshaper"
|
||||||
version = "3.0.0"
|
version = "3.0.0"
|
||||||
description = "Reconstruct Arabic sentences to be used in applications that do not support Arabic"
|
description = "Reconstruct Arabic sentences to be used in applications that do not support Arabic"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -43,7 +40,6 @@ with-fonttools = ["fonttools (>=4.0)"]
|
||||||
name = "asn1crypto"
|
name = "asn1crypto"
|
||||||
version = "1.5.1"
|
version = "1.5.1"
|
||||||
description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP"
|
description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -51,11 +47,24 @@ files = [
|
||||||
{file = "asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"},
|
{file = "asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "astroid"
|
||||||
|
version = "3.1.0"
|
||||||
|
description = "An abstract syntax tree for Python with inference support."
|
||||||
|
optional = true
|
||||||
|
python-versions = ">=3.8.0"
|
||||||
|
files = [
|
||||||
|
{file = "astroid-3.1.0-py3-none-any.whl", hash = "sha256:951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819"},
|
||||||
|
{file = "astroid-3.1.0.tar.gz", hash = "sha256:ac248253bfa4bd924a0de213707e7ebeeb3138abeb48d798784ead1e56d419d4"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""}
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "babel"
|
name = "babel"
|
||||||
version = "2.14.0"
|
version = "2.14.0"
|
||||||
description = "Internationalization utilities"
|
description = "Internationalization utilities"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -73,7 +82,6 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"]
|
||||||
name = "backports-zoneinfo"
|
name = "backports-zoneinfo"
|
||||||
version = "0.2.1"
|
version = "0.2.1"
|
||||||
description = "Backport of the standard library zoneinfo module"
|
description = "Backport of the standard library zoneinfo module"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
|
@ -102,7 +110,6 @@ tzdata = ["tzdata"]
|
||||||
name = "black"
|
name = "black"
|
||||||
version = "20.8b1"
|
version = "20.8b1"
|
||||||
description = "The uncompromising code formatter."
|
description = "The uncompromising code formatter."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
|
@ -127,7 +134,6 @@ d = ["aiohttp (>=3.3.2)", "aiohttp-cors"]
|
||||||
name = "certifi"
|
name = "certifi"
|
||||||
version = "2024.2.2"
|
version = "2024.2.2"
|
||||||
description = "Python package for providing Mozilla's CA Bundle."
|
description = "Python package for providing Mozilla's CA Bundle."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
|
@ -139,7 +145,6 @@ files = [
|
||||||
name = "cffi"
|
name = "cffi"
|
||||||
version = "1.16.0"
|
version = "1.16.0"
|
||||||
description = "Foreign Function Interface for Python calling C code."
|
description = "Foreign Function Interface for Python calling C code."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
|
@ -204,7 +209,6 @@ pycparser = "*"
|
||||||
name = "charset-normalizer"
|
name = "charset-normalizer"
|
||||||
version = "3.3.2"
|
version = "3.3.2"
|
||||||
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7.0"
|
python-versions = ">=3.7.0"
|
||||||
files = [
|
files = [
|
||||||
|
@ -304,7 +308,6 @@ files = [
|
||||||
name = "click"
|
name = "click"
|
||||||
version = "8.1.7"
|
version = "8.1.7"
|
||||||
description = "Composable command line interface toolkit"
|
description = "Composable command line interface toolkit"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -319,7 +322,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
|
||||||
name = "colorama"
|
name = "colorama"
|
||||||
version = "0.4.6"
|
version = "0.4.6"
|
||||||
description = "Cross-platform colored terminal text."
|
description = "Cross-platform colored terminal text."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -331,7 +333,6 @@ files = [
|
||||||
name = "coverage"
|
name = "coverage"
|
||||||
version = "5.5"
|
version = "5.5"
|
||||||
description = "Code coverage measurement for Python"
|
description = "Code coverage measurement for Python"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
|
||||||
files = [
|
files = [
|
||||||
|
@ -396,7 +397,6 @@ toml = ["toml"]
|
||||||
name = "cryptography"
|
name = "cryptography"
|
||||||
version = "42.0.5"
|
version = "42.0.5"
|
||||||
description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
|
description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -451,7 +451,6 @@ test-randomorder = ["pytest-randomly"]
|
||||||
name = "cssselect2"
|
name = "cssselect2"
|
||||||
version = "0.7.0"
|
version = "0.7.0"
|
||||||
description = "CSS selectors for Python ElementTree"
|
description = "CSS selectors for Python ElementTree"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -467,11 +466,25 @@ webencodings = "*"
|
||||||
doc = ["sphinx", "sphinx_rtd_theme"]
|
doc = ["sphinx", "sphinx_rtd_theme"]
|
||||||
test = ["flake8", "isort", "pytest"]
|
test = ["flake8", "isort", "pytest"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "dill"
|
||||||
|
version = "0.3.8"
|
||||||
|
description = "serialize all of Python"
|
||||||
|
optional = true
|
||||||
|
python-versions = ">=3.8"
|
||||||
|
files = [
|
||||||
|
{file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"},
|
||||||
|
{file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
graph = ["objgraph (>=1.7.2)"]
|
||||||
|
profile = ["gprof2dot (>=2022.7.29)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "django"
|
name = "django"
|
||||||
version = "2.2.18"
|
version = "2.2.18"
|
||||||
description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design."
|
description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.5"
|
python-versions = ">=3.5"
|
||||||
files = [
|
files = [
|
||||||
|
@ -491,7 +504,6 @@ bcrypt = ["bcrypt"]
|
||||||
name = "django-autocomplete-light"
|
name = "django-autocomplete-light"
|
||||||
version = "3.9.4"
|
version = "3.9.4"
|
||||||
description = "Fresh autocompletes for Django"
|
description = "Fresh autocompletes for Django"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -511,7 +523,6 @@ tags = ["django-taggit"]
|
||||||
name = "django-bootstrap3"
|
name = "django-bootstrap3"
|
||||||
version = "14.3.0"
|
version = "14.3.0"
|
||||||
description = "Bootstrap 3 support for Django projects"
|
description = "Bootstrap 3 support for Django projects"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
|
@ -526,7 +537,6 @@ Django = ">=2.2"
|
||||||
name = "django-ldapdb"
|
name = "django-ldapdb"
|
||||||
version = "1.5.1"
|
version = "1.5.1"
|
||||||
description = "A LDAP database backend for Django"
|
description = "A LDAP database backend for Django"
|
||||||
category = "main"
|
|
||||||
optional = true
|
optional = true
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
|
@ -545,7 +555,6 @@ dev = ["check-manifest", "factory-boy", "flake8", "isort (>=5.0.0)", "tox", "vol
|
||||||
name = "django-macaddress"
|
name = "django-macaddress"
|
||||||
version = "1.8.0"
|
version = "1.8.0"
|
||||||
description = "MAC address model and form fields for Django apps."
|
description = "MAC address model and form fields for Django apps."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -560,7 +569,6 @@ netaddr = "*"
|
||||||
name = "django-rest-framework"
|
name = "django-rest-framework"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
description = "alias."
|
description = "alias."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -574,7 +582,6 @@ djangorestframework = "*"
|
||||||
name = "django-reversion"
|
name = "django-reversion"
|
||||||
version = "3.0.9"
|
version = "3.0.9"
|
||||||
description = "An extension to the Django web framework that provides version control for model instances."
|
description = "An extension to the Django web framework that provides version control for model instances."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
|
@ -589,7 +596,6 @@ django = ">=1.11"
|
||||||
name = "djangorestframework"
|
name = "djangorestframework"
|
||||||
version = "3.13.1"
|
version = "3.13.1"
|
||||||
description = "Web APIs for Django, made easy."
|
description = "Web APIs for Django, made easy."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
|
@ -605,7 +611,6 @@ pytz = "*"
|
||||||
name = "docstr-coverage"
|
name = "docstr-coverage"
|
||||||
version = "2.3.1"
|
version = "2.3.1"
|
||||||
description = "Utility for examining python source files to ensure proper documentation. Lists missing docstrings, and calculates overall docstring coverage percentage rating."
|
description = "Utility for examining python source files to ensure proper documentation. Lists missing docstrings, and calculates overall docstring coverage percentage rating."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -627,7 +632,6 @@ test = ["pytest (==6.2.5)", "pytest-mock (==3.4.0)"]
|
||||||
name = "docutils"
|
name = "docutils"
|
||||||
version = "0.16"
|
version = "0.16"
|
||||||
description = "Docutils -- Python Documentation Utilities"
|
description = "Docutils -- Python Documentation Utilities"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -639,7 +643,6 @@ files = [
|
||||||
name = "gitdb"
|
name = "gitdb"
|
||||||
version = "4.0.11"
|
version = "4.0.11"
|
||||||
description = "Git Object Database"
|
description = "Git Object Database"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -654,7 +657,6 @@ smmap = ">=3.0.1,<6"
|
||||||
name = "gitpython"
|
name = "gitpython"
|
||||||
version = "3.1.42"
|
version = "3.1.42"
|
||||||
description = "GitPython is a Python library used to interact with Git repositories"
|
description = "GitPython is a Python library used to interact with Git repositories"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -672,7 +674,6 @@ test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre
|
||||||
name = "html5lib"
|
name = "html5lib"
|
||||||
version = "1.1"
|
version = "1.1"
|
||||||
description = "HTML parser based on the WHATWG HTML specification"
|
description = "HTML parser based on the WHATWG HTML specification"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -694,7 +695,6 @@ lxml = ["lxml"]
|
||||||
name = "idna"
|
name = "idna"
|
||||||
version = "3.6"
|
version = "3.6"
|
||||||
description = "Internationalized Domain Names in Applications (IDNA)"
|
description = "Internationalized Domain Names in Applications (IDNA)"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.5"
|
python-versions = ">=3.5"
|
||||||
files = [
|
files = [
|
||||||
|
@ -706,7 +706,6 @@ files = [
|
||||||
name = "imagesize"
|
name = "imagesize"
|
||||||
version = "1.4.1"
|
version = "1.4.1"
|
||||||
description = "Getting image size from png/jpeg/jpeg2000/gif file"
|
description = "Getting image size from png/jpeg/jpeg2000/gif file"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -718,7 +717,6 @@ files = [
|
||||||
name = "importlib-resources"
|
name = "importlib-resources"
|
||||||
version = "6.1.3"
|
version = "6.1.3"
|
||||||
description = "Read resources from Python packages"
|
description = "Read resources from Python packages"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
|
@ -733,11 +731,24 @@ zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
|
||||||
docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
|
docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
|
||||||
testing = ["jaraco.collections", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"]
|
testing = ["jaraco.collections", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "isort"
|
||||||
|
version = "5.13.2"
|
||||||
|
description = "A Python utility / library to sort Python imports."
|
||||||
|
optional = true
|
||||||
|
python-versions = ">=3.8.0"
|
||||||
|
files = [
|
||||||
|
{file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"},
|
||||||
|
{file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
colors = ["colorama (>=0.4.6)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jinja2"
|
name = "jinja2"
|
||||||
version = "3.1.3"
|
version = "3.1.3"
|
||||||
description = "A very fast and expressive template engine."
|
description = "A very fast and expressive template engine."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -755,7 +766,6 @@ i18n = ["Babel (>=2.7)"]
|
||||||
name = "lxml"
|
name = "lxml"
|
||||||
version = "5.1.0"
|
version = "5.1.0"
|
||||||
description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API."
|
description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
|
@ -849,7 +859,6 @@ source = ["Cython (>=3.0.7)"]
|
||||||
name = "markupsafe"
|
name = "markupsafe"
|
||||||
version = "2.1.5"
|
version = "2.1.5"
|
||||||
description = "Safely add untrusted strings to HTML/XML markup."
|
description = "Safely add untrusted strings to HTML/XML markup."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -915,11 +924,21 @@ files = [
|
||||||
{file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"},
|
{file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "mccabe"
|
||||||
|
version = "0.7.0"
|
||||||
|
description = "McCabe checker, plugin for flake8"
|
||||||
|
optional = true
|
||||||
|
python-versions = ">=3.6"
|
||||||
|
files = [
|
||||||
|
{file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"},
|
||||||
|
{file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"},
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mypy-extensions"
|
name = "mypy-extensions"
|
||||||
version = "1.0.0"
|
version = "1.0.0"
|
||||||
description = "Type system extensions for programs checked with the mypy type checker."
|
description = "Type system extensions for programs checked with the mypy type checker."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.5"
|
python-versions = ">=3.5"
|
||||||
files = [
|
files = [
|
||||||
|
@ -931,7 +950,6 @@ files = [
|
||||||
name = "mysqlclient"
|
name = "mysqlclient"
|
||||||
version = "2.2.4"
|
version = "2.2.4"
|
||||||
description = "Python interface to MySQL"
|
description = "Python interface to MySQL"
|
||||||
category = "main"
|
|
||||||
optional = true
|
optional = true
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
|
@ -950,7 +968,6 @@ files = [
|
||||||
name = "netaddr"
|
name = "netaddr"
|
||||||
version = "1.2.1"
|
version = "1.2.1"
|
||||||
description = "A network address manipulation library for Python"
|
description = "A network address manipulation library for Python"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -965,7 +982,6 @@ nicer-shell = ["ipython"]
|
||||||
name = "oscrypto"
|
name = "oscrypto"
|
||||||
version = "1.3.0"
|
version = "1.3.0"
|
||||||
description = "TLS (SSL) sockets, key generation, encryption, decryption, signing, verification and KDFs using the OS crypto libraries. Does not require a compiler, and relies on the OS for patching. Works on Windows, OS X and Linux/BSD."
|
description = "TLS (SSL) sockets, key generation, encryption, decryption, signing, verification and KDFs using the OS crypto libraries. Does not require a compiler, and relies on the OS for patching. Works on Windows, OS X and Linux/BSD."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -980,7 +996,6 @@ asn1crypto = ">=1.5.1"
|
||||||
name = "packaging"
|
name = "packaging"
|
||||||
version = "23.2"
|
version = "23.2"
|
||||||
description = "Core utilities for Python packages"
|
description = "Core utilities for Python packages"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -992,7 +1007,6 @@ files = [
|
||||||
name = "pathspec"
|
name = "pathspec"
|
||||||
version = "0.12.1"
|
version = "0.12.1"
|
||||||
description = "Utility library for gitignore style pattern matching of file paths."
|
description = "Utility library for gitignore style pattern matching of file paths."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1004,7 +1018,6 @@ files = [
|
||||||
name = "pillow"
|
name = "pillow"
|
||||||
version = "8.4.0"
|
version = "8.4.0"
|
||||||
description = "Python Imaging Library (Fork)"
|
description = "Python Imaging Library (Fork)"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1051,11 +1064,25 @@ files = [
|
||||||
{file = "Pillow-8.4.0.tar.gz", hash = "sha256:b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed"},
|
{file = "Pillow-8.4.0.tar.gz", hash = "sha256:b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed"},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "platformdirs"
|
||||||
|
version = "4.2.0"
|
||||||
|
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
|
||||||
|
optional = true
|
||||||
|
python-versions = ">=3.8"
|
||||||
|
files = [
|
||||||
|
{file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"},
|
||||||
|
{file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"]
|
||||||
|
test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "psycopg2"
|
name = "psycopg2"
|
||||||
version = "2.8.6"
|
version = "2.8.6"
|
||||||
description = "psycopg2 - Python-PostgreSQL Database Adapter"
|
description = "psycopg2 - Python-PostgreSQL Database Adapter"
|
||||||
category = "main"
|
|
||||||
optional = true
|
optional = true
|
||||||
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
|
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1080,7 +1107,6 @@ files = [
|
||||||
name = "pyasn1"
|
name = "pyasn1"
|
||||||
version = "0.5.1"
|
version = "0.5.1"
|
||||||
description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)"
|
description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)"
|
||||||
category = "main"
|
|
||||||
optional = true
|
optional = true
|
||||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
|
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1092,7 +1118,6 @@ files = [
|
||||||
name = "pyasn1-modules"
|
name = "pyasn1-modules"
|
||||||
version = "0.3.0"
|
version = "0.3.0"
|
||||||
description = "A collection of ASN.1-based protocols modules"
|
description = "A collection of ASN.1-based protocols modules"
|
||||||
category = "main"
|
|
||||||
optional = true
|
optional = true
|
||||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
|
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1107,7 +1132,6 @@ pyasn1 = ">=0.4.6,<0.6.0"
|
||||||
name = "pycparser"
|
name = "pycparser"
|
||||||
version = "2.21"
|
version = "2.21"
|
||||||
description = "C parser in Python"
|
description = "C parser in Python"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1119,7 +1143,6 @@ files = [
|
||||||
name = "pycryptodome"
|
name = "pycryptodome"
|
||||||
version = "3.20.0"
|
version = "3.20.0"
|
||||||
description = "Cryptographic library for Python"
|
description = "Cryptographic library for Python"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1161,7 +1184,6 @@ files = [
|
||||||
name = "pygments"
|
name = "pygments"
|
||||||
version = "2.17.2"
|
version = "2.17.2"
|
||||||
description = "Pygments is a syntax highlighting package written in Python."
|
description = "Pygments is a syntax highlighting package written in Python."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1177,7 +1199,6 @@ windows-terminal = ["colorama (>=0.4.6)"]
|
||||||
name = "pyhanko"
|
name = "pyhanko"
|
||||||
version = "0.22.0"
|
version = "0.22.0"
|
||||||
description = "Tools for stamping and signing PDF files"
|
description = "Tools for stamping and signing PDF files"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1206,14 +1227,13 @@ mypy = ["pyHanko[async-http,etsi,extra-pubkey-algs,image-support,opentype,pkcs11
|
||||||
opentype = ["fonttools (>=4.33.3)", "uharfbuzz (>=0.25.0,<0.40.0)"]
|
opentype = ["fonttools (>=4.33.3)", "uharfbuzz (>=0.25.0,<0.40.0)"]
|
||||||
pkcs11 = ["python-pkcs11 (>=0.7.0,<0.8.0)"]
|
pkcs11 = ["python-pkcs11 (>=0.7.0,<0.8.0)"]
|
||||||
testing = ["certomancer-csc-dummy (==0.2.3)", "pyHanko[async-http,extra-pubkey-algs,image-support,opentype,pkcs11,testing-basic,xmp]", "pyHanko[etsi]", "pytest-aiohttp (>=1.0.4,<1.1.0)"]
|
testing = ["certomancer-csc-dummy (==0.2.3)", "pyHanko[async-http,extra-pubkey-algs,image-support,opentype,pkcs11,testing-basic,xmp]", "pyHanko[etsi]", "pytest-aiohttp (>=1.0.4,<1.1.0)"]
|
||||||
testing-basic = ["backports.zoneinfo[tzdata]", "certomancer (>=0.11.0,<0.12.0)", "freezegun (>=1.1.0)", "pytest (>=6.1.1)", "pytest-asyncio (==0.23.5)", "pytest-cov (>=4.0,<4.2)", "requests-mock (>=1.8.0)"]
|
testing-basic = ["backports.zoneinfo[tzdata]", "certomancer (==0.11.*)", "freezegun (>=1.1.0)", "pytest (>=6.1.1)", "pytest-asyncio (==0.23.5)", "pytest-cov (>=4.0,<4.2)", "requests-mock (>=1.8.0)"]
|
||||||
xmp = ["defusedxml (>=0.7.1,<0.8.0)"]
|
xmp = ["defusedxml (>=0.7.1,<0.8.0)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pyhanko-certvalidator"
|
name = "pyhanko-certvalidator"
|
||||||
version = "0.26.3"
|
version = "0.26.3"
|
||||||
description = "Validates X.509 certificates and paths; forked from wbond/certvalidator"
|
description = "Validates X.509 certificates and paths; forked from wbond/certvalidator"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1233,11 +1253,72 @@ async-http = ["aiohttp (>=3.8,<3.10)"]
|
||||||
mypy = ["pyhanko-certvalidator[testing]", "types-requests"]
|
mypy = ["pyhanko-certvalidator[testing]", "types-requests"]
|
||||||
testing = ["aiohttp (>=3.8,<3.10)", "freezegun (>=1.1.0)", "pyhanko-certvalidator[async-http]", "pytest (>=6.1.1)", "pytest-aiohttp (>=1.0.4,<1.1.0)", "pytest-cov (>=4.0,<4.2)"]
|
testing = ["aiohttp (>=3.8,<3.10)", "freezegun (>=1.1.0)", "pyhanko-certvalidator[async-http]", "pytest (>=6.1.1)", "pytest-aiohttp (>=1.0.4,<1.1.0)", "pytest-cov (>=4.0,<4.2)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pylint"
|
||||||
|
version = "3.1.0"
|
||||||
|
description = "python code static checker"
|
||||||
|
optional = true
|
||||||
|
python-versions = ">=3.8.0"
|
||||||
|
files = [
|
||||||
|
{file = "pylint-3.1.0-py3-none-any.whl", hash = "sha256:507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74"},
|
||||||
|
{file = "pylint-3.1.0.tar.gz", hash = "sha256:6a69beb4a6f63debebaab0a3477ecd0f559aa726af4954fc948c51f7a2549e23"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
astroid = ">=3.1.0,<=3.2.0-dev0"
|
||||||
|
colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""}
|
||||||
|
dill = [
|
||||||
|
{version = ">=0.2", markers = "python_version < \"3.11\""},
|
||||||
|
{version = ">=0.3.7", markers = "python_version >= \"3.12\""},
|
||||||
|
{version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""},
|
||||||
|
]
|
||||||
|
isort = ">=4.2.5,<5.13.0 || >5.13.0,<6"
|
||||||
|
mccabe = ">=0.6,<0.8"
|
||||||
|
platformdirs = ">=2.2.0"
|
||||||
|
tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
|
||||||
|
tomlkit = ">=0.10.1"
|
||||||
|
typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""}
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
spelling = ["pyenchant (>=3.2,<4.0)"]
|
||||||
|
testutils = ["gitpython (>3)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pylint-django"
|
||||||
|
version = "2.5.5"
|
||||||
|
description = "A Pylint plugin to help Pylint understand the Django web framework"
|
||||||
|
optional = true
|
||||||
|
python-versions = ">=3.7,<4.0"
|
||||||
|
files = [
|
||||||
|
{file = "pylint_django-2.5.5-py3-none-any.whl", hash = "sha256:5abd5c2228e0e5e2a4cb6d0b4fc1d1cef1e773d0be911412f4dd4fc1a1a440b7"},
|
||||||
|
{file = "pylint_django-2.5.5.tar.gz", hash = "sha256:2f339e4bf55776958283395c5139c37700c91bd5ef1d8251ef6ac88b5abbba9b"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
pylint = ">=2.0,<4"
|
||||||
|
pylint-plugin-utils = ">=0.8"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
with-django = ["Django (>=2.2)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pylint-plugin-utils"
|
||||||
|
version = "0.8.2"
|
||||||
|
description = "Utilities and helpers for writing Pylint plugins"
|
||||||
|
optional = true
|
||||||
|
python-versions = ">=3.7,<4.0"
|
||||||
|
files = [
|
||||||
|
{file = "pylint_plugin_utils-0.8.2-py3-none-any.whl", hash = "sha256:ae11664737aa2effbf26f973a9e0b6779ab7106ec0adc5fe104b0907ca04e507"},
|
||||||
|
{file = "pylint_plugin_utils-0.8.2.tar.gz", hash = "sha256:d3cebf68a38ba3fba23a873809155562571386d4c1b03e5b4c4cc26c3eee93e4"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
pylint = ">=1.7"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pypdf"
|
name = "pypdf"
|
||||||
version = "4.1.0"
|
version = "4.1.0"
|
||||||
description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files"
|
description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1259,7 +1340,6 @@ image = ["Pillow (>=8.0.0)"]
|
||||||
name = "pypng"
|
name = "pypng"
|
||||||
version = "0.20220715.0"
|
version = "0.20220715.0"
|
||||||
description = "Pure Python library for saving and loading PNG images"
|
description = "Pure Python library for saving and loading PNG images"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1271,7 +1351,6 @@ files = [
|
||||||
name = "python-bidi"
|
name = "python-bidi"
|
||||||
version = "0.4.2"
|
version = "0.4.2"
|
||||||
description = "Pure python implementation of the BiDi layout algorithm"
|
description = "Pure python implementation of the BiDi layout algorithm"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1286,7 +1365,6 @@ six = "*"
|
||||||
name = "python-dateutil"
|
name = "python-dateutil"
|
||||||
version = "2.9.0.post0"
|
version = "2.9.0.post0"
|
||||||
description = "Extensions to the standard Python datetime module"
|
description = "Extensions to the standard Python datetime module"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1297,11 +1375,21 @@ files = [
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
six = ">=1.5"
|
six = ">=1.5"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "python-decouple"
|
||||||
|
version = "3.8"
|
||||||
|
description = "Strict separation of settings from code."
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
files = [
|
||||||
|
{file = "python-decouple-3.8.tar.gz", hash = "sha256:ba6e2657d4f376ecc46f77a3a615e058d93ba5e465c01bbe57289bfb7cce680f"},
|
||||||
|
{file = "python_decouple-3.8-py3-none-any.whl", hash = "sha256:d0d45340815b25f4de59c974b855bb38d03151d81b037d9e3f463b0c9f8cbd66"},
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "python-ldap"
|
name = "python-ldap"
|
||||||
version = "3.4.4"
|
version = "3.4.4"
|
||||||
description = "Python modules for implementing LDAP clients"
|
description = "Python modules for implementing LDAP clients"
|
||||||
category = "main"
|
|
||||||
optional = true
|
optional = true
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1316,7 +1404,6 @@ pyasn1_modules = ">=0.1.5"
|
||||||
name = "pytz"
|
name = "pytz"
|
||||||
version = "2024.1"
|
version = "2024.1"
|
||||||
description = "World timezone definitions, modern and historical"
|
description = "World timezone definitions, modern and historical"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1328,7 +1415,6 @@ files = [
|
||||||
name = "pyyaml"
|
name = "pyyaml"
|
||||||
version = "6.0.1"
|
version = "6.0.1"
|
||||||
description = "YAML parser and emitter for Python"
|
description = "YAML parser and emitter for Python"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1389,7 +1475,6 @@ files = [
|
||||||
name = "qrcode"
|
name = "qrcode"
|
||||||
version = "7.4.2"
|
version = "7.4.2"
|
||||||
description = "QR Code image generator"
|
description = "QR Code image generator"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1413,7 +1498,6 @@ test = ["coverage", "pytest"]
|
||||||
name = "regex"
|
name = "regex"
|
||||||
version = "2023.12.25"
|
version = "2023.12.25"
|
||||||
description = "Alternative regular expression module, to replace re."
|
description = "Alternative regular expression module, to replace re."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1516,7 +1600,6 @@ files = [
|
||||||
name = "reportlab"
|
name = "reportlab"
|
||||||
version = "3.6.9"
|
version = "3.6.9"
|
||||||
description = "The Reportlab Toolkit"
|
description = "The Reportlab Toolkit"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7, <4"
|
python-versions = ">=3.7, <4"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1568,7 +1651,6 @@ rlpycairo = ["rlPyCairo (>=0.0.5)"]
|
||||||
name = "requests"
|
name = "requests"
|
||||||
version = "2.31.0"
|
version = "2.31.0"
|
||||||
description = "Python HTTP for Humans."
|
description = "Python HTTP for Humans."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1590,7 +1672,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
||||||
name = "rope"
|
name = "rope"
|
||||||
version = "0.18.0"
|
version = "0.18.0"
|
||||||
description = "a python refactoring library..."
|
description = "a python refactoring library..."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1604,7 +1685,6 @@ dev = ["pytest"]
|
||||||
name = "setuptools"
|
name = "setuptools"
|
||||||
version = "69.1.1"
|
version = "69.1.1"
|
||||||
description = "Easily download, build, install, upgrade, and uninstall Python packages"
|
description = "Easily download, build, install, upgrade, and uninstall Python packages"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1621,7 +1701,6 @@ testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jar
|
||||||
name = "six"
|
name = "six"
|
||||||
version = "1.16.0"
|
version = "1.16.0"
|
||||||
description = "Python 2 and 3 compatibility utilities"
|
description = "Python 2 and 3 compatibility utilities"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1633,7 +1712,6 @@ files = [
|
||||||
name = "smmap"
|
name = "smmap"
|
||||||
version = "5.0.1"
|
version = "5.0.1"
|
||||||
description = "A pure Python implementation of a sliding window memory map manager"
|
description = "A pure Python implementation of a sliding window memory map manager"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1645,7 +1723,6 @@ files = [
|
||||||
name = "snowballstemmer"
|
name = "snowballstemmer"
|
||||||
version = "2.2.0"
|
version = "2.2.0"
|
||||||
description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms."
|
description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1657,7 +1734,6 @@ files = [
|
||||||
name = "sphinx"
|
name = "sphinx"
|
||||||
version = "3.5.4"
|
version = "3.5.4"
|
||||||
description = "Python documentation generator"
|
description = "Python documentation generator"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.5"
|
python-versions = ">=3.5"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1693,7 +1769,6 @@ test = ["cython", "html5lib", "pytest", "pytest-cov", "typed-ast"]
|
||||||
name = "sphinx-rtd-theme"
|
name = "sphinx-rtd-theme"
|
||||||
version = "0.5.2"
|
version = "0.5.2"
|
||||||
description = "Read the Docs theme for Sphinx"
|
description = "Read the Docs theme for Sphinx"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1712,7 +1787,6 @@ dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client"]
|
||||||
name = "sphinxcontrib-applehelp"
|
name = "sphinxcontrib-applehelp"
|
||||||
version = "1.0.4"
|
version = "1.0.4"
|
||||||
description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books"
|
description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1728,7 +1802,6 @@ test = ["pytest"]
|
||||||
name = "sphinxcontrib-devhelp"
|
name = "sphinxcontrib-devhelp"
|
||||||
version = "1.0.2"
|
version = "1.0.2"
|
||||||
description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
|
description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.5"
|
python-versions = ">=3.5"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1744,7 +1817,6 @@ test = ["pytest"]
|
||||||
name = "sphinxcontrib-htmlhelp"
|
name = "sphinxcontrib-htmlhelp"
|
||||||
version = "2.0.1"
|
version = "2.0.1"
|
||||||
description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
|
description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1760,7 +1832,6 @@ test = ["html5lib", "pytest"]
|
||||||
name = "sphinxcontrib-jsmath"
|
name = "sphinxcontrib-jsmath"
|
||||||
version = "1.0.1"
|
version = "1.0.1"
|
||||||
description = "A sphinx extension which renders display math in HTML via JavaScript"
|
description = "A sphinx extension which renders display math in HTML via JavaScript"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.5"
|
python-versions = ">=3.5"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1775,7 +1846,6 @@ test = ["flake8", "mypy", "pytest"]
|
||||||
name = "sphinxcontrib-qthelp"
|
name = "sphinxcontrib-qthelp"
|
||||||
version = "1.0.3"
|
version = "1.0.3"
|
||||||
description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document."
|
description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.5"
|
python-versions = ">=3.5"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1791,7 +1861,6 @@ test = ["pytest"]
|
||||||
name = "sphinxcontrib-serializinghtml"
|
name = "sphinxcontrib-serializinghtml"
|
||||||
version = "1.1.5"
|
version = "1.1.5"
|
||||||
description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)."
|
description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.5"
|
python-versions = ">=3.5"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1807,7 +1876,6 @@ test = ["pytest"]
|
||||||
name = "sqlparse"
|
name = "sqlparse"
|
||||||
version = "0.4.4"
|
version = "0.4.4"
|
||||||
description = "A non-validating SQL parser."
|
description = "A non-validating SQL parser."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.5"
|
python-versions = ">=3.5"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1824,7 +1892,6 @@ test = ["pytest", "pytest-cov"]
|
||||||
name = "svglib"
|
name = "svglib"
|
||||||
version = "1.5.1"
|
version = "1.5.1"
|
||||||
description = "A pure-Python library for reading and converting SVG"
|
description = "A pure-Python library for reading and converting SVG"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1841,7 +1908,6 @@ tinycss2 = ">=0.6.0"
|
||||||
name = "tinycss2"
|
name = "tinycss2"
|
||||||
version = "1.2.1"
|
version = "1.2.1"
|
||||||
description = "A tiny CSS parser"
|
description = "A tiny CSS parser"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1860,7 +1926,6 @@ test = ["flake8", "isort", "pytest"]
|
||||||
name = "toml"
|
name = "toml"
|
||||||
version = "0.10.2"
|
version = "0.10.2"
|
||||||
description = "Python Library for Tom's Obvious, Minimal Language"
|
description = "Python Library for Tom's Obvious, Minimal Language"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
|
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1868,11 +1933,32 @@ files = [
|
||||||
{file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
|
{file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tomli"
|
||||||
|
version = "2.0.1"
|
||||||
|
description = "A lil' TOML parser"
|
||||||
|
optional = true
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
|
{file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
|
||||||
|
{file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tomlkit"
|
||||||
|
version = "0.12.4"
|
||||||
|
description = "Style preserving TOML library"
|
||||||
|
optional = true
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
|
{file = "tomlkit-0.12.4-py3-none-any.whl", hash = "sha256:5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b"},
|
||||||
|
{file = "tomlkit-0.12.4.tar.gz", hash = "sha256:7ca1cfc12232806517a8515047ba66a19369e71edf2439d0f5824f91032b6cc3"},
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tqdm"
|
name = "tqdm"
|
||||||
version = "4.63.1"
|
version = "4.63.1"
|
||||||
description = "Fast, Extensible Progress Meter"
|
description = "Fast, Extensible Progress Meter"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
|
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1892,7 +1978,6 @@ telegram = ["requests"]
|
||||||
name = "typed-ast"
|
name = "typed-ast"
|
||||||
version = "1.5.5"
|
version = "1.5.5"
|
||||||
description = "a fork of Python 2 and 3 ast modules with type comment support"
|
description = "a fork of Python 2 and 3 ast modules with type comment support"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1943,7 +2028,6 @@ files = [
|
||||||
name = "typing-extensions"
|
name = "typing-extensions"
|
||||||
version = "4.10.0"
|
version = "4.10.0"
|
||||||
description = "Backported and Experimental Type Hints for Python 3.8+"
|
description = "Backported and Experimental Type Hints for Python 3.8+"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1955,7 +2039,6 @@ files = [
|
||||||
name = "tzdata"
|
name = "tzdata"
|
||||||
version = "2024.1"
|
version = "2024.1"
|
||||||
description = "Provider of IANA time zone data"
|
description = "Provider of IANA time zone data"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2"
|
python-versions = ">=2"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1967,7 +2050,6 @@ files = [
|
||||||
name = "tzlocal"
|
name = "tzlocal"
|
||||||
version = "5.2"
|
version = "5.2"
|
||||||
description = "tzinfo object for the local timezone"
|
description = "tzinfo object for the local timezone"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1986,7 +2068,6 @@ devenv = ["check-manifest", "pytest (>=4.3)", "pytest-cov", "pytest-mock (>=3.3)
|
||||||
name = "uritools"
|
name = "uritools"
|
||||||
version = "4.0.2"
|
version = "4.0.2"
|
||||||
description = "URI parsing, classification and composition"
|
description = "URI parsing, classification and composition"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7"
|
python-versions = ">=3.7"
|
||||||
files = [
|
files = [
|
||||||
|
@ -1998,7 +2079,6 @@ files = [
|
||||||
name = "urllib3"
|
name = "urllib3"
|
||||||
version = "2.2.1"
|
version = "2.2.1"
|
||||||
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
|
@ -2012,11 +2092,27 @@ h2 = ["h2 (>=4,<5)"]
|
||||||
socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
|
socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
|
||||||
zstd = ["zstandard (>=0.18.0)"]
|
zstd = ["zstandard (>=0.18.0)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "volatildap"
|
||||||
|
version = "1.5.0"
|
||||||
|
description = "Temporary slapd launcher for testing purposes"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.5"
|
||||||
|
files = [
|
||||||
|
{file = "volatildap-1.5.0-py2.py3-none-any.whl", hash = "sha256:732dfc459dd49c75e9e13e1c7bf96cb33a835d4ee7c9716205fae3fcaee6b9e5"},
|
||||||
|
{file = "volatildap-1.5.0.tar.gz", hash = "sha256:3d9c9cc39cfed706b9a3da3bc3a2f369987807e4d4eaaddf313a994cf8a77f3c"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
requests = "*"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
dev = ["check-manifest", "flake8", "isort (>=5.0.0)", "psutil", "tox", "wheel", "zest.releaser[recommended]"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "webencodings"
|
name = "webencodings"
|
||||||
version = "0.5.1"
|
version = "0.5.1"
|
||||||
description = "Character encoding aliases for legacy web content"
|
description = "Character encoding aliases for legacy web content"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -2028,7 +2124,6 @@ files = [
|
||||||
name = "xhtml2pdf"
|
name = "xhtml2pdf"
|
||||||
version = "0.2.11"
|
version = "0.2.11"
|
||||||
description = "PDF generator using HTML and CSS"
|
description = "PDF generator using HTML and CSS"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
files = [
|
files = [
|
||||||
|
@ -2050,7 +2145,6 @@ svglib = ">=1.2.1"
|
||||||
name = "zipp"
|
name = "zipp"
|
||||||
version = "3.17.0"
|
version = "3.17.0"
|
||||||
description = "Backport of pathlib-compatible object wrapper for zip files"
|
description = "Backport of pathlib-compatible object wrapper for zip files"
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
files = [
|
files = [
|
||||||
|
@ -2064,10 +2158,11 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p
|
||||||
|
|
||||||
[extras]
|
[extras]
|
||||||
ldap = ["django-ldapdb"]
|
ldap = ["django-ldapdb"]
|
||||||
|
lint = ["pylint", "pylint-django"]
|
||||||
mysql = ["mysqlclient"]
|
mysql = ["mysqlclient"]
|
||||||
postgresql = ["psycopg2"]
|
postgresql = ["psycopg2"]
|
||||||
|
|
||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = ">=3.8,<4.0"
|
python-versions = ">=3.8,<4.0"
|
||||||
content-hash = "6877ec0733c92969c4d1dd66609e41ffde9c8022203c8adc816ae376690175f7"
|
content-hash = "35c7fcf4285d44bb7287cb8d9573f327beec53c61979faae77a8c077c2560930"
|
||||||
|
|
|
@ -423,12 +423,12 @@ pycryptodome==3.20.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
pyhanko-certvalidator==0.26.3 ; python_version >= "3.8" and python_version < "4.0" \
|
pyhanko-certvalidator==0.26.3 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:47fba8e9dbf846d766f2e0a453572dd4b25b2f1397847a31fe892c8eb00391f5 \
|
--hash=sha256:47fba8e9dbf846d766f2e0a453572dd4b25b2f1397847a31fe892c8eb00391f5 \
|
||||||
--hash=sha256:e386c87e202ff1caacf5fd941da6c3509e79db54dbd7b43c6550ceebe5e67077
|
--hash=sha256:e386c87e202ff1caacf5fd941da6c3509e79db54dbd7b43c6550ceebe5e67077
|
||||||
pyhanko==0.21.0 ; python_version >= "3.8" and python_version < "4.0" \
|
pyhanko==0.22.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:0a4de2c26a55c85ee6da79fc995a7fc6a61b7520270f03251caf8977ba27ccb8 \
|
--hash=sha256:7a8d50889440c435ba5e41f46c633518effa218dc76e2f88869c9e8a731b7234 \
|
||||||
--hash=sha256:e5609fb8a0b8d60168999cffaa382f0361066cb429204ad2b76e84e6e7f5eb93
|
--hash=sha256:af2350222d011995668f462ac03378854c4d56bb684910fe9065e634dd7a6908
|
||||||
pypdf==4.0.2 ; python_version >= "3.8" and python_version < "4.0" \
|
pypdf==4.1.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:3316d9ddfcff5df67ae3cdfe8b945c432aa43e7f970bae7c2a4ab4fe129cd937 \
|
--hash=sha256:01c3257ec908676efd60a4537e525b89d48e0852bc92b4e0aa4cc646feda17cc \
|
||||||
--hash=sha256:a62daa2a24d5a608ba1b6284dde185317ce3644f89b9ebe5314d0c5d1c9f257d
|
--hash=sha256:16cac912a05200099cef3f347c4c7e0aaf0a6d027603b8f9a973c0ea500dff89
|
||||||
pypng==0.20220715.0 ; python_version >= "3.8" and python_version < "4.0" \
|
pypng==0.20220715.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c \
|
--hash=sha256:4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c \
|
||||||
--hash=sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1
|
--hash=sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1
|
||||||
|
@ -438,6 +438,9 @@ python-bidi==0.4.2 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
python-dateutil==2.9.0.post0 ; python_version >= "3.8" and python_version < "4.0" \
|
python-dateutil==2.9.0.post0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
|
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
|
||||||
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
|
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
|
||||||
|
python-decouple==3.8 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
|
--hash=sha256:ba6e2657d4f376ecc46f77a3a615e058d93ba5e465c01bbe57289bfb7cce680f \
|
||||||
|
--hash=sha256:d0d45340815b25f4de59c974b855bb38d03151d81b037d9e3f463b0c9f8cbd66
|
||||||
pytz==2024.1 ; python_version >= "3.8" and python_version < "4.0" \
|
pytz==2024.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812 \
|
--hash=sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812 \
|
||||||
--hash=sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319
|
--hash=sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319
|
||||||
|
|
|
@ -43,7 +43,7 @@ from reversion import revisions as reversion
|
||||||
|
|
||||||
from re2o.acl import (acl_error_message, can_create, can_delete,
|
from re2o.acl import (acl_error_message, can_create, can_delete,
|
||||||
can_delete_set, can_edit, can_view_all)
|
can_delete_set, can_edit, can_view_all)
|
||||||
from re2o.settings_local import OPTIONNAL_APPS_RE2O
|
from re2o.settings import OPTIONNAL_APPS_RE2O
|
||||||
from re2o.views import form
|
from re2o.views import form
|
||||||
|
|
||||||
from . import forms, models
|
from . import forms, models
|
||||||
|
|
|
@ -59,11 +59,15 @@ mysqlclient = {version = "^2.0.3", optional=true}
|
||||||
psycopg2 = {version = ">=2.8,<2.9", optional=true}
|
psycopg2 = {version = ">=2.8,<2.9", optional=true}
|
||||||
django-ldapdb = {version = "^1.5.1", optional=true}
|
django-ldapdb = {version = "^1.5.1", optional=true}
|
||||||
xhtml2pdf = "^0.2.6"
|
xhtml2pdf = "^0.2.6"
|
||||||
|
pylint-django = {version = "^2.5.5", optional=true}
|
||||||
|
pylint = {version = "^3.1.0", optional=true}
|
||||||
|
python-decouple = "^3.8"
|
||||||
|
|
||||||
[tool.poetry.extras]
|
[tool.poetry.extras]
|
||||||
mysql = ["mysqlclient"]
|
mysql = ["mysqlclient"]
|
||||||
postgresql = ["psycopg2"]
|
postgresql = ["psycopg2"]
|
||||||
ldap = ["django-ldapdb"]
|
ldap = ["django-ldapdb"]
|
||||||
|
lint = ["pylint", "pylint-django"]
|
||||||
|
|
||||||
[tool.poetry.dev-dependencies]
|
[tool.poetry.dev-dependencies]
|
||||||
Sphinx = "^3.4.3"
|
Sphinx = "^3.4.3"
|
||||||
|
@ -72,3 +76,4 @@ black = "^20.8b1"
|
||||||
rope = "^0.18.0"
|
rope = "^0.18.0"
|
||||||
coverage = "^5.4"
|
coverage = "^5.4"
|
||||||
docstr-coverage = "^2.0.0"
|
docstr-coverage = "^2.0.0"
|
||||||
|
volatildap = "^1.5.0"
|
||||||
|
|
|
@ -32,7 +32,7 @@ from django.http import HttpRequest
|
||||||
from django.utils.translation import get_language
|
from django.utils.translation import get_language
|
||||||
|
|
||||||
from preferences.models import GeneralOption, OptionalMachine
|
from preferences.models import GeneralOption, OptionalMachine
|
||||||
from re2o.settings_local import OPTIONNAL_APPS_RE2O
|
from re2o.settings import OPTIONNAL_APPS_RE2O
|
||||||
|
|
||||||
|
|
||||||
def context_user(request):
|
def context_user(request):
|
||||||
|
|
|
@ -36,14 +36,21 @@ https://docs.djangoproject.com/en/1.8/ref/settings/
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
import importlib
|
||||||
|
from decouple import config
|
||||||
|
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from .settings_default import *
|
from .settings_default import *
|
||||||
|
|
||||||
|
env = config('ENV', default='prod')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from .settings_local import *
|
if env == "dev":
|
||||||
|
from .settings_local_dev import *
|
||||||
|
else:
|
||||||
|
from .settings_local import *
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
from django.utils.translation import ugettext_lazy as _
|
|
||||||
|
|
||||||
# The root directory for the project
|
# The root directory for the project
|
||||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
# Copyright © 2017 Gabriel Détraz
|
# Copyright © 2017 Gabriel Détraz
|
||||||
# Copyright © 2017 Lara Kermarec
|
# Copyright © 2017 Lara Kermarec
|
||||||
# Copyright © 2017 Augustin Lemesle
|
# Copyright © 2017 Augustin Lemesle
|
||||||
|
# Copyright © 2024 Caroline Canebier
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -20,11 +21,13 @@
|
||||||
# You should have received a copy of the GNU General Public License along
|
# You should have received a copy of the GNU General Public License along
|
||||||
# with this program; if not, write to the Free Software Foundation, Inc.,
|
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
"""re2o.settings_local
|
"""re2o.settings_local_dev
|
||||||
The file with all the available options for a locale configuration of re2o
|
The file with all the available options for a locale configuration of re2o
|
||||||
|
This file is prefilled with default values for the tests and for development
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
from decouple import config
|
||||||
|
|
||||||
# A secret key used by the server.
|
# A secret key used by the server.
|
||||||
SECRET_KEY = "=0u1d+gi6r06+r4gmrtdg6dhsi0mc7v39a37di4m5cfqt2aro2"
|
SECRET_KEY = "=0u1d+gi6r06+r4gmrtdg6dhsi0mc7v39a37di4m5cfqt2aro2"
|
||||||
|
@ -50,9 +53,9 @@ TIME_ZONE = "Europe/Paris"
|
||||||
DATABASES = {
|
DATABASES = {
|
||||||
'default': {
|
'default': {
|
||||||
'ENGINE': 'django.db.backends.postgresql',
|
'ENGINE': 'django.db.backends.postgresql',
|
||||||
'NAME': '${POSTGRES_DB}',
|
'NAME': config('POSTGRES_DB'),
|
||||||
'USER': '${POSTGRES_USER}',
|
'USER': config('POSTGRES_USER'),
|
||||||
'PASSWORD': '${POSTGRES_PASSWORD}',
|
'PASSWORD': config('POSTGRES_PASSWORD'),
|
||||||
'HOST': 'db',
|
'HOST': 'db',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -95,10 +98,23 @@ GID_RANGES = {"posix": [501, 600]}
|
||||||
DEFAULT_GID = 500
|
DEFAULT_GID = 500
|
||||||
|
|
||||||
# Some optionnal Re2o Apps
|
# Some optionnal Re2o Apps
|
||||||
OPTIONNAL_APPS_RE2O = ()
|
OPTIONNAL_APPS_RE2O = (
|
||||||
|
'api', # Is needed to use the API, for example for DHCP, DNS or Radius integration
|
||||||
|
# 'ldap_sync', # Is needed to manage a LDAP server. Tests are currently broken
|
||||||
|
'radius', # Adds a few API routes for Radius use, need API to be activated too
|
||||||
|
)
|
||||||
|
|
||||||
# Some Django apps you want to add in you local project
|
# Some Django apps you want to add in you local project
|
||||||
OPTIONNAL_APPS = OPTIONNAL_APPS_RE2O + ()
|
OPTIONNAL_APPS = OPTIONNAL_APPS_RE2O + ()
|
||||||
|
|
||||||
# Some optinnal link for the navbar in a tuple (link,icon class,text,position (left or right))
|
# Some optinnal link for the navbar in a tuple (link,icon class,text,position (left or right))
|
||||||
NAVBAR_LINKS = ()
|
NAVBAR_LINKS = ()
|
||||||
|
|
||||||
|
# LDAP = {
|
||||||
|
# "base_user_dn": "cn=users,dc=ldap,,dc=example,dc=net",
|
||||||
|
# "base_userservice_dn": "ou=service-users,dc=ldap,dc=example,dc=net",
|
||||||
|
# "base_usergroup_dn": "ou=posix,ou=groups,dc=ldap,,dc=example,dc=net",
|
||||||
|
# "base_userservicegroup_dn": "ou=services,ou=groups,dc=ldap,,dc=example,dc=net",
|
||||||
|
# "user_gid": 500,
|
||||||
|
# }
|
||||||
|
# LOCAL_ROUTERS = ['ldapdb.router.Router']
|
|
@ -29,7 +29,7 @@ from django.urls import include, path
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from django.views.generic import RedirectView
|
from django.views.generic import RedirectView
|
||||||
|
|
||||||
from .settings_local import OPTIONNAL_APPS_RE2O
|
from .settings import OPTIONNAL_APPS_RE2O
|
||||||
from .views import about_page, contact_page, handler404, handler500, index
|
from .views import about_page, contact_page, handler404, handler500, index
|
||||||
|
|
||||||
# Admin site configuration
|
# Admin site configuration
|
||||||
|
|
|
@ -39,7 +39,7 @@ from django.utils.translation import ugettext as _
|
||||||
|
|
||||||
from preferences.models import (AssoOption, GeneralOption, HomeOption,
|
from preferences.models import (AssoOption, GeneralOption, HomeOption,
|
||||||
MailContact, Mandate, Service)
|
MailContact, Mandate, Service)
|
||||||
from re2o.settings_local import OPTIONNAL_APPS_RE2O
|
from re2o.settings import OPTIONNAL_APPS_RE2O
|
||||||
|
|
||||||
from .contributors import CONTRIBUTORS
|
from .contributors import CONTRIBUTORS
|
||||||
|
|
||||||
|
|
|
@ -407,12 +407,12 @@ pycryptodome==3.20.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
pyhanko-certvalidator==0.26.3 ; python_version >= "3.8" and python_version < "4.0" \
|
pyhanko-certvalidator==0.26.3 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:47fba8e9dbf846d766f2e0a453572dd4b25b2f1397847a31fe892c8eb00391f5 \
|
--hash=sha256:47fba8e9dbf846d766f2e0a453572dd4b25b2f1397847a31fe892c8eb00391f5 \
|
||||||
--hash=sha256:e386c87e202ff1caacf5fd941da6c3509e79db54dbd7b43c6550ceebe5e67077
|
--hash=sha256:e386c87e202ff1caacf5fd941da6c3509e79db54dbd7b43c6550ceebe5e67077
|
||||||
pyhanko==0.21.0 ; python_version >= "3.8" and python_version < "4.0" \
|
pyhanko==0.22.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:0a4de2c26a55c85ee6da79fc995a7fc6a61b7520270f03251caf8977ba27ccb8 \
|
--hash=sha256:7a8d50889440c435ba5e41f46c633518effa218dc76e2f88869c9e8a731b7234 \
|
||||||
--hash=sha256:e5609fb8a0b8d60168999cffaa382f0361066cb429204ad2b76e84e6e7f5eb93
|
--hash=sha256:af2350222d011995668f462ac03378854c4d56bb684910fe9065e634dd7a6908
|
||||||
pypdf==4.0.2 ; python_version >= "3.8" and python_version < "4.0" \
|
pypdf==4.1.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:3316d9ddfcff5df67ae3cdfe8b945c432aa43e7f970bae7c2a4ab4fe129cd937 \
|
--hash=sha256:01c3257ec908676efd60a4537e525b89d48e0852bc92b4e0aa4cc646feda17cc \
|
||||||
--hash=sha256:a62daa2a24d5a608ba1b6284dde185317ce3644f89b9ebe5314d0c5d1c9f257d
|
--hash=sha256:16cac912a05200099cef3f347c4c7e0aaf0a6d027603b8f9a973c0ea500dff89
|
||||||
pypng==0.20220715.0 ; python_version >= "3.8" and python_version < "4.0" \
|
pypng==0.20220715.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c \
|
--hash=sha256:4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c \
|
||||||
--hash=sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1
|
--hash=sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1
|
||||||
|
@ -422,6 +422,9 @@ python-bidi==0.4.2 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
python-dateutil==2.9.0.post0 ; python_version >= "3.8" and python_version < "4.0" \
|
python-dateutil==2.9.0.post0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
|
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
|
||||||
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
|
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
|
||||||
|
python-decouple==3.8 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
|
--hash=sha256:ba6e2657d4f376ecc46f77a3a615e058d93ba5e465c01bbe57289bfb7cce680f \
|
||||||
|
--hash=sha256:d0d45340815b25f4de59c974b855bb38d03151d81b037d9e3f463b0c9f8cbd66
|
||||||
pytz==2024.1 ; python_version >= "3.8" and python_version < "4.0" \
|
pytz==2024.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||||
--hash=sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812 \
|
--hash=sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812 \
|
||||||
--hash=sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319
|
--hash=sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319
|
||||||
|
|
10
update_req.sh
Executable file
10
update_req.sh
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Updates all requirements.txt files from poetry
|
||||||
|
# Will have to be run on each update until 3.0 release
|
||||||
|
|
||||||
|
poetry export -f requirements.txt --output requirements.txt
|
||||||
|
poetry export -f requirements.txt --output dev-requirements.txt --dev
|
||||||
|
poetry export -f requirements.txt --output ldap-requirements.txt --extras ldap
|
||||||
|
poetry export -f requirements.txt --output postgresql-requirements.txt --extras postgresql
|
||||||
|
poetry export -f requirements.txt --output mysql-requirements.txt --extras mysql
|
Loading…
Reference in a new issue