Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/no core 0.3 #231

Open
wants to merge 333 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
333 commits
Select commit Hold shift + click to select a range
97b05d7
docs: anthropic api ref nit (#26591)
baskaryan Sep 17, 2024
194adc4
docs: pypi readme image links (#26590)
efriis Sep 17, 2024
2ef4c94
community: modify document links for tencent vectordb (#26316)
wlleiiwang Sep 17, 2024
3a99467
core[patch]: Add ruff rule UP006(use PEP585 annotations) (#26574)
cbornet Sep 17, 2024
c6bdd6f
community: Fix references in link extractors docstrings (#26314)
cbornet Sep 17, 2024
5ced41b
anthropic[patch]: fix tool call and tool res image_url handling (#26587)
baskaryan Sep 17, 2024
6ed50e7
community: Rename deployments server to AI gateway (#26368)
harupy Sep 17, 2024
1a62f98
anthropic[patch]: Release 0.2.1 (#26592)
baskaryan Sep 17, 2024
1a8e902
Improvement[Community] Improve `streamlit_callback_handler` (#26373)
ZhangShenao Sep 17, 2024
e2245fa
community[patch]: o1-preview and o1-mini costs (#26411)
ogawa65a Sep 17, 2024
c3b3f46
Improvement[Community] Improve api doc of `BeautifulSoupTransformer` …
ZhangShenao Sep 17, 2024
418b170
docs: Fix typo in conda environment code block in rag.ipynb (#26487)
IT-Bill Sep 17, 2024
6fe2536
docs: fix the `ImportError` in `google_speech_to_text.ipynb` (#26522)
gbaian10 Sep 17, 2024
f62d454
docs: fix typo on amazon_textract.ipynb (#26493)
marcorossiIT Sep 17, 2024
52729ac
docs: update hybrid search example with Elasticsearch retriever (#26328)
miguelgrinberg Sep 17, 2024
b246052
docs: fix typo in clickhouse vectorstore doc (#26598)
sanjay920 Sep 17, 2024
df38d52
docs: cleanup nav (#26546)
baskaryan Sep 18, 2024
de58942
docs: consolidate dropdowns (#26600)
baskaryan Sep 18, 2024
d158401
infra: master release checkout ref for release note (#26605)
efriis Sep 18, 2024
0f07cf6
docs: fixed typo in XML document loader (#26613)
pmcgleenon Sep 18, 2024
a47b332
core: Put Python version as a project requirement so it is considered…
cbornet Sep 18, 2024
84b8313
core: remove [project] tag from pyproject (#26633)
efriis Sep 18, 2024
9909354
core: use ruff.target-version instead (#26634)
efriis Sep 18, 2024
e0c36af
docs: v0.3 link redirect (#26632)
efriis Sep 18, 2024
acbb4e4
box: Add searchoptions for BoxRetriever, documentation for BoxRetriev…
shurrey Sep 19, 2024
03b9aca
community: Retry retriable errors in Neo4j (#26211)
tomasonjo Sep 19, 2024
8fb643a
partners/box: release 0.2.1 (#26644)
efriis Sep 19, 2024
85caaa7
docs[community]: Fix raw string in docstring (#26350)
tibor-reiss Sep 19, 2024
7835c06
langchain_chroma: Pass through kwargs to Chroma collection.delete (#2…
dan-cooke Sep 19, 2024
fd21ffe
core: Add N(naming) ruff rules (#25362)
cbornet Sep 19, 2024
4e0a6eb
community: Add warning when page_content is empty (#25955)
erikinfo Sep 19, 2024
a8561bc
Fix async parsing for llm graph transformer (#26650)
tomasonjo Sep 19, 2024
3fc0ea5
community : [bugfix] Use document ids as keys in AzureSearch vectorst…
MacanPN Sep 19, 2024
37b7202
community: remove sambaverse (#26265)
jhpiedrahitao Sep 19, 2024
55b641b
community: fix error in sambastudio embeddings (#26260)
jhpiedrahitao Sep 19, 2024
60dc19d
[community] Added PebbloTextLoader for loading text data in PebbloSaf…
Raj725 Sep 19, 2024
4d3d62c
docs: fix nomic link error (#26642)
yaoice Sep 19, 2024
f91bdd1
community[patch]: add to pypdf tests and run in CI (#26663)
ccurme Sep 19, 2024
28dd656
docs: highlight styling (#26636)
efriis Sep 19, 2024
7d49ee9
unstructured[patch]: add to integration tests (#26666)
ccurme Sep 19, 2024
c77c28e
[community] Fix WorkspaceClient error with pydantic validation (#26649)
serena-ruan Sep 19, 2024
311f861
core, community: move graph vectorstores to community (#26678)
efriis Sep 19, 2024
eef18de
unstructured[patch]: support loading URLs (#26670)
ccurme Sep 19, 2024
e8236e5
ci: restore qa template that was known to work (#26684)
eyurtsev Sep 19, 2024
409f353
core[patch]: support load from path for default namespaces (#26675)
baskaryan Sep 19, 2024
f087ab4
core[patch]: Fix load of ChatBedrock (#26679)
3coins Sep 19, 2024
c453b76
core[patch]: Release 0.3.2 (#26686)
baskaryan Sep 19, 2024
f7bb364
core[patch]: support js chat model namespaces (#26688)
baskaryan Sep 19, 2024
8f0c04f
Update tool_calling.ipynb (#26699)
guoqiang0401 Sep 20, 2024
9159492
fix:fix ChatZhipuAI tool call bug (#26693)
stein1988 Sep 20, 2024
eeab6a6
docs[patch]: update PDF loader docs (#26627)
ccurme Sep 20, 2024
acf8c2c
docs: Add migration instructions for v0.0.x memory abstractions (#26668)
eyurtsev Sep 20, 2024
baef763
Improvement[text-splitter] Fix import of `ExperimentalMarkdownSyntaxT…
ZhangShenao Sep 20, 2024
90031b1
support epsilla cloud vector database in langchain (#26065)
eric-epsilla Sep 20, 2024
19ce95d
Avoid copying runs (#26689)
hinthornw Sep 20, 2024
91f4711
core[patch],langchain[patch]: deprecate memory and entity abstraction…
eyurtsev Sep 20, 2024
8a9f709
docs: Update trim message usage in migrating_memory (#26722)
eyurtsev Sep 20, 2024
79b224f
core/langchain: fix version used in deprecation (#26724)
eyurtsev Sep 20, 2024
4fc69d6
core[patch]: Fix defusedxml import (#26718)
eyurtsev Sep 20, 2024
465e43c
core: release 0.3.3 (#26713)
efriis Sep 20, 2024
345edeb
core: In astream_events propagate cancellation reason to inner task (…
nfcampos Sep 20, 2024
4a27450
core: release 0.3.4 (#26729)
efriis Sep 20, 2024
f228537
community[patch]: add web loader tests (#26728)
ccurme Sep 20, 2024
a2023a1
huggingface; fix huggingface_endpoint.py (initialize clients only wit…
Wauplin Sep 20, 2024
e49c413
core: Add docstring for GraphVectorStoreRetriever (#26224)
cbornet Sep 20, 2024
58f339a
community: Fix links in GraphVectorStore pydoc (#25959)
cbornet Sep 20, 2024
4ac9a6f
core: fix "template" not allowed as prompt param (#26060)
ikbenale Sep 20, 2024
a8b2413
fix[experimental]: Fix text splitter with gradient (#26629)
tibor-reiss Sep 20, 2024
c6c508e
Refining Skip Count Calculation by Filtering Documents with `session_…
kk9393 Sep 20, 2024
2d21274
couchbase: Add ttl support to caches & chat_message_history (#26214)
nithishr Sep 20, 2024
864020e
[Tracer] add project name to run from tracer (#26736)
hinthornw Sep 20, 2024
3e2cb4e
openai: embeddings: supported chunk_size when check_embedding_ctx_len…
adubovik Sep 20, 2024
55af6fb
[LangChainTracer] Omit Chunk (#26602)
hinthornw Sep 21, 2024
238a31b
core: release 0.3.5 (#26737)
efriis Sep 21, 2024
f97ac92
community[patch]: Handle empty PR body in get_pull_request in Github …
gorros Sep 22, 2024
bb40a0f
Remove pydantic restricted namespaces from HuggingFaceInferenceAPIEmb…
galtay Sep 22, 2024
e1e4f88
openai[patch]: enable Azure structured output, parallel_tool_calls=Fa…
baskaryan Sep 23, 2024
fb9ac8d
fix(docs): Drop announcement bar (#26782)
bracesproul Sep 23, 2024
97b27f0
langchain[patch]: fix extended tests (#26788)
ccurme Sep 23, 2024
bba7af9
core[patch]: set default on Blob (#26787)
ccurme Sep 23, 2024
154a5ff
core[patch]: On Chain Start Fix for `Chain` Class (#26593)
keenborder786 Sep 23, 2024
1ce056d
docs[patch]: add memory migration guides to sidebar (#26711)
ccurme Sep 23, 2024
2a4c571
openai[patch]: fix azure integration tests (#26791)
ccurme Sep 23, 2024
603d38f
docs: make docs mdxv2 compatible (#26798)
efriis Sep 24, 2024
35081d2
docs: fix admonition formatting (#26801)
efriis Sep 24, 2024
e40a2b8
docs: fix mdx codefences (#26802)
efriis Sep 24, 2024
997d95c
community[patch]: callback before yield for bedrock llm (#26804)
subroy13 Sep 24, 2024
2b83c7c
community[patch]: Fix `tool_calls` parsing when streaming from DeepIn…
thunze Sep 24, 2024
408a930
community: Add Sambanova Cloud Chat model community integration (#26…
jhpiedrahitao Sep 24, 2024
de70a64
core: Run LangChainTracer inline (#26797)
nfcampos Sep 24, 2024
b1da532
community[patch]: callback before yield for deepsparse llm (#26822)
subroy13 Sep 24, 2024
f9ef688
docs: upgrade to docusaurus v3 (#26803)
efriis Sep 24, 2024
0414be4
experimental[major]: CVE-2024-46946 fix (#26783)
mercyspirit Sep 24, 2024
6c3ea26
partners/unstructured: release 0.1.5 (#26831)
Coniferish Sep 24, 2024
425c0f3
experimental: release 0.3.1 (#26830)
efriis Sep 24, 2024
9526936
docs: make build less verbose (#26833)
efriis Sep 24, 2024
3796e14
docs: remove one more print from build (#26834)
efriis Sep 24, 2024
9b6ac41
[Core] Inherit tracing metadata & tags (#26838)
hinthornw Sep 25, 2024
82b5b77
[Core] Add more interops tests (#26841)
hinthornw Sep 25, 2024
13acf9e
langchain[patch]: add deprecation warnings (#26853)
ccurme Sep 25, 2024
b61fb98
community[patch]: callback before yield for friendli (#26842)
subroy13 Sep 25, 2024
92003b3
community[patch]: [SharePointLoader] Fix validation error in _O365Set…
Raj725 Sep 25, 2024
7e5a9c3
community[minor]: [Pebblo] Enhance PebbloSafeLoader to take anonymize…
Raj725 Sep 25, 2024
3a1b925
core: Add ruff rules for comprehensions (C4) (#26829)
cbornet Sep 25, 2024
27c1214
docs[patch]: In conceptual docs explain constraints on ToolMessage (#…
eyurtsev Sep 25, 2024
d502858
Update main README.md to reference latest version of documentation (#…
DGaffney Sep 25, 2024
51c4393
community[patch]: Fix validation error in SettingsConfigDict across m…
Raj725 Sep 25, 2024
eaffa92
openai[patch]: Release 0.2.1 (#26858)
baskaryan Sep 25, 2024
a001006
docs[patch]: add guide for loading web pages (#26708)
ccurme Sep 25, 2024
87e2149
docs[patch]: remove deprecated loaders from feature tables (#26709)
ccurme Sep 25, 2024
ef2ab26
core: release 0.3.6 (#26863)
efriis Sep 25, 2024
9a31ad6
langchain: release 0.3.1 (#26868)
efriis Sep 25, 2024
25cb44c
0.3.1 release community (#26872)
eyurtsev Sep 25, 2024
e068407
community: bump core versoin (#26875)
efriis Sep 25, 2024
6f3c831
community: bump langchain version (#26876)
efriis Sep 25, 2024
edf879d
docs: update extraction_examples.ipynb (#26874)
jackpeplinski Sep 25, 2024
c750600
infra: update release secrets (#26878)
baskaryan Sep 26, 2024
2ea5f60
experimental: migrate to external repo (#26879)
efriis Sep 26, 2024
7091a1a
openai[patch]: increase token limit in azure integration tests (#26901)
ccurme Sep 26, 2024
121e79b
core: Fix `IndexError` when `trim_messages` invoked with empty list (…
sudosays Sep 26, 2024
11e703a
community[patch]: callback before yield for google palm (#26882)
subroy13 Sep 26, 2024
ba467f1
community[patch]: callback before yield for gigachat (#26881)
subroy13 Sep 26, 2024
7a99a4d
infra: fix experimental in dco imports check (#26905)
efriis Sep 26, 2024
2a0d9d0
docs: Fix trim_messages invocations in the memory migration guide (#2…
eyurtsev Sep 26, 2024
8bc12df
voyageai: new models (#26907)
efriis Sep 26, 2024
696114e
community: add sqlite-vec vectorstore (#25003)
abhiaagarwal Sep 26, 2024
02f5962
docs: add api referencs to langgraph (#26877)
eyurtsev Sep 26, 2024
c6350d6
core[fix]: using async rate limiter methods in async code (#26914)
esciara Sep 26, 2024
5f2cc4e
community[patch]: callback before yield for titan takeoff (#26930)
subroy13 Sep 27, 2024
adcfecd
community[patch]: callback before yield for textgen (#26929)
subroy13 Sep 27, 2024
7037ba0
community[patch]: callback before yield for mlx pipeline (#26928)
subroy13 Sep 27, 2024
2d9a09d
Fix typo in mlflow code example in mlflow.py (#26931)
Youshin Sep 27, 2024
7f37fd8
community[patch]: callback before yield for cloudflare (#26927)
subroy13 Sep 27, 2024
39987eb
openai[patch]: update deprecation target in API ref (#26921)
ccurme Sep 27, 2024
836c2a4
docs: update memory integrations page (#26912)
ccurme Sep 27, 2024
f4e738b
core: Add ruff rules for PIE (#26939)
cbornet Sep 27, 2024
c38ea7a
infra: api docs build (#26948)
efriis Sep 27, 2024
135164e
infra: api docs build ref update (#26949)
efriis Sep 27, 2024
9eb26c5
infra: api docs build ref experimental (#26950)
efriis Sep 27, 2024
67df944
infra: add CI job for running tutorial notebooks (#26944)
ccurme Sep 27, 2024
44eddd3
infra[patch]: update notebooks workflow (#26956)
ccurme Sep 27, 2024
de0b48c
docs: Upgrade examples with RunnableWithMessageHistory to langgraph m…
eyurtsev Sep 27, 2024
7809b31
core[patch]: Add ruff rules for flake8-simplify (SIM) (#26848)
cbornet Sep 27, 2024
29bf89d
community: Add conversions from GVS to networkx (#26906)
bjchambers Sep 27, 2024
b2c3159
infra: custom commit to external repo (#26962)
efriis Sep 27, 2024
ce2669c
docs: update code interpreter tool table to reflect riza file upload …
andrewmbenton Sep 29, 2024
9404e7a
openai[patch]: exclude http client (#26891)
baskaryan Sep 29, 2024
db8845a
core: Add ruff rules for pycodestyle Warning (W) (#26964)
cbornet Sep 30, 2024
c7120d8
groq[patch]: support tool_choice=any/required (#27000)
baskaryan Sep 30, 2024
0078493
fireworks[patch]: allow tool_choice with multiple tools (#26999)
baskaryan Sep 30, 2024
248be02
core[patch]: fix structured prompt template format (#27003)
baskaryan Sep 30, 2024
34bd718
core[patch]: Release 0.3.7 (#27004)
baskaryan Sep 30, 2024
e12f570
Merge pull request #26794
keenborder786 Sep 30, 2024
19ed316
docs: Fix typo in list of PDF loaders (#26774)
ronnix Sep 30, 2024
2a6abd3
community[patch]: Add docstring for Links (#25969)
cbornet Sep 30, 2024
7fde279
core[patch]: Add kwargs to Runnable (#27008)
eyurtsev Sep 30, 2024
2538963
core[patch]: improve index/aindex api when batch_size<n_docs (#25754)
federico-pisanu Sep 30, 2024
870bd42
docs: GremlinGraph Remove = in the URL (#26705)
arunprakash Sep 30, 2024
446144e
Update neo4j vector procedures (#26775)
tomasonjo Sep 30, 2024
5346c7b
doc: grammar fix on index.mdx (#26771)
CodeLeom Sep 30, 2024
6a861b0
[Doc] Name variable langgraph_agent_executor (#26799)
hinthornw Sep 30, 2024
4a32cc3
Update FeatureTables.js to add Weaviate (#26824)
erika-cardenas Sep 30, 2024
7ecd720
multiple: update docs urls to latest 2 (#26837)
efriis Oct 1, 2024
35f6393
unstructured: mv to external repo (#26923)
efriis Oct 1, 2024
a8e1577
milvus: mv to external repo (#26920)
efriis Oct 1, 2024
e317d45
Bug-Fix[Community] Fix `FastEmbedEmbeddings` (#26764)
ZhangShenao Oct 1, 2024
95a8729
community: deprecate community ollama integrations (#26733)
efriis Oct 1, 2024
f758319
docs: build new api docs (#26951)
efriis Oct 1, 2024
9d10151
core[patch]: fix init of RunnableAssign (#26903)
ccurme Oct 1, 2024
b5e28d3
huggingface[patch]: make HuggingFaceEndpoint serializable (#27027)
baskaryan Oct 1, 2024
5f2e93f
huggingface[patch]: xfail test (#27031)
baskaryan Oct 1, 2024
099235d
Revert "huggingface[patch]: make HuggingFaceEndpoint serializable (#2…
baskaryan Oct 1, 2024
e806e9d
infra: fix api docs build checkout 2 (#27033)
efriis Oct 1, 2024
74bf620
core[patch]: Support injected tool args that are arbitrary types (#27…
eyurtsev Oct 2, 2024
635c55c
core[patch]: Release 0.3.8 (#27046)
eyurtsev Oct 2, 2024
907c758
docs[patch]: add long-term memory agent tutorial (#27057)
vbarda Oct 3, 2024
103e573
community[patch]: chore warn deprecate the wandb callback handler (#2…
parambharat Oct 3, 2024
2a54448
langchain[patch]: Release 0.3.2 (#27073)
baskaryan Oct 3, 2024
47a9199
community[patch]: Fix missing protected_namespaces (#27076)
tibor-reiss Oct 3, 2024
7f730ce
docs: remove spaces in percent pip (#27082)
efriis Oct 3, 2024
cc1b8b3
docs: Documentation update for Document Parse (#26844)
chosh0615 Oct 3, 2024
546dc44
core[patch]: add UsageMetadata details (#27072)
baskaryan Oct 3, 2024
c09da53
openai[patch]: add usage metadata details (#27080)
baskaryan Oct 3, 2024
87fc5ce
core[patch]: exclude model cache from ser (#27086)
baskaryan Oct 3, 2024
ab4dab9
core: fix batch race condition in FakeListChatModel (#26924)
efriis Oct 3, 2024
47142eb
docs: Integrations NVIDIA llm documentation (#26934)
raspawar Oct 3, 2024
2715bed
docs[patch]: update links w/ new langgraph API ref (#26961)
vbarda Oct 3, 2024
e8e5d67
openai: fix None token detail (#27091)
efriis Oct 4, 2024
bf11f52
Remove core
Rai220 Oct 4, 2024
142b46e
Remove core from CI
Rai220 Oct 4, 2024
219f828
Fixing CI
Rai220 Oct 4, 2024
0495b7f
anthropic[patch]: add usage_metadata details (#27087)
baskaryan Oct 4, 2024
b54207a
Turn off 3.8 in CI
Rai220 Oct 4, 2024
4935a14
core,integrations[minor]: Dont error on fields in model_kwargs (#27110)
baskaryan Oct 4, 2024
1e768a9
anthropic[patch]: correctly handle tool msg with empty list (#27109)
baskaryan Oct 4, 2024
558fb4d
box: Add citation support to langchain_box.retrievers.BoxRetriever wh…
shurrey Oct 4, 2024
11df1b2
core[patch]: Release 0.3.9 (#27117)
baskaryan Oct 4, 2024
414fe16
anthropic[patch]: Release 0.2.2 (#27118)
baskaryan Oct 4, 2024
98942ed
openai[patch]: Release 0.2.2 (#27119)
baskaryan Oct 4, 2024
827bdf4
fireworks[patch]: Release 0.2.1 (#27120)
baskaryan Oct 4, 2024
bd5b335
standard-tests[patch]: fix oai usage metadata test (#27122)
baskaryan Oct 4, 2024
64a16f2
infra: add nvidia and astradb back to api build (#27115)
efriis Oct 4, 2024
0b8416b
anthropic[patch]: fix input_tokens when cached (#27125)
baskaryan Oct 4, 2024
06ce5d1
anthropic[patch]: Release 0.2.3 (#27126)
baskaryan Oct 4, 2024
7a07196
docs: update Google Spanner Vector Store documentation (#27124)
averikitsch Oct 4, 2024
2ba1553
Fixing CI
Rai220 Oct 7, 2024
73bf17b
Fixing tests
Rai220 Oct 7, 2024
ce9bcd2
.
Rai220 Oct 7, 2024
8e03e37
Lock update
Rai220 Oct 7, 2024
07dd8dd
community[patch]: update gpt-4o cost (#27038)
ogawa65a Oct 7, 2024
ae1f5cf
Mass update all versions
Rai220 Oct 7, 2024
42b4f2b
Fixing versions
Rai220 Oct 7, 2024
c7ee03b
Linting
Rai220 Oct 7, 2024
cfc1908
Linting fix
Rai220 Oct 7, 2024
006c350
Fixing tests
Rai220 Oct 7, 2024
98b912e
Skip openai tests
Rai220 Oct 7, 2024
3809980
docs: fix anthropic max_tokens docstring (#27166)
baskaryan Oct 7, 2024
f70650f
core[patch]: correct typo doc-string for astream_events method (#27108)
adityash97 Oct 7, 2024
14de81b
community: sambastudio chat model (#27056)
jhpiedrahitao Oct 7, 2024
780ce00
core[minor]: add **kwargs to index and aindex functions for custom ve…
Jalmeida1994 Oct 7, 2024
8f83921
Update MIGRATE.md (#27169)
eyurtsev Oct 7, 2024
c61b9da
docs: Grammar fix in concepts.mdx (#27149)
AleksandarPetrov Oct 7, 2024
931ce8d
core[patch]: Update `AsyncCallbackManager` to honor `run_inline` attr…
parambharat Oct 7, 2024
c4ebccf
core[minor]: Improve support for id in VectorStore (#26660)
cbornet Oct 7, 2024
8454a74
Update README.md for Tutorial to Usecase url (#27099)
bhadreshpsavani Oct 7, 2024
37ca468
community: AzureSearch: fix reranking for empty lists (#27104)
pokotylo Oct 7, 2024
d31ec88
core: Add ruff rules for error messages (EM) (#26965)
cbornet Oct 7, 2024
5c826fa
core: update make format to fix all autofixable things (#27174)
efriis Oct 7, 2024
16f5fdb
core: Add various ruff rules (#26836)
cbornet Oct 7, 2024
3eba8d5
Remove openai dependency from community
Rai220 Oct 8, 2024
5772b19
.
Rai220 Oct 8, 2024
4d576c1
Fix community tests
Rai220 Oct 8, 2024
15819be
Moving openai dependecies
Rai220 Oct 8, 2024
f924489
Fixing CI
Rai220 Oct 8, 2024
80a7efc
Skip some openai tests
Rai220 Oct 8, 2024
26aa069
Disable cache to not fail CI
Rai220 Oct 8, 2024
4b98e2e
Lint without cache
Rai220 Oct 8, 2024
502e97e
.
Rai220 Oct 8, 2024
8972d14
.
Rai220 Oct 8, 2024
a51313a
Fixing global lock
Rai220 Oct 8, 2024
f841ccd
Fixing CI
Rai220 Oct 8, 2024
cd3bce1
Fixing CI
Rai220 Oct 8, 2024
1b1df97
Fixing CI
Rai220 Oct 8, 2024
5743af4
Fixing CI
Rai220 Oct 8, 2024
8cd709f
Fixing CI
Rai220 Oct 8, 2024
206fa28
Fixing CI
Rai220 Oct 8, 2024
4f99d9a
Fixing CI
Rai220 Oct 8, 2024
2bf8c24
Fixing CI
Rai220 Oct 8, 2024
95297d2
Fixing CI
Rai220 Oct 8, 2024
61fef50
Fixing CI
Rai220 Oct 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,4 @@ body:
--------------------------------------------------
The following packages were not found:

> langgraph
> langgraph
117 changes: 92 additions & 25 deletions .github/scripts/check_diff.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,27 @@
import json
import os
import sys
import tomllib
from collections import defaultdict
from typing import Dict, List, Set
from pathlib import Path
import tomllib

from get_min_versions import get_min_version_from_toml


LANGCHAIN_DIRS = [
"libs/core",
"libs/text-splitters",
# "libs/core",
# "libs/text-splitters",
"libs/langchain",
"libs/community",
"libs/experimental",
]

# when set to True, we are ignoring core dependents
# in order to be able to get CI to pass for each individual
# package that depends on core
# e.g. if you touch core, we don't then add textsplitters/etc to CI
IGNORE_CORE_DEPENDENTS = False

# ignored partners are removed from dependents
# but still run if directly edited
IGNORED_PARTNERS = [
Expand Down Expand Up @@ -99,44 +106,101 @@ def add_dependents(dirs_to_eval: Set[str], dependents: dict) -> List[str]:


def _get_configs_for_single_dir(job: str, dir_: str) -> List[Dict[str, str]]:
if dir_ == "libs/core":
return [
{"working-directory": dir_, "python-version": f"3.{v}"}
for v in range(8, 13)
]
min_python = "3.8"
max_python = "3.12"
if job == "test-pydantic":
return _get_pydantic_test_configs(dir_)

if dir_ == "libs/core":
py_versions = ["3.9", "3.10", "3.11", "3.12"]
# custom logic for specific directories
if dir_ == "libs/partners/milvus":
elif dir_ == "libs/partners/milvus":
# milvus poetry doesn't allow 3.12 because they
# declare deps in funny way
max_python = "3.11"
py_versions = ["3.9", "3.11"]

if dir_ in ["libs/community", "libs/langchain"] and job == "extended-tests":
elif dir_ in ["libs/community", "libs/langchain"] and job == "extended-tests":
# community extended test resolution in 3.12 is slow
# even in uv
max_python = "3.11"
py_versions = ["3.9", "3.11"]

if dir_ == "libs/community" and job == "compile-integration-tests":
elif dir_ == "libs/community" and job == "compile-integration-tests":
# community integration deps are slow in 3.12
max_python = "3.11"
py_versions = ["3.9", "3.11"]
else:
py_versions = ["3.9", "3.12"]

return [
{"working-directory": dir_, "python-version": min_python},
{"working-directory": dir_, "python-version": max_python},
return [{"working-directory": dir_, "python-version": py_v} for py_v in py_versions]


def _get_pydantic_test_configs(
dir_: str, *, python_version: str = "3.11"
) -> List[Dict[str, str]]:
with open("./libs/langchain/poetry.lock", "rb") as f:
core_poetry_lock_data = tomllib.load(f)
for package in core_poetry_lock_data["package"]:
if package["name"] == "pydantic":
core_max_pydantic_minor = package["version"].split(".")[1]
break

with open(f"./{dir_}/poetry.lock", "rb") as f:
dir_poetry_lock_data = tomllib.load(f)

for package in dir_poetry_lock_data["package"]:
if package["name"] == "pydantic":
dir_max_pydantic_minor = package["version"].split(".")[1]
break

core_min_pydantic_version = get_min_version_from_toml(
"./libs/langchain/pyproject.toml", "release", python_version, include=["pydantic"]
)["pydantic"]
core_min_pydantic_minor = (
core_min_pydantic_version.split(".")[1]
if "." in core_min_pydantic_version
else "0"
)
dir_min_pydantic_version = get_min_version_from_toml(
f"./{dir_}/pyproject.toml", "release", python_version, include=["pydantic"]
).get("pydantic", "0.0.0")
dir_min_pydantic_minor = (
dir_min_pydantic_version.split(".")[1]
if "." in dir_min_pydantic_version
else "0"
)

custom_mins = {
# depends on pydantic-settings 2.4 which requires pydantic 2.7
"libs/community": 7,
}

max_pydantic_minor = min(
int(dir_max_pydantic_minor),
int(core_max_pydantic_minor),
)
min_pydantic_minor = max(
int(dir_min_pydantic_minor),
int(core_min_pydantic_minor),
custom_mins.get(dir_, 0),
)

configs = [
{
"working-directory": dir_,
"pydantic-version": f"2.{v}.0",
"python-version": python_version,
}
for v in range(min_pydantic_minor, max_pydantic_minor + 1)
]
return configs


def _get_configs_for_multi_dirs(
job: str, dirs_to_run: List[str], dependents: dict
job: str, dirs_to_run: Dict[str, Set[str]], dependents: dict
) -> List[Dict[str, str]]:
if job == "lint":
dirs = add_dependents(
dirs_to_run["lint"] | dirs_to_run["test"] | dirs_to_run["extended-test"],
dependents,
)
elif job in ["test", "compile-integration-tests", "dependencies"]:
elif job in ["test", "compile-integration-tests", "dependencies", "test-pydantic"]:
dirs = add_dependents(
dirs_to_run["test"] | dirs_to_run["extended-test"], dependents
)
Expand Down Expand Up @@ -165,6 +229,7 @@ def _get_configs_for_multi_dirs(
dirs_to_run["lint"] = all_package_dirs()
dirs_to_run["test"] = all_package_dirs()
dirs_to_run["extended-test"] = set(LANGCHAIN_DIRS)

for file in files:
if any(
file.startswith(dir_)
Expand All @@ -182,8 +247,12 @@ def _get_configs_for_multi_dirs(
if any(file.startswith(dir_) for dir_ in LANGCHAIN_DIRS):
# add that dir and all dirs after in LANGCHAIN_DIRS
# for extended testing

found = False
for dir_ in LANGCHAIN_DIRS:
if dir_ == "libs/core" and IGNORE_CORE_DEPENDENTS:
dirs_to_run["extended-test"].add(dir_)
continue
if file.startswith(dir_):
found = True
if found:
Expand All @@ -201,8 +270,6 @@ def _get_configs_for_multi_dirs(
elif file.startswith("libs/cli"):
# todo: add cli makefile
pass
elif file.startswith("libs/streamlit_agent"):
pass
elif file.startswith("libs/partners"):
partner_dir = file.split("/")[2]
if os.path.isdir(f"libs/partners/{partner_dir}") and [
Expand All @@ -226,7 +293,6 @@ def _get_configs_for_multi_dirs(

# we now have dirs_by_job
# todo: clean this up

map_job_to_configs = {
job: _get_configs_for_multi_dirs(job, dirs_to_run, dependents)
for job in [
Expand All @@ -235,6 +301,7 @@ def _get_configs_for_multi_dirs(
"extended-tests",
"compile-integration-tests",
"dependencies",
"test-pydantic",
]
}
map_job_to_configs["test-doc-imports"] = (
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/check_prerelease_dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

# see if we're releasing an rc
version = toml_data["tool"]["poetry"]["version"]
releasing_rc = "rc" in version
releasing_rc = "rc" in version or "dev" in version

# if not, iterate through dependencies and make sure none allow prereleases
if not releasing_rc:
Expand Down
53 changes: 48 additions & 5 deletions .github/scripts/get_min_versions.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import sys
from typing import Optional

if sys.version_info >= (3, 11):
import tomllib
Expand All @@ -7,6 +8,9 @@
import tomli as tomllib

from packaging.version import parse as parse_version
from packaging.specifiers import SpecifierSet
from packaging.version import Version

import re

MIN_VERSION_LIBS = [
Expand All @@ -17,7 +21,14 @@
"SQLAlchemy",
]

SKIP_IF_PULL_REQUEST = ["langchain-core"]
# some libs only get checked on release because of simultaneous changes in
# multiple libs
SKIP_IF_PULL_REQUEST = [
"langchain-core",
"langchain-text-splitters",
"langchain",
"langchain-community",
]


def get_min_version(version: str) -> str:
Expand Down Expand Up @@ -45,7 +56,13 @@ def get_min_version(version: str) -> str:
raise ValueError(f"Unrecognized version format: {version}")


def get_min_version_from_toml(toml_path: str, versions_for: str):
def get_min_version_from_toml(
toml_path: str,
versions_for: str,
python_version: str,
*,
include: Optional[list] = None,
):
# Parse the TOML file
with open(toml_path, "rb") as file:
toml_data = tomllib.load(file)
Expand All @@ -57,18 +74,26 @@ def get_min_version_from_toml(toml_path: str, versions_for: str):
min_versions = {}

# Iterate over the libs in MIN_VERSION_LIBS
for lib in MIN_VERSION_LIBS:
for lib in set(MIN_VERSION_LIBS + (include or [])):
if versions_for == "pull_request" and lib in SKIP_IF_PULL_REQUEST:
# some libs only get checked on release because of simultaneous
# changes
# changes in multiple libs
continue
# Check if the lib is present in the dependencies
if lib in dependencies:
if include and lib not in include:
continue
# Get the version string
version_string = dependencies[lib]

if isinstance(version_string, dict):
version_string = version_string["version"]
if isinstance(version_string, list):
version_string = [
vs
for vs in version_string
if check_python_version(python_version, vs["python"])
][0]["version"]

# Use parse_version to get the minimum supported version from version_string
min_version = get_min_version(version_string)
Expand All @@ -79,13 +104,31 @@ def get_min_version_from_toml(toml_path: str, versions_for: str):
return min_versions


def check_python_version(version_string, constraint_string):
"""
Check if the given Python version matches the given constraints.

:param version_string: A string representing the Python version (e.g. "3.8.5").
:param constraint_string: A string representing the package's Python version constraints (e.g. ">=3.6, <4.0").
:return: True if the version matches the constraints, False otherwise.
"""
try:
version = Version(version_string)
constraints = SpecifierSet(constraint_string)
return version in constraints
except Exception as e:
print(f"Error: {e}")
return False


if __name__ == "__main__":
# Get the TOML file path from the command line argument
toml_file = sys.argv[1]
versions_for = sys.argv[2]
python_version = sys.argv[3]
assert versions_for in ["release", "pull_request"]

# Call the function to get the minimum versions
min_versions = get_min_version_from_toml(toml_file, versions_for)
min_versions = get_min_version_from_toml(toml_file, versions_for, python_version)

print(" ".join([f"{lib}=={version}" for lib, version in min_versions.items()]))
Loading
Loading