# Path: bin/deps/pydocstyle/config.py
# class IllegalConfiguration(Exception):
#     """An exception for illegal configurations."""
# 
#     pass
# 
# Path: bin/deps/pydocstyle/parser.py
#     def next(obj, default=nothing):
#     def __str__(self):
# def humanize(string):
#     def __init__(self, *args):
#     def __hash__(self):
#     def __eq__(self, other):
#     def __repr__(self):
#     def __iter__(self):
#     def _publicity(self):
#     def source(self):
#         def is_empty_or_comment(line):
#     def __str__(self):
#     def is_public(self):
#     def __str__(self):
#     def is_public(self):
#     def is_test(self):
#     def is_magic(self):
#     def is_init(self):
#     def is_public(self):
#     def is_public(self):
#     def __init__(self, message):
#     def __init__(self, filelike):
#     def move(self):
#     def _next_from_generator(self):
#     def __iter__(self):
#     def __repr__(self):
#     def __init__(self, *args):
#     def parse(self, filelike, filename):
#     def __call__(self, *args, **kwargs):
#     def consume(self, kind):
#     def leapfrog(self, kind, value=None):
#     def parse_docstring(self):
#     def parse_decorators(self):
#     def parse_definitions(self, class_, all=False):
#     def parse_all(self):
#     def parse_module(self):
#     def parse_definition(self, class_):
#     def parse_skip_comment(self):
#     def check_current(self, kind=None, value=None):
#     def parse_from_import_statement(self):
#     def _parse_from_import_source(self):
#     def _parse_from_import_names(self, is_future_import):
# class ParseError(Exception):
# class Value(object):
# class Definition(Value):
# class Module(Definition):
# class Package(Module):
# class Function(Definition):
# class NestedFunction(Function):
# class Method(Function):
# class Class(Definition):
# class NestedClass(Class):
# class Decorator(Value):
# class AllError(Exception):
# class TokenStream(object):
# class TokenKind(int):
# class Token(Value):
# class Parser(object):
# VARIADIC_MAGIC_METHODS = ('__init__', '__call__', '__new__')
#     LOGICAL_NEWLINES = {tk.NEWLINE, tk.INDENT, tk.DEDENT}
# 
# Path: bin/deps/pydocstyle/utils.py
# def is_blank(string):
# def pairwise(iterable, default_value):


import ast
import string
import sys
import tokenize as tk
from itertools import takewhile
from re import compile as re
from collections import namedtuple
from . import violations
from .config import IllegalConfiguration
from .parser import (Package, Module, Class, NestedClass, Definition, AllError,
                     Method, Function, NestedFunction, Parser, StringIO,
                     ParseError)
from .utils import log, is_blank, pairwise
from .wordlists import IMPERATIVE_VERBS, IMPERATIVE_BLACKLIST, stem
def check(filenames, select=None, ignore=None, ignore_decorators=None):
    """Generate docstring errors that exist in `filenames` iterable.

    By default, the PEP-257 convention is checked. To specifically define the
    set of error codes to check for, supply either `select` or `ignore` (but
    not both). In either case, the parameter should be a collection of error
    code strings, e.g., {'D100', 'D404'}.

    When supplying `select`, only specified error codes will be reported.
    When supplying `ignore`, all error codes which were not specified will be
    reported.

    Note that ignored error code refer to the entire set of possible
    error codes, which is larger than just the PEP-257 convention. To your
    convenience, you may use `pydocstyle.violations.conventions.pep257` as
    a base set to add or remove errors from.

    Examples
    ---------
    >>> check(['pydocstyle.py'])
    <generator object check at 0x...>

    >>> check(['pydocstyle.py'], select=['D100'])
    <generator object check at 0x...>

    >>> check(['pydocstyle.py'], ignore=conventions.pep257 - {'D100'})
    <generator object check at 0x...>

    """
    if select is not None and ignore is not None:

# Path: bin/deps/pydocstyle/config.py
# class IllegalConfiguration(Exception):
#     """An exception for illegal configurations."""
# 
#     pass
# 
# Path: bin/deps/pydocstyle/parser.py
#     def next(obj, default=nothing):
#     def __str__(self):
# def humanize(string):
#     def __init__(self, *args):
#     def __hash__(self):
#     def __eq__(self, other):
#     def __repr__(self):
#     def __iter__(self):
#     def _publicity(self):
#     def source(self):
#         def is_empty_or_comment(line):
#     def __str__(self):
#     def is_public(self):
#     def __str__(self):
#     def is_public(self):
#     def is_test(self):
#     def is_magic(self):
#     def is_init(self):
#     def is_public(self):
#     def is_public(self):
#     def __init__(self, message):
#     def __init__(self, filelike):
#     def move(self):
#     def _next_from_generator(self):
#     def __iter__(self):
#     def __repr__(self):
#     def __init__(self, *args):
#     def parse(self, filelike, filename):
#     def __call__(self, *args, **kwargs):
#     def consume(self, kind):
#     def leapfrog(self, kind, value=None):
#     def parse_docstring(self):
#     def parse_decorators(self):
#     def parse_definitions(self, class_, all=False):
#     def parse_all(self):
#     def parse_module(self):
#     def parse_definition(self, class_):
#     def parse_skip_comment(self):
#     def check_current(self, kind=None, value=None):
#     def parse_from_import_statement(self):
#     def _parse_from_import_source(self):
#     def _parse_from_import_names(self, is_future_import):
# class ParseError(Exception):
# class Value(object):
# class Definition(Value):
# class Module(Definition):
# class Package(Module):
# class Function(Definition):
# class NestedFunction(Function):
# class Method(Function):
# class Class(Definition):
# class NestedClass(Class):
# class Decorator(Value):
# class AllError(Exception):
# class TokenStream(object):
# class TokenKind(int):
# class Token(Value):
# class Parser(object):
# VARIADIC_MAGIC_METHODS = ('__init__', '__call__', '__new__')
#     LOGICAL_NEWLINES = {tk.NEWLINE, tk.INDENT, tk.DEDENT}
# 
# Path: bin/deps/pydocstyle/utils.py
# def is_blank(string):
# def pairwise(iterable, default_value):


# Path: bin/deps/pydocstyle/checker.py
import ast
import string
import sys
import tokenize as tk
from itertools import takewhile
from re import compile as re
from collections import namedtuple
from . import violations
from .config import IllegalConfiguration
from .parser import (Package, Module, Class, NestedClass, Definition, AllError,
                     Method, Function, NestedFunction, Parser, StringIO,
                     ParseError)
from .utils import log, is_blank, pairwise
from .wordlists import IMPERATIVE_VERBS, IMPERATIVE_BLACKLIST, stem

def check(filenames, select=None, ignore=None, ignore_decorators=None):
    """Generate docstring errors that exist in `filenames` iterable.

    By default, the PEP-257 convention is checked. To specifically define the
    set of error codes to check for, supply either `select` or `ignore` (but
    not both). In either case, the parameter should be a collection of error
    code strings, e.g., {'D100', 'D404'}.

    When supplying `select`, only specified error codes will be reported.
    When supplying `ignore`, all error codes which were not specified will be
    reported.

    Note that ignored error code refer to the entire set of possible
    error codes, which is larger than just the PEP-257 convention. To your
    convenience, you may use `pydocstyle.violations.conventions.pep257` as
    a base set to add or remove errors from.

    Examples
    ---------
    >>> check(['pydocstyle.py'])
    <generator object check at 0x...>

    >>> check(['pydocstyle.py'], select=['D100'])
    <generator object check at 0x...>

    >>> check(['pydocstyle.py'], ignore=conventions.pep257 - {'D100'})
    <generator object check at 0x...>

    """
    if select is not None and ignore is not None:

        raise IllegalConfiguration('Cannot pass both select and ignore. '