Skip to content

Commit 51bd2e3

Browse files
committed
test(downstream): exercise released LangChain GitLoader integration
Include `langchain-community` as a current runtime GitPython user: its published `GitLoader` requests a manual GitPython installation even though it is absent from `Requires-Dist`. Its September download count ranks above the other selected consumers. Resolve the latest PyPI release and run unchanged tests from the matching `libs/community/v{version}` tag against the editable GitPython checkout. Use upstream test-plugin ranges and `--only-extended` so missing integration dependencies fail collection instead of silently skipping the tests. Add the same profile to CI and document the runtime-use selection. The shared `uv` runner passes both GitLoader tests for release 0.4.2 on Python 3.12 and Git 2.54. They exercise real local clones, commits, checkout, tree traversal, ignored files, repeated loads, and remote URL validation. No network services are used during testing and no GitPython compatibility changes were required.
1 parent 69c36c3 commit 51bd2e3

3 files changed

Lines changed: 23 additions & 1 deletion

File tree

‎.github/workflows/downstream.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
strategy:
1717
fail-fast: false
1818
matrix:
19-
project: [mlflow, bandit]
19+
project: [langchain, mlflow, bandit]
2020
steps:
2121
- uses: actions/checkout@v7
2222
with:

‎test/downstream/README.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ and test-only dependencies are excluded. Downloads are not unique installations.
3030

3131
| Project | Distribution downloads | Last tested release | Selected coverage |
3232
| --- | ---: | --- | --- |
33+
| LangChain Community | 27,882,881 | 0.4.2 | 2 upstream GitLoader tests: real clones, commits, checkout, tree traversal, ignored paths, and remote validation |
3334
| MLflow (`mlflow-skinny`) | 25,850,354 | 3.16.1 | 47 upstream tests: 31 repository/project/model-versioning cases plus 16 Git context and credential-redaction contract cases |
3435
| Bandit | 24,935,372 | 1.9.4 | 12 upstream baseline CLI tests: real repository creation, commits, branches, resets, discovery, and dirty state |
3536

@@ -39,6 +40,12 @@ snapshot updated **2026-10-01 12:40:51 UTC**. Its
3940
covers the previous calendar month. Current metadata for the top 5,000
4041
distributions was checked, together with known runtime integrations.
4142

43+
LangChain Community's published `GitLoader` integration uses GitPython at runtime
44+
and asks users to install it manually. It qualifies as a current user even though
45+
GitPython is absent from its package dependency metadata. Its upstream
46+
`--only-extended` option ensures missing integration dependencies fail collection
47+
instead of silently skipping the GitLoader tests. These tests use local fixtures.
48+
4249
Bandit's GitPython dependency belongs to its user-facing `baseline` extra.
4350
Two selected tests mock error paths; the others use real repositories.
4451

‎test/downstream/projects.json‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,19 @@
11
{
2+
"langchain": {
3+
"distribution": "langchain-community",
4+
"source": "git",
5+
"repository": "https://github.com/langchain-ai/langchain-community.git",
6+
"tag": "libs/community/v{version}",
7+
"cwd": "libs/community",
8+
"install": [
9+
"langchain-community=={version}",
10+
"pytest>=8.4.1,<9",
11+
"pytest-asyncio>=0.20.3,<1",
12+
"blockbuster>=1.5.18,<1.6"
13+
],
14+
"pytest_args": ["--only-extended"],
15+
"tests": ["tests/unit_tests/document_loaders/test_git.py"]
16+
},
217
"mlflow": {
318
"distribution": "mlflow-skinny",
419
"source": "git",

0 commit comments

Comments
 (0)