langchain.document_loaders.github.GitHubIssuesLoader

class langchain.document_loaders.github.GitHubIssuesLoader[source]

Bases: BaseGitHubLoader

Load issues of a GitHub repository.

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

param access_token: str [Required]

Personal access token - see https://github.com/settings/tokens?type=beta

param assignee: Optional[str] = None

Filter on assigned user. Pass ‘none’ for no user and ‘*’ for any user.

param creator: Optional[str] = None

Filter on the user that created the issue.

param direction: Optional[Literal['asc', 'desc']] = None

The direction to sort the results by. Can be one of: ‘asc’, ‘desc’.

param github_api_url: str = 'https://api.github.com'

URL of GitHub API

param include_prs: bool = True

If True include Pull Requests in results, otherwise ignore them.

param labels: Optional[List[str]] = None

Label names to filter one. Example: bug,ui,@high.

param mentioned: Optional[str] = None

Filter on a user that’s mentioned in the issue.

param milestone: Optional[Union[int, Literal['*', 'none']]] = None

If integer is passed, it should be a milestone’s number field. If the string ‘*’ is passed, issues with any milestone are accepted. If the string ‘none’ is passed, issues without milestones are returned.

param repo: str [Required]

Name of repository

param since: Optional[str] = None

Only show notifications updated after the given time. This is a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.

param sort: Optional[Literal['created', 'updated', 'comments']] = None

What to sort results by. Can be one of: ‘created’, ‘updated’, ‘comments’. Default is ‘created’.

param state: Optional[Literal['open', 'closed', 'all']] = None

Filter on issue state. Can be one of: ‘open’, ‘closed’, ‘all’.

classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) Model

Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) Model

Duplicate a model, optionally choose which fields to include, exclude and change.

Parameters
  • include – fields to include in new model

  • exclude – fields to exclude from new model, as with values this takes precedence over include

  • update – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

  • deep – set to True to make a deep copy of the model

Returns

new model instance

dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) DictStrAny

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

classmethod from_orm(obj: Any) Model
json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) unicode

Generate a JSON representation of the model, include and exclude arguments as per dict().

encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

lazy_load() Iterator[Document][source]

Get issues of a GitHub repository.

Returns

  • page_content

  • metadata
    • url

    • title

    • creator

    • created_at

    • last_update_time

    • closed_time

    • number of comments

    • state

    • labels

    • assignee

    • assignees

    • milestone

    • locked

    • number

    • is_pull_request

Return type

A list of Documents with attributes

load() List[Document][source]

Get issues of a GitHub repository.

Returns

  • page_content

  • metadata
    • url

    • title

    • creator

    • created_at

    • last_update_time

    • closed_time

    • number of comments

    • state

    • labels

    • assignee

    • assignees

    • milestone

    • locked

    • number

    • is_pull_request

Return type

A list of Documents with attributes

load_and_split(text_splitter: Optional[TextSplitter] = None) List[Document]

Load Documents and split into chunks. Chunks are returned as Documents.

Parameters

text_splitter – TextSplitter instance to use for splitting documents. Defaults to RecursiveCharacterTextSplitter.

Returns

List of Documents.

classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) Model
parse_issue(issue: dict) Document[source]

Create Document objects from a list of GitHub issues.

classmethod parse_obj(obj: Any) Model
classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) Model
classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') DictStrAny
classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) unicode
classmethod update_forward_refs(**localns: Any) None

Try to update ForwardRefs on fields based on this Model, globalns and localns.

classmethod validate(value: Any) Model
property headers: Dict[str, str]
property query_params: str

Create query parameters for GitHub API.

property url: str

Create URL for GitHub API.

Examples using GitHubIssuesLoader