Toggle Menu
Prev Up Next

# `langchain_text_splitters.python`.PythonCodeTextSplitter

class langchain_text_splitters.python.PythonCodeTextSplitter(**kwargs: Any)

  Attempts to split the text along Python syntax.

  Initialize a PythonCodeTextSplitter.

  Methods

  `__init__`(**kwargs) | Initialize a PythonCodeTextSplitter.
  `atransform_documents`(documents, **kwargs) | Asynchronously transform a list of documents.
  `create_documents`(texts[, metadatas]) | Create documents from a list of texts.
  `from_huggingface_tokenizer`(tokenizer, **kwargs) | Text splitter that uses HuggingFace tokenizer to count length.
  `from_language`(language, **kwargs) |
  `from_tiktoken_encoder`([encoding_name, ...]) | Text splitter that uses tiktoken encoder to count length.
  `get_separators_for_language`(language) |
  `split_documents`(documents) | Split documents.
  `split_text`(text) | Split text into multiple components.
  `transform_documents`(documents, **kwargs) | Transform sequence of documents by splitting them.

  Parameters

    kwargs (Any) –

  __init__(**kwargs: Any) → None

    Initialize a PythonCodeTextSplitter.

    Parameters

      kwargs (Any) –

    Return type

      None

  async atransform_documents(documents: Sequence[Document], **kwargs: Any) → Sequence[Document]

    Asynchronously transform a list of documents.

    Parameters

      - documents (Sequence[Document]) – A sequence of Documents to be transformed.

      - kwargs (Any) –

    Returns

      A list of transformed Documents.

    Return type

      Sequence[Document]

  create_documents(texts: List[str], metadatas: Optional[List[dict]] = None) → List[Document]

    Create documents from a list of texts.

    Parameters

      - texts (List[str]) –

      - metadatas (Optional[List[dict]]) –

    Return type

      List[Document]

  classmethod from_huggingface_tokenizer(tokenizer: Any, **kwargs: Any) → TextSplitter

    Text splitter that uses HuggingFace tokenizer to count length.

    Parameters

      - tokenizer (Any) –

      - kwargs (Any) –

    Return type

      TextSplitter

  classmethod from_language(language: Language, **kwargs: Any) → RecursiveCharacterTextSplitter
    Parameters

      - language (Language) –

      - kwargs (Any) –

    Return type

      RecursiveCharacterTextSplitter

  classmethod from_tiktoken_encoder(encoding_name: str = 'gpt2', model_name: Optional[str] = None, allowed_special: Union[Literal['all'], AbstractSet[str]] = {}, disallowed_special: Union[Literal['all'], Collection[str]] = 'all', **kwargs: Any) → TS

    Text splitter that uses tiktoken encoder to count length.

    Parameters

      - encoding_name (str) –

      - model_name (Optional[str]) –

      - allowed_special (Union[Literal['all'], ~typing.AbstractSet[str]]) –

      - disallowed_special (Union[Literal['all'], ~typing.Collection[str]]) –

      - kwargs (Any) –

    Return type

      TS

  static get_separators_for_language(language: Language) → List[str]
    Parameters

      language (Language) –

    Return type

      List[str]

  split_documents(documents: Iterable[Document]) → List[Document]

    Split documents.

    Parameters

      documents (Iterable[Document]) –

    Return type

      List[Document]

  split_text(text: str) → List[str]

    Split text into multiple components.

    Parameters

      text (str) –

    Return type

      List[str]

  transform_documents(documents: Sequence[Document], **kwargs: Any) → Sequence[Document]

    Transform sequence of documents by splitting them.

    Parameters

      - documents (Sequence[Document]) –

      - kwargs (Any) –

    Return type

      Sequence[Document]