mirror of
https://github.com/hwchase17/langchain.git
synced 2025-07-12 15:59:56 +00:00
cli: ensure the connection always get closed in github.py (#31914)
Thank you for contributing to LangChain! - [x] **PR title**: "package: description" - Where "package" is whichever of langchain, core, etc. is being modified. Use "docs: ..." for purely docs changes, "infra: ..." for CI changes. - Example: "core: add foobar LLM" - [x] **PR message**: ***Delete this entire checklist*** and replace with - **Description:** a description of the change - **Issue:** the issue # it fixes, if applicable - **Dependencies:** any dependencies required for this change - **Twitter handle:** if your PR gets announced, and you'd like a mention, we'll gladly shout you out! - [x] **Add tests and docs**: If you're adding a new integration, please include 1. a test for the integration, preferably unit tests that do not rely on network access, 2. an example notebook showing its use. It lives in `docs/docs/integrations` directory. - [x] **Lint and test**: Run `make format`, `make lint` and `make test` from the root of the package(s) you've modified. See contribution guidelines for more: https://python.langchain.com/docs/contributing/ Additional guidelines: - Make sure optional dependencies are imported within a function. - Please do not add dependencies to pyproject.toml files (even optional ones) unless they are required for unit tests. - Most PRs should not touch more than one package. - Changes should be backwards compatible. If no one reviews your PR within a few days, please @-mention one of baskaryan, eyurtsev, ccurme, vbarda, hwchase17.
This commit is contained in:
parent
83d8be756a
commit
a1c1421bf4
@ -3,26 +3,30 @@ import json
|
||||
from typing import Optional
|
||||
|
||||
|
||||
def list_packages(*, contains: Optional[str] = None):
|
||||
def list_packages(*, contains: Optional[str] = None) -> list[str]:
|
||||
conn = http.client.HTTPSConnection("api.github.com")
|
||||
try:
|
||||
headers = {
|
||||
"Accept": "application/vnd.github+json",
|
||||
"X-GitHub-Api-Version": "2022-11-28",
|
||||
"User-Agent": "langchain-cli",
|
||||
}
|
||||
|
||||
headers = {
|
||||
"Accept": "application/vnd.github+json",
|
||||
"X-GitHub-Api-Version": "2022-11-28",
|
||||
"User-Agent": "langchain-cli",
|
||||
}
|
||||
conn.request(
|
||||
"GET",
|
||||
"/repos/langchain-ai/langchain/contents/templates",
|
||||
headers=headers,
|
||||
)
|
||||
res = conn.getresponse()
|
||||
|
||||
conn.request(
|
||||
"GET",
|
||||
"/repos/langchain-ai/langchain/contents/templates",
|
||||
headers=headers,
|
||||
)
|
||||
res = conn.getresponse()
|
||||
res_str = res.read()
|
||||
|
||||
res_str = res.read()
|
||||
|
||||
data = json.loads(res_str)
|
||||
package_names = [
|
||||
p["name"] for p in data if p["type"] == "dir" and p["name"] != "docs"
|
||||
]
|
||||
return [p for p in package_names if contains in p] if contains else package_names
|
||||
data = json.loads(res_str)
|
||||
package_names = [
|
||||
p["name"] for p in data if p["type"] == "dir" and p["name"] != "docs"
|
||||
]
|
||||
return (
|
||||
[p for p in package_names if contains in p] if contains else package_names
|
||||
)
|
||||
finally:
|
||||
conn.close()
|
||||
|
Loading…
Reference in New Issue
Block a user