Skip to content

Commit af4d493

Browse files
authored
Test with Django 3.0 (#576)
Add testing with Django 3.0 as the first alpha has been released.
1 parent bb78ccf commit af4d493

File tree

12 files changed

+489
-24
lines changed

12 files changed

+489
-24
lines changed

django_mysql/models/fields/enum.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from django.db.models import CharField
2-
from django.utils.encoding import force_text
2+
from django.utils.encoding import force_str
33
from django.utils.translation import ugettext_lazy as _
44

55

@@ -52,6 +52,6 @@ def deconstruct(self):
5252
def db_type(self, connection):
5353
connection.ensure_connection()
5454
values = [connection.connection.escape_string(c) for c, _ in self.flatchoices]
55-
# Use force_text because MySQLdb escape_string() returns bytes, but
55+
# Use force_str because MySQLdb escape_string() returns bytes, but
5656
# pymysql returns str
57-
return "enum(%s)" % ",".join("'%s'" % force_text(v) for v in values)
57+
return "enum(%s)" % ",".join("'%s'" % force_str(v) for v in values)

django_mysql/models/fields/lists.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import django
22
from django.core import checks
33
from django.db.models import CharField, IntegerField, Lookup, TextField
4-
from django.utils.translation import ugettext_lazy as _
4+
from django.utils.translation import gettext_lazy as _
55

66
from django_mysql.forms import SimpleListField
77
from django_mysql.models.lookups import SetContains, SetIContains

django_mysql/models/fields/sets.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import django
22
from django.core import checks
33
from django.db.models import CharField, IntegerField, TextField
4-
from django.utils.translation import ugettext_lazy as _
4+
from django.utils.translation import gettext_lazy as _
55

66
from django_mysql.forms import SimpleSetField
77
from django_mysql.models.lookups import SetContains, SetIContains

django_mysql/models/lookups.py

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import collections
22
import json
33

4+
import django
45
from django.db.models import CharField, Lookup, Transform
56
from django.db.models.lookups import (
67
BuiltinLookup,
@@ -47,11 +48,21 @@ def as_sql(self, compiler, connection):
4748

4849

4950
class JSONLookupMixin(object):
50-
def get_prep_lookup(self):
51-
value = self.rhs
52-
if not hasattr(value, "_prepare") and value is not None:
53-
return JSONValue(value)
54-
return super(JSONLookupMixin, self).get_prep_lookup()
51+
if django.VERSION >= (3, 0):
52+
53+
def get_prep_lookup(self):
54+
value = self.rhs
55+
if not hasattr(value, "resolve_expression") and value is not None:
56+
return JSONValue(value)
57+
return super(JSONLookupMixin, self).get_prep_lookup()
58+
59+
else:
60+
61+
def get_prep_lookup(self):
62+
value = self.rhs
63+
if not hasattr(value, "_prepare") and value is not None:
64+
return JSONValue(value)
65+
return super(JSONLookupMixin, self).get_prep_lookup()
5566

5667

5768
class JSONExact(JSONLookupMixin, Exact):
@@ -156,7 +167,7 @@ class SetContains(Lookup):
156167
lookup_name = "contains"
157168

158169
def get_prep_lookup(self):
159-
if isinstance(self.rhs, (list, set)):
170+
if isinstance(self.rhs, (list, set, tuple)):
160171
# Can't do multiple contains without massive ORM hackery
161172
# (ANDing all the FIND_IN_SET calls), so just reject them
162173
raise ValueError(

django_mysql/models/query.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from django.db.transaction import atomic
1212
from django.test.utils import CaptureQueriesContext
1313
from django.utils.functional import cached_property
14-
from django.utils.translation import ugettext as _
14+
from django.utils.translation import gettext as _
1515

1616
from django_mysql.models.handler import Handler
1717
from django_mysql.rewrite_query import REWRITE_MARKER

docs/installation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Requirements
88
These are the supported, tested versions of Django-MySQL's requirements:
99

1010
* Python: 3.5, 3.6, 3.7
11-
* Django: 1.11, 2.0, 2.1, 2.2
11+
* Django: 1.11, 2.0, 2.1, 2.2, 3.0
1212
* MySQL: 5.6, 5.7 / MariaDB: 10.0, 10.1, 10.2, 10.3
1313
* mysqlclient: 1.3
1414

requirements/compile.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ python3.6 -m piptools compile --generate-hashes -P 'Django>=1.11,<2.0' -P 'mysql
1111
python3.6 -m piptools compile --generate-hashes -P 'Django>=2.0,<2.1' -P 'mysqlclient>=1.3.7,<=1.3.13' "$@" -o py36-django20.txt
1212
python3.6 -m piptools compile --generate-hashes -P 'Django>=2.1,<2.2' -P 'mysqlclient>=1.3.7' "$@" -o py36-django21.txt
1313
python3.6 -m piptools compile --generate-hashes -P 'Django>=2.2,<2.3' -P 'mysqlclient>=1.3.13' "$@" -o py36-django22.txt
14+
python3.6 -m piptools compile --generate-hashes -P 'Django>=3.0a1,<3.1' -P 'mysqlclient>=1.3.13' "$@" -o py36-django30.txt
1415
python3.7 -m piptools compile --generate-hashes -P 'Django>=1.11,<2.0' -P 'mysqlclient>=1.3.3,<=1.3.13' "$@" -o py37-django111.txt
1516
python3.7 -m piptools compile --generate-hashes -P 'Django>=2.0,<2.1' -P 'mysqlclient>=1.3.7,<=1.3.13' "$@" -o py37-django20.txt
1617
python3.7 -m piptools compile --generate-hashes -P 'Django>=2.1,<2.2' -P 'mysqlclient>=1.3.7' "$@" -o py37-django21.txt
1718
python3.7 -m piptools compile --generate-hashes -P 'Django>=2.2,<2.3' -P 'mysqlclient>=1.3.13' "$@" -o py37-django22.txt
19+
python3.7 -m piptools compile --generate-hashes -P 'Django>=3.0a1,<3.1' -P 'mysqlclient>=1.3.13' "$@" -o py37-django30.txt

requirements/py36-django30.txt

Lines changed: 216 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,216 @@
1+
#
2+
# This file is autogenerated by pip-compile
3+
# To update, run:
4+
#
5+
# ./compile.sh
6+
#
7+
asgiref==3.2.2 \
8+
--hash=sha256:a4ce726e6ef49cca13642ff49588530ebabcc47c669c7a95af37ea5a74b9b823 \
9+
--hash=sha256:f62b1c88ebf5fe95db202a372982970edcf375c1513d7e70717df0750f5c2b98 \
10+
# via django
11+
atomicwrites==1.3.0 \
12+
--hash=sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4 \
13+
--hash=sha256:75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6 \
14+
# via pytest
15+
attrs==19.1.0 \
16+
--hash=sha256:69c0dbf2ed392de1cb5ec704444b08a5ef81680a61cb899dc08127123af36a79 \
17+
--hash=sha256:f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399 \
18+
# via flake8-bugbear, packaging, pytest
19+
bleach==3.1.0 \
20+
--hash=sha256:213336e49e102af26d9cde77dd2d0397afabc5a6bf2fed985dc35b5d1e285a16 \
21+
--hash=sha256:3fdf7f77adcf649c9911387df51254b813185e32b2c6619f690b593a617e19fa \
22+
# via readme-renderer
23+
certifi==2019.9.11 \
24+
--hash=sha256:e4f3620cfea4f83eedc95b24abd9cd56f3c4b146dd0177e83a21b4eb49e21e50 \
25+
--hash=sha256:fd7c7c74727ddcf00e9acd26bba8da604ffec95bf1c2144e67aff7a8b50e6cef \
26+
# via requests
27+
chardet==3.0.4 \
28+
--hash=sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae \
29+
--hash=sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691 \
30+
# via requests
31+
coverage==4.5.4 \
32+
--hash=sha256:08907593569fe59baca0bf152c43f3863201efb6113ecb38ce7e97ce339805a6 \
33+
--hash=sha256:0be0f1ed45fc0c185cfd4ecc19a1d6532d72f86a2bac9de7e24541febad72650 \
34+
--hash=sha256:141f08ed3c4b1847015e2cd62ec06d35e67a3ac185c26f7635f4406b90afa9c5 \
35+
--hash=sha256:19e4df788a0581238e9390c85a7a09af39c7b539b29f25c89209e6c3e371270d \
36+
--hash=sha256:23cc09ed395b03424d1ae30dcc292615c1372bfba7141eb85e11e50efaa6b351 \
37+
--hash=sha256:245388cda02af78276b479f299bbf3783ef0a6a6273037d7c60dc73b8d8d7755 \
38+
--hash=sha256:331cb5115673a20fb131dadd22f5bcaf7677ef758741312bee4937d71a14b2ef \
39+
--hash=sha256:386e2e4090f0bc5df274e720105c342263423e77ee8826002dcffe0c9533dbca \
40+
--hash=sha256:3a794ce50daee01c74a494919d5ebdc23d58873747fa0e288318728533a3e1ca \
41+
--hash=sha256:60851187677b24c6085248f0a0b9b98d49cba7ecc7ec60ba6b9d2e5574ac1ee9 \
42+
--hash=sha256:63a9a5fc43b58735f65ed63d2cf43508f462dc49857da70b8980ad78d41d52fc \
43+
--hash=sha256:6b62544bb68106e3f00b21c8930e83e584fdca005d4fffd29bb39fb3ffa03cb5 \
44+
--hash=sha256:6ba744056423ef8d450cf627289166da65903885272055fb4b5e113137cfa14f \
45+
--hash=sha256:7494b0b0274c5072bddbfd5b4a6c6f18fbbe1ab1d22a41e99cd2d00c8f96ecfe \
46+
--hash=sha256:826f32b9547c8091679ff292a82aca9c7b9650f9fda3e2ca6bf2ac905b7ce888 \
47+
--hash=sha256:93715dffbcd0678057f947f496484e906bf9509f5c1c38fc9ba3922893cda5f5 \
48+
--hash=sha256:9a334d6c83dfeadae576b4d633a71620d40d1c379129d587faa42ee3e2a85cce \
49+
--hash=sha256:af7ed8a8aa6957aac47b4268631fa1df984643f07ef00acd374e456364b373f5 \
50+
--hash=sha256:bf0a7aed7f5521c7ca67febd57db473af4762b9622254291fbcbb8cd0ba5e33e \
51+
--hash=sha256:bf1ef9eb901113a9805287e090452c05547578eaab1b62e4ad456fcc049a9b7e \
52+
--hash=sha256:c0afd27bc0e307a1ffc04ca5ec010a290e49e3afbe841c5cafc5c5a80ecd81c9 \
53+
--hash=sha256:dd579709a87092c6dbee09d1b7cfa81831040705ffa12a1b248935274aee0437 \
54+
--hash=sha256:df6712284b2e44a065097846488f66840445eb987eb81b3cc6e4149e7b6982e1 \
55+
--hash=sha256:e07d9f1a23e9e93ab5c62902833bf3e4b1f65502927379148b6622686223125c \
56+
--hash=sha256:e2ede7c1d45e65e209d6093b762e98e8318ddeff95317d07a27a2140b80cfd24 \
57+
--hash=sha256:e4ef9c164eb55123c62411f5936b5c2e521b12356037b6e1c2617cef45523d47 \
58+
--hash=sha256:eca2b7343524e7ba246cab8ff00cab47a2d6d54ada3b02772e908a45675722e2 \
59+
--hash=sha256:eee64c616adeff7db37cc37da4180a3a5b6177f5c46b187894e633f088fb5b28 \
60+
--hash=sha256:ef824cad1f980d27f26166f86856efe11eff9912c4fed97d3804820d43fa550c \
61+
--hash=sha256:efc89291bd5a08855829a3c522df16d856455297cf35ae827a37edac45f466a7 \
62+
--hash=sha256:fa964bae817babece5aa2e8c1af841bebb6d0b9add8e637548809d040443fee0 \
63+
--hash=sha256:ff37757e068ae606659c28c3bd0d923f9d29a85de79bf25b2b34b148473b5025
64+
django==3.0a1 \
65+
--hash=sha256:ccf5d58cfe53601afcf38d53cb5a3ed6a915afcfdb728593ce8594f96ca21cd8 \
66+
--hash=sha256:ccfaf8c7e72cecbf97de52633b30995659a6ad14a0e4a8c4ebc78b353e8ed78d
67+
docutils==0.15.2 \
68+
--hash=sha256:6c4f696463b79f1fb8ba0c594b63840ebd41f059e92b31957c46b74a4599b6d0 \
69+
--hash=sha256:9e4d7ecfc600058e07ba661411a2b7de2fd0fafa17d1a7f7361cd47b1175c827 \
70+
--hash=sha256:a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99
71+
entrypoints==0.3 \
72+
--hash=sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19 \
73+
--hash=sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451 \
74+
# via flake8, pytest-randomly
75+
flake8-bugbear==19.8.0 \
76+
--hash=sha256:d8c466ea79d5020cb20bf9f11cf349026e09517a42264f313d3f6fddb83e0571 \
77+
--hash=sha256:ded4d282778969b5ab5530ceba7aa1a9f1b86fa7618fc96a19a1d512331640f8
78+
flake8-comprehensions==2.2.0 \
79+
--hash=sha256:7b174ded3d7e73edf587e942458b6c1a7c3456d512d9c435deae367236b9562c \
80+
--hash=sha256:e36fc12bd3833e0b34fe0639b7a817d32c86238987f532078c57eafdc7a8a219
81+
flake8-tidy-imports==2.0.0 \
82+
--hash=sha256:1c476aabc6e8db26dc75278464a3a392dba0ea80562777c5f13fd5cdf2646154 \
83+
--hash=sha256:b3f5b96affd0f57cacb6621ed28286ce67edaca807757b51227043ebf7b136a1
84+
flake8==3.7.8 \
85+
--hash=sha256:19241c1cbc971b9962473e4438a2ca19749a7dd002dd1a946eaba171b4114548 \
86+
--hash=sha256:8e9dfa3cecb2400b3738a42c54c3043e821682b9c840b0448c0503f781130696
87+
idna==2.8 \
88+
--hash=sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407 \
89+
--hash=sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c \
90+
# via requests
91+
importlib-metadata==0.22 \
92+
--hash=sha256:652234b6ab8f2506ae58e528b6fbcc668831d3cc758e1bc01ef438d328b68cdb \
93+
--hash=sha256:6f264986fb88042bc1f0535fa9a557e6a376cfe5679dc77caac7fe8b5d43d05f \
94+
# via pluggy, pytest
95+
isort==4.3.21 \
96+
--hash=sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1 \
97+
--hash=sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd
98+
mariadb-dyncol==3.0.0 \
99+
--hash=sha256:99383a649772a2e7043fa831ee1dc7f0358b4011f6a2b59a881bba128ce48d2e \
100+
--hash=sha256:b96b84886b3522583930341a2dd47fad5899d7e04b87d2aaf543982c9196733b
101+
mccabe==0.6.1 \
102+
--hash=sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42 \
103+
--hash=sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f \
104+
# via flake8
105+
more-itertools==7.2.0 \
106+
--hash=sha256:409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832 \
107+
--hash=sha256:92b8c4b06dac4f0611c0729b2f2ede52b2e1bac1ab48f089c7ddc12e26bb60c4 \
108+
# via pytest, zipp
109+
multilint==4.0.0 \
110+
--hash=sha256:449d87f851cbc2770ba5e20372704e6629fb0afa2596bc23efe22a11c2446fa4 \
111+
--hash=sha256:854e4fb703426f00fdc74c46db5638832424ce6fa5191cc71a01c73821b1465a
112+
mysqlclient==1.4.4 \
113+
--hash=sha256:79a498ddda955e488f80c82a6392bf6e07c323d48db236033f33825665d8ba5c \
114+
--hash=sha256:8c3b61d89f7daaeab6aad6bf4c4bc3ef30bec1a8169f94dc59aea87ba2fabf80 \
115+
--hash=sha256:9c737cc55a5dc8dd3583a942d5a9b21be58d16f00f5fefca4e575e7d9682e98c
116+
packaging==19.1 \
117+
--hash=sha256:a7ac867b97fdc07ee80a8058fe4435ccd274ecc3b0ed61d852d7d53055528cf9 \
118+
--hash=sha256:c491ca87294da7cc01902edbe30a5bc6c4c28172b5138ab4e4aa1b9d7bfaeafe \
119+
# via pytest
120+
parameterized==0.7.0 \
121+
--hash=sha256:020343a281efcfe9b71b9028a91817f981202c14d72104b5a2fbe401dee25a18 \
122+
--hash=sha256:d8c8837fb677ed2d5a93b9e2308ce0da3aeb58cf513120d501e0b7af14da78d5
123+
pkginfo==1.5.0.1 \
124+
--hash=sha256:7424f2c8511c186cd5424bbf31045b77435b37a8d604990b79d4e70d741148bb \
125+
--hash=sha256:a6d9e40ca61ad3ebd0b72fbadd4fba16e4c0e4df0428c041e01e06eb6ee71f32 \
126+
# via twine
127+
pluggy==0.13.0 \
128+
--hash=sha256:0db4b7601aae1d35b4a033282da476845aa19185c1e6964b25cf324b5e4ec3e6 \
129+
--hash=sha256:fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34 \
130+
# via pytest
131+
py==1.8.0 \
132+
--hash=sha256:64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa \
133+
--hash=sha256:dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53 \
134+
# via pytest
135+
pycodestyle==2.5.0 \
136+
--hash=sha256:95a2219d12372f05704562a14ec30bc76b05a5b297b21a5dfe3f6fac3491ae56 \
137+
--hash=sha256:e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c \
138+
# via flake8
139+
pyflakes==2.1.1 \
140+
--hash=sha256:17dbeb2e3f4d772725c777fabc446d5634d1038f234e77343108ce445ea69ce0 \
141+
--hash=sha256:d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2 \
142+
# via flake8
143+
pygments==2.4.2 \
144+
--hash=sha256:71e430bc85c88a430f000ac1d9b331d2407f681d6f6aec95e8bcfbc3df5b0127 \
145+
--hash=sha256:881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297
146+
pyparsing==2.4.2 \
147+
--hash=sha256:6f98a7b9397e206d78cc01df10131398f1c8b8510a2f4d97d9abd82e1aacdd80 \
148+
--hash=sha256:d9338df12903bbf5d65a0e4e87c2161968b10d2e489652bb47001d82a9b028b4 \
149+
# via packaging
150+
pytest-cov==2.7.1 \
151+
--hash=sha256:2b097cde81a302e1047331b48cadacf23577e431b61e9c6f49a1170bbe3d3da6 \
152+
--hash=sha256:e00ea4fdde970725482f1f35630d12f074e121a23801aabf2ae154ec6bdd343a
153+
pytest-django==3.5.1 \
154+
--hash=sha256:264fb4c506db5d48a6364c311a0b00b7b48a52715bad8839b2d8bee9b99ed6bb \
155+
--hash=sha256:4adfe5fb3ed47f0ba55506dd3daf688b1f74d5e69148c10ad2dd2f79f40c0d62
156+
pytest-flake8dir==2.1.0 \
157+
--hash=sha256:bbcecc3fc3a548532fa85efca4c7956fdce7ad3d5724f8a300be069b178491de \
158+
--hash=sha256:d1251889a09fbcb8f19c2f9de34fbd3aa9121eeff8bce8d5a36758e5f317ef63
159+
pytest-randomly==3.1.0 \
160+
--hash=sha256:5facc2b5ac56e36b9c4bf14f49cc7b4c95427835bbf4a3c739b71a5f5f82d58a \
161+
--hash=sha256:9256c9ff88466f7bf9794d2eeeea8fbf1cd1bc8df1b3575df59e89b8813bffaa
162+
pytest-super-check==2.0.0 \
163+
--hash=sha256:20c7eaadbebeb029cfac6a2194be527effe1f4e9282313f589ccea6a6cca9b56 \
164+
--hash=sha256:f7f285d70cafd1299b70debcaf885caef4d3768aa6c5ee76e10b86ab2a6cf740
165+
pytest==5.1.2 \
166+
--hash=sha256:95d13143cc14174ca1a01ec68e84d76ba5d9d493ac02716fd9706c949a505210 \
167+
--hash=sha256:b78fe2881323bd44fd9bd76e5317173d4316577e7b1cddebae9136a4495ec865
168+
pytz==2019.2 \
169+
--hash=sha256:26c0b32e437e54a18161324a2fca3c4b9846b74a8dccddd843113109e1116b32 \
170+
--hash=sha256:c894d57500a4cd2d5c71114aaab77dbab5eabd9022308ce5ac9bb93a60a6f0c7
171+
readme-renderer==24.0 \
172+
--hash=sha256:bb16f55b259f27f75f640acf5e00cf897845a8b3e4731b5c1a436e4b8529202f \
173+
--hash=sha256:c8532b79afc0375a85f10433eca157d6b50f7d6990f337fa498c96cd4bfc203d \
174+
# via twine
175+
requests-toolbelt==0.9.1 \
176+
--hash=sha256:380606e1d10dc85c3bd47bf5a6095f815ec007be7a8b69c878507068df059e6f \
177+
--hash=sha256:968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0 \
178+
# via twine
179+
requests==2.22.0 \
180+
--hash=sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4 \
181+
--hash=sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31 \
182+
# via requests-toolbelt, twine
183+
six==1.12.0 \
184+
--hash=sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c \
185+
--hash=sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73 \
186+
# via bleach, packaging, readme-renderer
187+
sqlparse==0.3.0 \
188+
--hash=sha256:40afe6b8d4b1117e7dff5504d7a8ce07d9a1b15aeeade8a2d10f130a834f8177 \
189+
--hash=sha256:7c3dca29c022744e95b547e867cee89f4fce4373f3549ccd8797d8eb52cdb873
190+
tqdm==4.35.0 \
191+
--hash=sha256:1be3e4e3198f2d0e47b928e9d9a8ec1b63525db29095cec1467f4c5a4ea8ebf9 \
192+
--hash=sha256:7e39a30e3d34a7a6539378e39d7490326253b7ee354878a92255656dc4284457 \
193+
# via twine
194+
twine==1.14.0 \
195+
--hash=sha256:b2cec0dc1ac55bd74280d257f43763cf0cf928bdcd0de0fd70be70aa1195e3b0 \
196+
--hash=sha256:e37d5a73d77b095b85314dde807bfb85b580b5b9d137f5b21332f4636990d97a
197+
urllib3==1.25.3 \
198+
--hash=sha256:b246607a25ac80bedac05c6f282e3cdaf3afb65420fd024ac94435cabe6e18d1 \
199+
--hash=sha256:dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232 \
200+
# via requests
201+
wcwidth==0.1.7 \
202+
--hash=sha256:3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e \
203+
--hash=sha256:f4ebe71925af7b40a864553f761ed559b43544f8f71746c2d756c7fe788ade7c \
204+
# via pytest
205+
webencodings==0.5.1 \
206+
--hash=sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 \
207+
--hash=sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923 \
208+
# via bleach
209+
zipp==0.6.0 \
210+
--hash=sha256:3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e \
211+
--hash=sha256:f06903e9f1f43b12d371004b4ac7b06ab39a44adc747266928ae6debfa7b3335 \
212+
# via importlib-metadata
213+
214+
# WARNING: The following packages were not pinned, but pip requires them to be
215+
# pinned when the requirements file includes hashes. Consider using the --allow-unsafe flag.
216+
# setuptools==41.2.0 # via twine

0 commit comments

Comments
 (0)