Skip to content

Commit 37d0e25

Browse files
committed
launchdarkly, pyramid
1 parent fcfb731 commit 37d0e25

File tree

4 files changed

+74
-64
lines changed

4 files changed

+74
-64
lines changed

.github/workflows/test-integrations-web-2.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
strategy:
3030
fail-fast: false
3131
matrix:
32-
python-version: ["3.6","3.8","3.9","3.11","3.12","3.13"]
32+
python-version: ["3.8","3.9","3.11","3.12","3.13"]
3333
# python3.6 reached EOL and is no longer being supported on
3434
# new versions of hosted runners on Github Actions
3535
# ubuntu-20.04 is the last version that supported python3.6
@@ -121,7 +121,7 @@ jobs:
121121
strategy:
122122
fail-fast: false
123123
matrix:
124-
python-version: ["3.6","3.7","3.8","3.9","3.11","3.12","3.13"]
124+
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13"]
125125
# python3.6 reached EOL and is no longer being supported on
126126
# new versions of hosted runners on Github Actions
127127
# ubuntu-20.04 is the last version that supported python3.6

scripts/populate_tox/populate_tox.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,12 @@
6868
"openai",
6969
"openai_notiktoken",
7070
"openfeature",
71-
"launchdarkly",
71+
"langchain",
72+
"langchain_notiktoken",
7273
"opentelemetry",
7374
"potel",
7475
"pure_eval",
7576
"pymongo",
76-
"pyramid",
7777
"quart",
7878
"ray",
7979
"redis",
@@ -189,12 +189,13 @@ def _supports_lowest(release: Version) -> bool:
189189
target_python_versions = SpecifierSet(target_python_versions)
190190
return bool(supported_python_versions(py_versions, target_python_versions))
191191

192-
i = bisect_left(releases, True, key=_supports_lowest)
193-
if i != len(releases) and _supports_lowest(releases[i]):
194-
print(i)
195-
# we found the lowest version that supports at least some Python
196-
# version(s) that we do, cut off the rest
197-
releases = releases[i:]
192+
if not _supports_lowest(releases[0]):
193+
i = bisect_left(releases, True, key=_supports_lowest)
194+
if i != len(releases) and _supports_lowest(releases[i]):
195+
print(i)
196+
# we found the lowest version that supports at least some Python
197+
# version(s) that we do, cut off the rest
198+
releases = releases[i:]
198199

199200
return releases
200201

@@ -404,6 +405,14 @@ def write_tox_file(packages: dict) -> None:
404405
print(" Found no supported releases.")
405406
continue
406407

408+
if (
409+
_MIN_VERSIONS.get("integration")
410+
and Version(_MIN_VERSIONS["integration"]) != releases[0]
411+
):
412+
print(
413+
f" Integration defines {_MIN_VERSIONS['integrations']} as minimum version, but the effective minimum version is {releases[0]}."
414+
)
415+
407416
# Pick a handful of the supported releases to actually test against
408417
# and fetch the PYPI data for each to determine which Python versions
409418
# to test it on

scripts/populate_tox/tox.jinja

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,11 @@ envlist =
117117
{py3.9,py3.11,py3.12}-httpx-v{0.25,0.27}
118118
{py3.9,py3.12,py3.13}-httpx-latest
119119

120-
# LaunchDarkly
121-
{py3.8,py3.12,py3.13}-launchdarkly-v9.8.0
122-
{py3.8,py3.12,py3.13}-launchdarkly-latest
120+
# Langchain
121+
{py3.9,py3.11,py3.12}-langchain-v0.1
122+
{py3.9,py3.11,py3.12}-langchain-v0.3
123+
{py3.9,py3.11,py3.12}-langchain-latest
124+
{py3.9,py3.11,py3.12}-langchain-notiktoken
123125

124126
# Litestar
125127
{py3.8,py3.11}-litestar-v{2.0}
@@ -158,12 +160,6 @@ envlist =
158160
{py3.7,py3.11,py3.12}-pymongo-v{4.3,4.7}
159161
{py3.7,py3.12,py3.13}-pymongo-latest
160162

161-
# Pyramid
162-
{py3.6,py3.11}-pyramid-v{1.6}
163-
{py3.6,py3.11,py3.12}-pyramid-v{1.10}
164-
{py3.6,py3.11,py3.12}-pyramid-v{2.0}
165-
{py3.6,py3.11,py3.12}-pyramid-latest
166-
167163
# Quart
168164
{py3.7,py3.11}-quart-v{0.16}
169165
{py3.8,py3.11,py3.12}-quart-v{0.19}
@@ -421,6 +417,20 @@ deps =
421417
httpx-v0.27: httpx~=0.27.0
422418
httpx-latest: httpx
423419
420+
# Langchain
421+
langchain-v0.1: openai~=1.0.0
422+
langchain-v0.1: langchain~=0.1.11
423+
langchain-v0.1: tiktoken~=0.6.0
424+
langchain-v0.1: httpx<0.28.0
425+
langchain-v0.3: langchain~=0.3.0
426+
langchain-v0.3: langchain-community
427+
langchain-v0.3: tiktoken
428+
langchain-v0.3: openai
429+
langchain-{latest,notiktoken}: langchain
430+
langchain-{latest,notiktoken}: langchain-openai
431+
langchain-{latest,notiktoken}: openai>=1.6.1
432+
langchain-latest: tiktoken~=0.6.0
433+
424434
# Litestar
425435
litestar: pytest-asyncio
426436
litestar: python-multipart
@@ -454,10 +464,6 @@ deps =
454464
openfeature-v0.7: openfeature-sdk~=0.7.1
455465
openfeature-latest: openfeature-sdk
456466
457-
# LaunchDarkly
458-
launchdarkly-v9.8.0: launchdarkly-server-sdk~=9.8.0
459-
launchdarkly-latest: launchdarkly-server-sdk
460-
461467
# OpenTelemetry (OTel)
462468
opentelemetry: opentelemetry-distro
463469
@@ -476,13 +482,6 @@ deps =
476482
pymongo-v4.7: pymongo~=4.7.0
477483
pymongo-latest: pymongo
478484
479-
# Pyramid
480-
pyramid: Werkzeug<2.1.0
481-
pyramid-v1.6: pyramid~=1.6.0
482-
pyramid-v1.10: pyramid~=1.10.0
483-
pyramid-v2.0: pyramid~=2.0.0
484-
pyramid-latest: pyramid
485-
486485
# Quart
487486
quart: quart-auth
488487
quart: pytest-asyncio

tox.ini

Lines changed: 36 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,11 @@ envlist =
117117
{py3.9,py3.11,py3.12}-httpx-v{0.25,0.27}
118118
{py3.9,py3.12,py3.13}-httpx-latest
119119

120-
# LaunchDarkly
121-
{py3.8,py3.12,py3.13}-launchdarkly-v9.8.0
122-
{py3.8,py3.12,py3.13}-launchdarkly-latest
120+
# Langchain
121+
{py3.9,py3.11,py3.12}-langchain-v0.1
122+
{py3.9,py3.11,py3.12}-langchain-v0.3
123+
{py3.9,py3.11,py3.12}-langchain-latest
124+
{py3.9,py3.11,py3.12}-langchain-notiktoken
123125

124126
# Litestar
125127
{py3.8,py3.11}-litestar-v{2.0}
@@ -158,12 +160,6 @@ envlist =
158160
{py3.7,py3.11,py3.12}-pymongo-v{4.3,4.7}
159161
{py3.7,py3.12,py3.13}-pymongo-latest
160162

161-
# Pyramid
162-
{py3.6,py3.11}-pyramid-v{1.6}
163-
{py3.6,py3.11,py3.12}-pyramid-v{1.10}
164-
{py3.6,py3.11,py3.12}-pyramid-v{2.0}
165-
{py3.6,py3.11,py3.12}-pyramid-latest
166-
167163
# Quart
168164
{py3.7,py3.11}-quart-v{0.16}
169165
{py3.8,py3.11,py3.12}-quart-v{0.19}
@@ -248,11 +244,6 @@ envlist =
248244
# integration tests there.
249245

250246
# ~~~ AI ~~~
251-
{py3.9,py3.10,py3.11}-langchain-v0.0.354
252-
{py3.9,py3.11,py3.12}-langchain-v0.1.20
253-
{py3.9,py3.11,py3.12}-langchain-v0.2.17
254-
{py3.9,py3.12,py3.13}-langchain-v0.3.14
255-
256247
{py3.8,py3.10,py3.11}-huggingface_hub-v0.22.2
257248
{py3.8,py3.10,py3.11}-huggingface_hub-v0.24.7
258249
{py3.8,py3.11,py3.12}-huggingface_hub-v0.26.5
@@ -263,6 +254,11 @@ envlist =
263254
{py3.7,py3.11,py3.12}-clickhouse_driver-v0.2.9
264255

265256

257+
# ~~~ Flags ~~~
258+
{py3.8,py3.12,py3.13}-launchdarkly-v9.8.1
259+
{py3.8,py3.12,py3.13}-launchdarkly-v9.9.0
260+
261+
266262
# ~~~ GraphQL ~~~
267263
{py3.8,py3.10,py3.11}-ariadne-v0.20.1
268264
{py3.8,py3.11,py3.12}-ariadne-v0.21
@@ -304,6 +300,9 @@ envlist =
304300
{py3.6,py3.11,py3.12}-falcon-v3.1.3
305301
{py3.8,py3.11,py3.12}-falcon-v4.0.2
306302

303+
{py3.6,py3.8,py3.9}-pyramid-v1.10.8
304+
{py3.6,py3.10,py3.11}-pyramid-v2.0.2
305+
307306

308307

309308
[testenv]
@@ -469,6 +468,20 @@ deps =
469468
httpx-v0.27: httpx~=0.27.0
470469
httpx-latest: httpx
471470

471+
# Langchain
472+
langchain-v0.1: openai~=1.0.0
473+
langchain-v0.1: langchain~=0.1.11
474+
langchain-v0.1: tiktoken~=0.6.0
475+
langchain-v0.1: httpx<0.28.0
476+
langchain-v0.3: langchain~=0.3.0
477+
langchain-v0.3: langchain-community
478+
langchain-v0.3: tiktoken
479+
langchain-v0.3: openai
480+
langchain-{latest,notiktoken}: langchain
481+
langchain-{latest,notiktoken}: langchain-openai
482+
langchain-{latest,notiktoken}: openai>=1.6.1
483+
langchain-latest: tiktoken~=0.6.0
484+
472485
# Litestar
473486
litestar: pytest-asyncio
474487
litestar: python-multipart
@@ -502,10 +515,6 @@ deps =
502515
openfeature-v0.7: openfeature-sdk~=0.7.1
503516
openfeature-latest: openfeature-sdk
504517

505-
# LaunchDarkly
506-
launchdarkly-v9.8.0: launchdarkly-server-sdk~=9.8.0
507-
launchdarkly-latest: launchdarkly-server-sdk
508-
509518
# OpenTelemetry (OTel)
510519
opentelemetry: opentelemetry-distro
511520

@@ -524,13 +533,6 @@ deps =
524533
pymongo-v4.7: pymongo~=4.7.0
525534
pymongo-latest: pymongo
526535

527-
# Pyramid
528-
pyramid: Werkzeug<2.1.0
529-
pyramid-v1.6: pyramid~=1.6.0
530-
pyramid-v1.10: pyramid~=1.10.0
531-
pyramid-v2.0: pyramid~=2.0.0
532-
pyramid-latest: pyramid
533-
534536
# Quart
535537
quart: quart-auth
536538
quart: pytest-asyncio
@@ -674,15 +676,6 @@ deps =
674676
# integration tests there.
675677

676678
# ~~~ AI ~~~
677-
langchain-v0.0.354: langchain==0.0.354
678-
langchain-v0.1.20: langchain==0.1.20
679-
langchain-v0.2.17: langchain==0.2.17
680-
langchain-v0.3.14: langchain==0.3.14
681-
langchain: openai
682-
langchain: tiktoken
683-
langchain: httpx
684-
langchain-v0.3.14: langchain-community
685-
686679
huggingface_hub-v0.22.2: huggingface_hub==0.22.2
687680
huggingface_hub-v0.24.7: huggingface_hub==0.24.7
688681
huggingface_hub-v0.26.5: huggingface_hub==0.26.5
@@ -693,6 +686,11 @@ deps =
693686
clickhouse_driver-v0.2.9: clickhouse-driver==0.2.9
694687

695688

689+
# ~~~ Flags ~~~
690+
launchdarkly-v9.8.1: launchdarkly-server-sdk==9.8.1
691+
launchdarkly-v9.9.0: launchdarkly-server-sdk==9.9.0
692+
693+
696694
# ~~~ GraphQL ~~~
697695
ariadne-v0.20.1: ariadne==0.20.1
698696
ariadne-v0.21: ariadne==0.21
@@ -745,6 +743,10 @@ deps =
745743
falcon-v3.1.3: falcon==3.1.3
746744
falcon-v4.0.2: falcon==4.0.2
747745

746+
pyramid-v1.10.8: pyramid==1.10.8
747+
pyramid-v2.0.2: pyramid==2.0.2
748+
pyramid: werkzeug<2.1.0
749+
748750

749751

750752
setenv =

0 commit comments

Comments
 (0)