All classes:
- smart_open.utils.TextIOWrapper
- smart_open.utils.FileLikeProxy
- smart_open.smart_open_lib.patch_pathlib
- smart_open.bytebuffer.ByteBuffer
- smart_open.concurrency.ThreadPoolExecutor
- smart_open.concurrency.ConcurrentFuturesPool
- smart_open.s3.Retry
- smart_open.s3._ClientWrapper
- smart_open.s3._SeekableRawReader
- smart_open.s3.Reader
- smart_open.s3.MultipartWriter
- smart_open.s3.SinglepartWriter
- smart_open.hdfs.CliRawInputBase
- smart_open.hdfs.CliRawOutputBase
- smart_open.http.BufferedInputBase
- smart_open.http.SeekableBufferedInputBase
- smart_open.webhdfs.BufferedInputBase
- smart_open.webhdfs.BufferedOutputBase
- smart_open.webhdfs.WebHdfsException
- smart_open.azure._RawReader
- smart_open.azure.Reader
- smart_open.azure.Writer
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_func'
    functionSourceFile: '...fuzz_func'
    functionUses: 0
    functionsReached:
    - '...fuzz_func.main'
    - atheris.Fuzz
    - atheris.Setup
    - atheris.instrument_imports
    - atheris.instrument_all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_imports
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - file_obj
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: '...fuzz_func._handle_file'
    functionSourceFile: '...fuzz_func'
    functionUses: 0
    functionsReached:
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.open
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 26
    functionName: '...fuzz_func.TestInput'
    functionSourceFile: '...fuzz_func'
    functionUses: 0
    functionsReached:
    - submodule.parse_uri
    - smart_open.compression.register_compressor
    - fdp.ConsumeString
    - smart_open.smart_open_lib._sniff_scheme
    - smart_open.transport.get_transport
    - atheris.FuzzedDataProvider
    - logger.warning
    - <builtin>.locals
    - as_dict.keys
    - collections.namedtuple
    - urllib.parse.urlsplit
    - <builtin>.sorted
    - ext.lower
    - smart_open.smart_open_lib.parse_uri
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.FuzzedDataProvider
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeString
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri_as_string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 55
    functionName: smart_open.smart_open_lib.parse_uri
    functionSourceFile: smart_open.smart_open_lib
    functionUses: 1
    functionsReached:
    - submodule.parse_uri
    - smart_open.smart_open_lib._sniff_scheme
    - smart_open.transport.get_transport
    - <builtin>.locals
    - as_dict.keys
    - collections.namedtuple
    - urllib.parse.urlsplit
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - ext
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: smart_open.compression.register_compressor
    functionSourceFile: smart_open.compression
    functionUses: 2
    functionsReached:
    - logger.warning
    - ext.lower
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: '...fuzz_func.main'
    functionSourceFile: '...fuzz_func'
    functionUses: 1
    functionsReached:
    - atheris.instrument_all
    - atheris.Fuzz
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_all
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: smart_open
    functionSourceFile: smart_open
    functionUses: 0
    functionsReached:
    - importlib.metadata.version
    - logger.addHandler
    - logging.getLogger
    - logging.NullHandler
    - contextlib.suppress
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contextlib.suppress
    functionSourceFile: contextlib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.metadata.version
    functionSourceFile: importlib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.getLogger
    functionSourceFile: logging
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.NullHandler
    functionSourceFile: logging
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.addHandler
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f6762e41910>
    - <ast.Constant object at 0x7f6762e41970>
    - <ast.Constant object at 0x7f6762e41af0>
    - <ast.Constant object at 0x7f6762e41130>
    - <ast.Constant object at 0x7f6762e41220>
    argNames:
    - bucket_name
    - prefix
    - accept_key
    - key_limit
    - workers
    - retries
    - session_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 48
    functionName: smart_open.s3_iter_bucket
    functionSourceFile: smart_open
    functionUses: 0
    functionsReached:
    - client.list_objects_v2
    - boto3.s3.transfer.TransferConfig
    - smart_open.s3._accept_all
    - logger.info
    - botocore.client.Config
    - <builtin>.dict
    - executor.imap
    - boto3.session.Session
    - smart_open.s3.iter_bucket
    - smart_open.concurrency.ThreadPoolExecutor
    - <builtin>.enumerate
    - session.client
    - <builtin>.len
    - response.get
    - logger.warning
    - itertools.islice
    - smart_open.s3._list_bucket
    - functools.partial
    - smart_open.s3.<lambda1>
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.warning
    functionSourceFile: <builtin>
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f6762a40490>
    - <ast.Constant object at 0x7f6762a404c0>
    - <ast.Constant object at 0x7f6762a404f0>
    - <ast.Constant object at 0x7f6762a40520>
    - <ast.Constant object at 0x7f6762a40550>
    - <ast.Constant object at 0x7f6762a40580>
    - <ast.Constant object at 0x7f6762a405b0>
    argNames:
    - bucket_name
    - prefix
    - accept_key
    - key_limit
    - workers
    - retries
    - max_threads_per_fileobj
    - client_kwargs
    - session_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1336
    functionName: smart_open.s3.iter_bucket
    functionSourceFile: smart_open.s3
    functionUses: 1
    functionsReached:
    - client.list_objects_v2
    - <builtin>.enumerate
    - <builtin>.dict
    - boto3.s3.transfer.TransferConfig
    - executor.imap
    - session.client
    - itertools.islice
    - smart_open.s3._list_bucket
    - functools.partial
    - smart_open.s3._accept_all
    - boto3.session.Session
    - smart_open.concurrency.ThreadPoolExecutor
    - logger.info
    - smart_open.s3.<lambda1>
    - <builtin>.len
    - botocore.client.Config
    - response.get
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: smart_open.smart_open_lib
    functionSourceFile: smart_open.smart_open_lib
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - seen.add
    - logger.error
    - re.sub
    - inspect.cleandoc
    - name.strip
    - smart_open.doctools.tweak_parse_uri_docstring
    - submodule.__doc__.split
    - smart_open.doctools.to_docstring
    - schemes.extend
    - buf.getvalue
    - <builtin>.print
    - os.path.abspath
    - buf.write
    - line.strip
    - type_.strip
    - f.__doc__.replace
    - lines.index
    - _COMPRESSOR_REGISTRY.keys
    - line.startswith
    - smart_open.doctools.extract_examples_from_readme_rst
    - smart_open.doctools.tweak_open_docstring
    - os.path.join
    - transport._REGISTRY.items
    - <builtin>.len
    - smart_open.doctools.extract_kwargs
    - lines.pop
    - smart_open.compression.get_supported_extensions
    - schemes.append
    - os.path.dirname
    - <builtin>.set
    - logger.exception
    - contextlib.redirect_stdout
    - line.split
    - locale.getpreferredencoding
    - logging.getLogger
    - os.path.relpath
    - <builtin>.open
    - <builtin>.sorted
    - examples.extend
    - kwargs.append
    - io.StringIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: locale.getpreferredencoding
    functionSourceFile: locale
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri_as_string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: smart_open.smart_open_lib._sniff_scheme
    functionSourceFile: smart_open.smart_open_lib
    functionUses: 6
    functionsReached:
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlsplit
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - scheme
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 74
    functionName: smart_open.transport.get_transport
    functionSourceFile: smart_open.transport
    functionUses: 6
    functionsReached:
    - <builtin>.locals
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    - ImportError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: submodule.parse_uri
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: as_dict.keys
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sorted
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.namedtuple
    functionSourceFile: collections
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 3
    IfCount: 8
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f67630599a0>
    - <ast.UnaryOp object at 0x7f6763059af0>
    - <ast.Constant object at 0x7f67630593a0>
    - <ast.Constant object at 0x7f6763059d60>
    - <ast.Constant object at 0x7f6763059520>
    - <ast.Constant object at 0x7f6763059250>
    - <ast.Constant object at 0x7f67630592e0>
    - <ast.Attribute object at 0x7f6763059280>
    - <ast.Constant object at 0x7f6763059ca0>
    argNames:
    - uri
    - mode
    - buffering
    - encoding
    - errors
    - newline
    - closefd
    - opener
    - compression
    - transport_params
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 93
    functionName: smart_open.smart_open_lib.open
    functionSourceFile: smart_open.smart_open_lib
    functionUses: 3
    functionsReached:
    - <builtin>.list
    - mode.pop
    - smart_open.compression.compression_wrapper
    - smart_open.smart_open_lib._open_binary_stream
    - smart_open.smart_open_lib._encoding_wrapper
    - smart_open.transport.get_transport
    - io.TextIOWrapper.__init__
    - <builtin>.isinstance
    - uri_as_string.startswith
    - <builtin>.setattr
    - binmode.append
    - submodule.open_uri
    - <builtin>.super
    - smart_open.smart_open_lib._shortcut_open
    - mode.replace
    - <builtin>.sum
    - os.path.splitext
    - uri_as_string.replace
    - logger.debug
    - <builtin>.getattr
    - smart_open.utils.FileLikeProxy.__init__
    - smart_open.smart_open_lib._get_binary_mode.transfer
    - smart_open.smart_open_lib._get_binary_mode
    - smart_open.smart_open_lib.open
    - mode.count
    - _COMPRESSOR_REGISTRY.keys
    - urllib.parse.urlsplit
    - os.path.expanduser
    - smart_open.local_file.extract_local_path
    - smart_open.compression.get_supported_compression_types
    - <builtin>.hasattr
    - smart_open.compression.get_supported_extensions
    - smart_open.smart_open_lib._sniff_scheme
    - mode.index
    - mode.endswith
    - <builtin>.locals
    - logger.warning
    - <builtin>.str
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    - ValueError
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.locals
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.debug
    functionSourceFile: <builtin>
    functionUses: 48
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 26
    functionName: smart_open.compression.get_supported_compression_types
    functionSourceFile: smart_open.compression
    functionUses: 4
    functionsReached:
    - smart_open.compression.get_supported_extensions
    - _COMPRESSOR_REGISTRY.keys
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 1
    IfCount: 8
    argCount: 7
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f67634eafd0>
    - <ast.Constant object at 0x7f67634ea6a0>
    - <ast.Constant object at 0x7f67634ea4c0>
    - <ast.Constant object at 0x7f67634ea280>
    argNames:
    - uri
    - mode
    - compression
    - buffering
    - encoding
    - errors
    - newline
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 313
    functionName: smart_open.smart_open_lib._shortcut_open
    functionSourceFile: smart_open.smart_open_lib
    functionUses: 3
    functionsReached:
    - <builtin>.list
    - mode.pop
    - smart_open.compression.compression_wrapper
    - smart_open.smart_open_lib._open_binary_stream
    - smart_open.transport.get_transport
    - smart_open.smart_open_lib._encoding_wrapper
    - io.TextIOWrapper.__init__
    - <builtin>.isinstance
    - uri_as_string.startswith
    - <builtin>.setattr
    - binmode.append
    - submodule.open_uri
    - <builtin>.super
    - smart_open.smart_open_lib._shortcut_open
    - mode.replace
    - <builtin>.sum
    - os.path.splitext
    - uri_as_string.replace
    - logger.debug
    - <builtin>.getattr
    - smart_open.utils.FileLikeProxy.__init__
    - smart_open.smart_open_lib._get_binary_mode.transfer
    - smart_open.smart_open_lib._get_binary_mode
    - smart_open.smart_open_lib.open
    - _COMPRESSOR_REGISTRY.keys
    - mode.count
    - urllib.parse.urlsplit
    - os.path.expanduser
    - smart_open.local_file.extract_local_path
    - smart_open.compression.get_supported_compression_types
    - <builtin>.hasattr
    - smart_open.compression.get_supported_extensions
    - smart_open.smart_open_lib._sniff_scheme
    - mode.index
    - mode.endswith
    - <builtin>.locals
    - logger.warning
    - <builtin>.str
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mode.replace
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 8
    IfCount: 9
    argCount: 1
    argDefaultValues: []
    argNames:
    - mode_str
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 259
    functionName: smart_open.smart_open_lib._get_binary_mode
    functionSourceFile: smart_open.smart_open_lib
    functionUses: 4
    functionsReached:
    - <builtin>.list
    - mode.pop
    - smart_open.smart_open_lib._get_binary_mode.transfer
    - mode.index
    - <builtin>.sum
    - mode.count
    - binmode.append
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - uri
    - mode
    - transport_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 371
    functionName: smart_open.smart_open_lib._open_binary_stream
    functionSourceFile: smart_open.smart_open_lib
    functionUses: 3
    functionsReached:
    - <builtin>.list
    - mode.pop
    - smart_open.transport.get_transport
    - smart_open.compression.compression_wrapper
    - smart_open.smart_open_lib._open_binary_stream
    - smart_open.smart_open_lib._encoding_wrapper
    - io.TextIOWrapper.__init__
    - <builtin>.isinstance
    - uri_as_string.startswith
    - <builtin>.setattr
    - submodule.open_uri
    - binmode.append
    - <builtin>.super
    - smart_open.smart_open_lib._shortcut_open
    - mode.replace
    - <builtin>.sum
    - os.path.splitext
    - uri_as_string.replace
    - logger.debug
    - <builtin>.getattr
    - smart_open.utils.FileLikeProxy.__init__
    - smart_open.smart_open_lib._get_binary_mode.transfer
    - smart_open.smart_open_lib._get_binary_mode
    - smart_open.smart_open_lib.open
    - mode.count
    - _COMPRESSOR_REGISTRY.keys
    - urllib.parse.urlsplit
    - os.path.expanduser
    - smart_open.local_file.extract_local_path
    - <builtin>.hasattr
    - smart_open.compression.get_supported_compression_types
    - smart_open.compression.get_supported_extensions
    - smart_open.smart_open_lib._sniff_scheme
    - mode.index
    - mode.endswith
    - <builtin>.locals
    - logger.warning
    - <builtin>.str
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7f6763799250>
    - <ast.Constant object at 0x7f6763799b50>
    argNames:
    - file_obj
    - mode
    - compression
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 137
    functionName: smart_open.compression.compression_wrapper
    functionSourceFile: smart_open.compression
    functionUses: 4
    functionsReached:
    - logger.warning
    - mode.endswith
    - os.path.splitext
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6763759b50>
    - <ast.Constant object at 0x7f67637597c0>
    - <ast.Constant object at 0x7f6763759970>
    argNames:
    - fileobj
    - mode
    - encoding
    - errors
    - newline
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 412
    functionName: smart_open.smart_open_lib._encoding_wrapper
    functionSourceFile: smart_open.smart_open_lib
    functionUses: 4
    functionsReached:
    - io.TextIOWrapper.__init__
    - <builtin>.locals
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.setattr
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - outer
    - inner
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 213
    functionName: smart_open.utils.FileLikeProxy.__init__
    functionSourceFile: smart_open.utils
    functionUses: 4
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mode.count
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sum
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - char
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 276
    functionName: smart_open.smart_open_lib._get_binary_mode.transfer
    functionSourceFile: smart_open.smart_open_lib
    functionUses: 5
    functionsReached:
    - mode.pop
    - mode.index
    - binmode.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mode.index
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mode.pop
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binmode.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri_as_string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: smart_open.local_file.extract_local_path
    functionSourceFile: smart_open.local_file
    functionUses: 6
    functionsReached:
    - uri_as_string.startswith
    - os.path.expanduser
    - uri_as_string.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.splitext
    functionSourceFile: os
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 34
    functionName: smart_open.compression.get_supported_extensions
    functionSourceFile: smart_open.compression
    functionUses: 7
    functionsReached:
    - _COMPRESSOR_REGISTRY.keys
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: submodule.open_uri
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.TextIOWrapper.__init__
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 454
    functionName: smart_open.smart_open_lib.patch_pathlib.__init__
    functionSourceFile: smart_open.smart_open_lib
    functionUses: 0
    functionsReached:
    - smart_open.smart_open_lib._patch_pathlib
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 464
    functionName: smart_open.smart_open_lib._patch_pathlib
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 457
    functionName: smart_open.smart_open_lib.patch_pathlib.__enter__
    functionSourceFile: smart_open.smart_open_lib
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_val
    - exc_tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 460
    functionName: smart_open.smart_open_lib.patch_pathlib.__exit__
    functionSourceFile: smart_open.smart_open_lib
    functionUses: 0
    functionsReached:
    - smart_open.smart_open_lib._patch_pathlib
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f6763923f10>
    - <ast.UnaryOp object at 0x7f6763923f40>
    - <ast.Constant object at 0x7f6763923880>
    - <ast.Constant object at 0x7f67639e36d0>
    - <ast.Constant object at 0x7f67639e3640>
    - <ast.Constant object at 0x7f67634d3af0>
    - <ast.Constant object at 0x7f67634d3880>
    - <ast.Constant object at 0x7f67634d33a0>
    argNames:
    - uri
    - mode
    - buffering
    - encoding
    - errors
    - newline
    - closefd
    - opener
    - ignore_extension
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 471
    functionName: smart_open.smart_open_lib.smart_open
    functionSourceFile: smart_open.smart_open_lib
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - mode.pop
    - smart_open.compression.compression_wrapper
    - smart_open.smart_open_lib._open_binary_stream
    - smart_open.transport.get_transport
    - smart_open.smart_open_lib._encoding_wrapper
    - io.TextIOWrapper.__init__
    - <builtin>.isinstance
    - uri_as_string.startswith
    - <builtin>.setattr
    - binmode.append
    - submodule.open_uri
    - <builtin>.super
    - smart_open.smart_open_lib._shortcut_open
    - mode.replace
    - <builtin>.sum
    - os.path.splitext
    - uri_as_string.replace
    - logger.debug
    - <builtin>.getattr
    - smart_open.utils.FileLikeProxy.__init__
    - smart_open.smart_open_lib._get_binary_mode.transfer
    - smart_open.smart_open_lib._get_binary_mode
    - smart_open.smart_open_lib.open
    - mode.count
    - _COMPRESSOR_REGISTRY.keys
    - urllib.parse.urlsplit
    - os.path.expanduser
    - smart_open.local_file.extract_local_path
    - smart_open.compression.get_supported_compression_types
    - <builtin>.hasattr
    - smart_open.compression.get_supported_extensions
    - smart_open.smart_open_lib._sniff_scheme
    - mode.index
    - mode.endswith
    - <builtin>.locals
    - logger.warning
    - warnings.warn
    - <builtin>.str
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised:
    - DeprecationWarning
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.warn
    functionSourceFile: warnings
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 18
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 176
    functionName: smart_open.doctools.tweak_open_docstring
    functionSourceFile: smart_open.doctools
    functionUses: 1
    functionsReached:
    - <builtin>.list
    - seen.add
    - re.sub
    - inspect.cleandoc
    - name.strip
    - submodule.__doc__.split
    - smart_open.doctools.to_docstring
    - buf.getvalue
    - <builtin>.print
    - os.path.abspath
    - buf.write
    - line.strip
    - type_.strip
    - f.__doc__.replace
    - lines.index
    - _COMPRESSOR_REGISTRY.keys
    - line.startswith
    - smart_open.doctools.extract_examples_from_readme_rst
    - os.path.join
    - transport._REGISTRY.items
    - <builtin>.len
    - smart_open.doctools.extract_kwargs
    - lines.pop
    - smart_open.compression.get_supported_extensions
    - os.path.dirname
    - <builtin>.set
    - contextlib.redirect_stdout
    - line.split
    - os.path.relpath
    - <builtin>.open
    - <builtin>.sorted
    - kwargs.append
    - io.StringIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 226
    functionName: smart_open.doctools.tweak_parse_uri_docstring
    functionSourceFile: smart_open.doctools
    functionUses: 1
    functionsReached:
    - schemes.append
    - seen.add
    - <builtin>.set
    - schemes.extend
    - f.__doc__.replace
    - buf.getvalue
    - contextlib.redirect_stdout
    - transport._REGISTRY.items
    - <builtin>.print
    - <builtin>.sorted
    - examples.extend
    - io.StringIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.error
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.exception
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: smart_open.local_file
    functionSourceFile: smart_open.local_file
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri_as_string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 27
    functionName: smart_open.local_file.parse_uri
    functionSourceFile: smart_open.local_file
    functionUses: 1
    functionsReached:
    - <builtin>.dict
    - uri_as_string.startswith
    - os.path.expanduser
    - uri_as_string.replace
    - smart_open.local_file.extract_local_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.dict
    functionSourceFile: <builtin>
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - uri_as_string
    - mode
    - transport_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 32
    functionName: smart_open.local_file.open_uri
    functionSourceFile: smart_open.local_file
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - smart_open.local_file.parse_uri
    - uri_as_string.startswith
    - os.path.expanduser
    - io.open
    - uri_as_string.replace
    - smart_open.local_file.extract_local_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.open
    functionSourceFile: io
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uri_as_string.startswith
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uri_as_string.replace
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.expanduser
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 11
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: smart_open.transport
    functionSourceFile: smart_open.transport
    functionUses: 0
    functionsReached:
    - importlib.import_module
    - smart_open.transport.register_transport
    - module_name.rsplit
    - <builtin>.isinstance
    - logging.getLogger
    - <builtin>.sorted
    - <builtin>.tuple
    - <builtin>.getattr
    - <builtin>.hasattr
    - _REGISTRY.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - submodule
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: smart_open.transport.register_transport
    functionSourceFile: smart_open.transport
    functionUses: 1
    functionsReached:
    - importlib.import_module
    - module_name.rsplit
    - <builtin>.isinstance
    - <builtin>.getattr
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.import_module
    functionSourceFile: importlib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: module_name.rsplit
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _REGISTRY.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: smart_open.doctools
    functionSourceFile: smart_open.doctools
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - docstring
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 26
    functionName: smart_open.doctools.extract_kwargs
    functionSourceFile: smart_open.doctools
    functionUses: 2
    functionsReached:
    - inspect.cleandoc
    - line.split
    - name.strip
    - line.startswith
    - line.strip
    - type_.strip
    - kwargs.append
    - lines.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.cleandoc
    functionSourceFile: inspect
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lines.pop
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.startswith
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: type_.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f67637698b0>
    argNames:
    - kwargs
    - lpad
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 107
    functionName: smart_open.doctools.to_docstring
    functionSourceFile: smart_open.doctools
    functionUses: 2
    functionsReached:
    - buf.getvalue
    - io.StringIO
    - buf.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.StringIO
    functionSourceFile: io
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.write
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.getvalue
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f67630f57f0>
    argNames:
    - indent
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 146
    functionName: smart_open.doctools.extract_examples_from_readme_rst
    functionSourceFile: smart_open.doctools
    functionUses: 2
    functionsReached:
    - <builtin>.list
    - os.path.dirname
    - re.sub
    - lines.index
    - <builtin>.open
    - os.path.abspath
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.abspath
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.dirname
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.join
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lines.index
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.sub
    functionSourceFile: re
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contextlib.redirect_stdout
    functionSourceFile: contextlib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.print
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: transport._REGISTRY.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: seen.add
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.relpath
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 53
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: submodule.__doc__.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.__doc__.replace
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: examples.extend
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: schemes.extend
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: schemes.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 7
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: smart_open.compression
    functionSourceFile: smart_open.compression
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - smart_open.compression.register_compressor
    - logger.warning
    - ext.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _COMPRESSOR_REGISTRY.keys
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ext.lower
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - outer
    - inner
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 74
    functionName: smart_open.compression.tweak_close
    functionSourceFile: smart_open.compression
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 87
    functionName: smart_open.compression.tweak_close.close_both
    functionSourceFile: smart_open.compression
    functionUses: 0
    functionsReached:
    - fp.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fp.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - file_obj
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 99
    functionName: smart_open.compression._maybe_wrap_buffered
    functionSourceFile: smart_open.compression
    functionUses: 4
    functionsReached:
    - io.BufferedWriter
    - io.BufferedReader
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BufferedWriter
    functionSourceFile: io
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BufferedReader
    functionSourceFile: io
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - file_obj
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 109
    functionName: smart_open.compression._handle_bz2
    functionSourceFile: smart_open.compression
    functionUses: 0
    functionsReached:
    - io.BufferedWriter
    - bz2.open
    - io.BufferedReader
    - smart_open.compression._maybe_wrap_buffered
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bz2.open
    functionSourceFile: bz2
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - file_obj
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 115
    functionName: smart_open.compression._handle_gzip
    functionSourceFile: smart_open.compression
    functionUses: 0
    functionsReached:
    - io.BufferedWriter
    - io.BufferedReader
    - smart_open.compression._maybe_wrap_buffered
    - gzip.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gzip.open
    functionSourceFile: gzip
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - file_obj
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 121
    functionName: smart_open.compression._handle_zstd
    functionSourceFile: smart_open.compression
    functionUses: 0
    functionsReached:
    - io.BufferedWriter
    - backports.zstd.open
    - compression.zstd.open
    - io.BufferedReader
    - smart_open.compression._maybe_wrap_buffered
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: backports.zstd.open
    functionSourceFile: backports
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: compression.zstd.open
    functionSourceFile: compression
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - file_obj
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 131
    functionName: smart_open.compression._handle_xz
    functionSourceFile: smart_open.compression
    functionUses: 0
    functionsReached:
    - io.BufferedWriter
    - lzma.open
    - io.BufferedReader
    - smart_open.compression._maybe_wrap_buffered
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lzma.open
    functionSourceFile: lzma
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mode.endswith
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: smart_open.utils
    functionSourceFile: smart_open.utils
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - kallable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: smart_open.utils.inspect_kwargs
    functionSourceFile: smart_open.utils
    functionUses: 9
    functionsReached:
    - <builtin>.zip
    - <builtin>.dict
    - signature.parameters.items
    - inspect.signature
    - inspect.getargspec
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.signature
    functionSourceFile: inspect
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.getargspec
    functionSourceFile: inspect
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.zip
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signature.parameters.items
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - kallable
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 54
    functionName: smart_open.utils.check_kwargs
    functionSourceFile: smart_open.utils
    functionUses: 8
    functionsReached:
    - <builtin>.zip
    - <builtin>.dict
    - logger.warning
    - smart_open.utils.inspect_kwargs
    - signature.parameters.items
    - kwargs.items
    - <builtin>.sorted
    - inspect.signature
    - inspect.getargspec
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.items
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6763769a30>
    - <ast.Constant object at 0x7f6763769970>
    argNames:
    - value
    - minval
    - maxval
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: smart_open.utils.clamp
    functionSourceFile: smart_open.utils
    functionUses: 4
    functionsReached:
    - <builtin>.max
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.min
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f67630f5610>
    - <ast.Constant object at 0x7f67630f59d0>
    argNames:
    - start
    - stop
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 106
    functionName: smart_open.utils.make_range_string
    functionSourceFile: smart_open.utils
    functionUses: 13
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - content_range
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 133
    functionName: smart_open.utils.parse_content_range
    functionSourceFile: smart_open.utils
    functionUses: 11
    functionsReached:
    - content_range.split
    - range.split
    - <builtin>.int
    - numbers.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: content_range.split
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: numbers.split
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: range.split
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 156
    functionName: smart_open.utils.safe_urlsplit
    functionSourceFile: smart_open.utils
    functionUses: 6
    functionsReached:
    - urllib.parse.SplitResult
    - urllib.parse.urlsplit
    - url.replace
    - sr.path.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url.replace
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sr.path.replace
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.SplitResult
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_val
    - exc_tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 198
    functionName: smart_open.utils.TextIOWrapper.__exit__
    functionSourceFile: smart_open.utils
    functionUses: 0
    functionsReached:
    - io.TextIOWrapper.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.TextIOWrapper.close
    functionSourceFile: io
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.super
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 217
    functionName: smart_open.utils.FileLikeProxy.__exit__
    functionSourceFile: smart_open.utils
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 224
    functionName: smart_open.utils.FileLikeProxy.__next__
    functionSourceFile: smart_open.utils
    functionUses: 0
    functionsReached:
    - wrapt.ObjectProxy.__wrapped__.__next__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: wrapt.ObjectProxy.__wrapped__.__next__
    functionSourceFile: wrapt
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 227
    functionName: smart_open.utils.FileLikeProxy.close
    functionSourceFile: smart_open.utils
    functionUses: 0
    functionsReached:
    - wrapt.ObjectProxy.__wrapped__.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: wrapt.ObjectProxy.__wrapped__.close
    functionSourceFile: wrapt
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: smart_open.s3
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - <builtin>.locals
    - smart_open.s3.Retry.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 85
    functionName: smart_open.s3.Retry.__init__
    functionSourceFile: smart_open.s3
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: smart_open.s3.Retry._do
    functionSourceFile: smart_open.s3
    functionUses: 7
    functionsReached:
    - time.sleep
    - logger.critical
    - logger.exception
    - <builtin>.tuple
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.critical
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.sleep
    functionSourceFile: time
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - client
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 137
    functionName: smart_open.s3._ClientWrapper.__init__
    functionSourceFile: smart_open.s3
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - method_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 141
    functionName: smart_open.s3._ClientWrapper.__getattr__
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached:
    - functools.partial
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.partial
    functionSourceFile: functools
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri_as_string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 147
    functionName: smart_open.s3.parse_uri
    functionSourceFile: smart_open.s3
    functionUses: 1
    functionsReached:
    - urllib.parse.SplitResult
    - url.replace
    - smart_open.utils.safe_urlsplit
    - <builtin>.dict
    - host_port.split
    - urllib.parse.urlsplit
    - maybe_auth.split
    - head.split
    - sr.path.replace
    - <builtin>.int
    - uri.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uri.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: maybe_auth.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: head.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: host_port.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 9
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - uri
    - transport_params
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 218
    functionName: smart_open.s3._consolidate_params
    functionSourceFile: smart_open.s3
    functionUses: 1
    functionsReached:
    - smart_open.s3._consolidate_params.inject
    - <builtin>.dict
    - logger.warning
    - transport_params.get
    - uri.update
    - init_kwargs.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 233
    functionName: smart_open.s3._consolidate_params.inject
    functionSourceFile: smart_open.s3
    functionUses: 2
    functionsReached:
    - init_kwargs.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: init_kwargs.update
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: transport_params.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uri.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - uri
    - mode
    - transport_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 279
    functionName: smart_open.s3.open_uri
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached:
    - url.replace
    - smart_open.utils.make_range_string
    - smart_open.utils.safe_urlsplit
    - <builtin>.zip
    - smart_open.s3.Reader.seek
    - smart_open.s3.Retry._do
    - smart_open.s3._SeekableRawReader._open_body
    - host_port.split
    - smart_open.s3._unwrap_ioerror
    - logger.critical
    - smart_open.s3._SeekableRawReader.__init__
    - smart_open.utils.clamp
    - smart_open.s3.parse_uri
    - kwargs.items
    - maybe_auth.split
    - smart_open.utils.parse_content_range
    - inspect.signature
    - smart_open.s3.MultipartWriter.__init__
    - smart_open.bytebuffer.ByteBuffer
    - botocore.client.Config
    - client_kwargs.get
    - urllib.parse.SplitResult
    - io.BytesIO
    - <builtin>.IOError
    - smart_open.s3._consolidate_params.inject
    - smart_open.s3.open
    - <builtin>.dict
    - transport_params.get
    - uri.update
    - numbers.split
    - <builtin>.range
    - logger.debug
    - smart_open.s3._SeekableRawReader.seek
    - inspect.getargspec
    - smart_open.utils.check_kwargs
    - init_kwargs.update
    - <builtin>.max
    - uri.split
    - error_response.get
    - smart_open.utils.inspect_kwargs
    - boto3.client
    - smart_open.s3._initialize_boto3
    - urllib.parse.urlsplit
    - smart_open.s3.Reader.__init__
    - smart_open.s3.SinglepartWriter.__init__
    - <builtin>.len
    - smart_open.s3._consolidate_params
    - sr.path.replace
    - <builtin>.int
    - <builtin>.locals
    - time.sleep
    - <builtin>.min
    - logger.warning
    - warnings.warn
    - content_range.split
    - smart_open.s3._ClientWrapper.__init__
    - logger.exception
    - smart_open.s3._SeekableRawReader.close
    - client.get_object
    - functools.partial
    - signature.parameters.items
    - <builtin>.str
    - writebuffer.seekable
    - smart_open.s3._get
    - range.split
    - <builtin>.tuple
    - <builtin>.sorted
    - head.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f6763122820>
    - <ast.Name object at 0x7f67631229a0>
    - <ast.Name object at 0x7f67631222b0>
    - <ast.Constant object at 0x7f6763122e50>
    - <ast.Constant object at 0x7f6763122580>
    - <ast.Constant object at 0x7f67631223d0>
    - <ast.Constant object at 0x7f6763122a90>
    - <ast.Constant object at 0x7f6763122b20>
    - <ast.Constant object at 0x7f6763122160>
    argNames:
    - bucket_id
    - key_id
    - mode
    - version_id
    - buffer_size
    - min_part_size
    - multipart_upload
    - defer_seek
    - client
    - client_kwargs
    - writebuffer
    - range_chunk_size
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 313
    functionName: smart_open.s3.open
    functionSourceFile: smart_open.s3
    functionUses: 1
    functionsReached:
    - smart_open.utils.make_range_string
    - smart_open.s3.Retry._do
    - logger.critical
    - smart_open.s3.Reader.seek
    - smart_open.s3._SeekableRawReader._open_body
    - smart_open.s3._unwrap_ioerror
    - smart_open.s3._SeekableRawReader.__init__
    - smart_open.utils.clamp
    - smart_open.utils.parse_content_range
    - smart_open.s3.MultipartWriter.__init__
    - smart_open.bytebuffer.ByteBuffer
    - client_kwargs.get
    - botocore.client.Config
    - io.BytesIO
    - <builtin>.IOError
    - <builtin>.dict
    - numbers.split
    - logger.debug
    - smart_open.s3._SeekableRawReader.seek
    - <builtin>.max
    - error_response.get
    - boto3.client
    - smart_open.s3._initialize_boto3
    - smart_open.s3.Reader.__init__
    - smart_open.s3.SinglepartWriter.__init__
    - <builtin>.len
    - <builtin>.int
    - <builtin>.locals
    - time.sleep
    - logger.warning
    - logger.exception
    - <builtin>.min
    - client.get_object
    - smart_open.s3._ClientWrapper.__init__
    - smart_open.s3._SeekableRawReader.close
    - content_range.split
    - functools.partial
    - <builtin>.str
    - writebuffer.seekable
    - smart_open.s3._get
    - range.split
    - <builtin>.tuple
    - <builtin>.range
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f6762f08a00>
    - <ast.Name object at 0x7f6762f08700>
    - <ast.Attribute object at 0x7f6762f08c70>
    - <ast.Constant object at 0x7f6762f08fd0>
    - <ast.Constant object at 0x7f6762f081c0>
    - <ast.Constant object at 0x7f6762f085e0>
    - <ast.Constant object at 0x7f6762f08b20>
    argNames:
    - self
    - bucket
    - key
    - version_id
    - buffer_size
    - line_terminator
    - defer_seek
    - client
    - client_kwargs
    - range_chunk_size
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 761
    functionName: smart_open.s3.Reader.__init__
    functionSourceFile: smart_open.s3
    functionUses: 2
    functionsReached:
    - smart_open.utils.make_range_string
    - smart_open.s3.Reader.seek
    - smart_open.s3._SeekableRawReader._open_body
    - smart_open.s3._unwrap_ioerror
    - smart_open.s3._SeekableRawReader.__init__
    - smart_open.utils.parse_content_range
    - smart_open.bytebuffer.ByteBuffer
    - botocore.client.Config
    - client_kwargs.get
    - io.BytesIO
    - <builtin>.IOError
    - <builtin>.dict
    - numbers.split
    - logger.debug
    - smart_open.s3._SeekableRawReader.seek
    - <builtin>.max
    - boto3.client
    - smart_open.s3._initialize_boto3
    - <builtin>.len
    - <builtin>.int
    - <builtin>.min
    - content_range.split
    - client.get_object
    - smart_open.s3._ClientWrapper.__init__
    - smart_open.s3._SeekableRawReader.close
    - <builtin>.str
    - smart_open.s3._get
    - range.split
    - error_response.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Name object at 0x7f6762893460>
    - <ast.Constant object at 0x7f6762893430>
    - <ast.Constant object at 0x7f6762893400>
    - <ast.Constant object at 0x7f67628933d0>
    argNames:
    - self
    - bucket
    - key
    - part_size
    - client
    - client_kwargs
    - writebuffer
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 977
    functionName: smart_open.s3.MultipartWriter.__init__
    functionSourceFile: smart_open.s3
    functionUses: 2
    functionsReached:
    - io.BytesIO
    - time.sleep
    - <builtin>.min
    - logger.warning
    - smart_open.s3.Retry._do
    - logger.critical
    - logger.exception
    - smart_open.s3._ClientWrapper.__init__
    - smart_open.utils.clamp
    - boto3.client
    - functools.partial
    - smart_open.s3._initialize_boto3
    - client_kwargs.get
    - <builtin>.tuple
    - <builtin>.range
    - <builtin>.max
    - botocore.client.Config
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6762a655e0>
    - <ast.Constant object at 0x7f6762a65610>
    - <ast.Constant object at 0x7f6762a65640>
    argNames:
    - self
    - bucket
    - key
    - client
    - client_kwargs
    - writebuffer
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1220
    functionName: smart_open.s3.SinglepartWriter.__init__
    functionSourceFile: smart_open.s3
    functionUses: 2
    functionsReached:
    - io.BytesIO
    - botocore.client.Config
    - smart_open.s3._ClientWrapper.__init__
    - boto3.client
    - smart_open.s3._initialize_boto3
    - writebuffer.seekable
    - client_kwargs.get
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - client
    - bucket
    - key
    - version
    - range_string
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 445
    functionName: smart_open.s3._get
    functionSourceFile: smart_open.s3
    functionUses: 11
    functionsReached:
    - client.get_object
    - <builtin>.IOError
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.get_object
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.IOError
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - ioe
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 464
    functionName: smart_open.s3._unwrap_ioerror
    functionSourceFile: smart_open.s3
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6762ff01f0>
    - <ast.Constant object at 0x7f6762ff05b0>
    argNames:
    - self
    - client
    - bucket
    - key
    - version_id
    - range_chunk_size
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 478
    functionName: smart_open.s3._SeekableRawReader.__init__
    functionSourceFile: smart_open.s3
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 497
    functionName: smart_open.s3._SeekableRawReader.closed
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 500
    functionName: smart_open.s3._SeekableRawReader.close
    functionSourceFile: smart_open.s3
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 5
    IfCount: 9
    argCount: 3
    argDefaultValues:
    - <ast.Attribute object at 0x7f67637305b0>
    argNames:
    - self
    - offset
    - whence
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 505
    functionName: smart_open.s3._SeekableRawReader.seek
    functionSourceFile: smart_open.s3
    functionUses: 4
    functionsReached:
    - smart_open.utils.make_range_string
    - smart_open.s3._SeekableRawReader._open_body
    - smart_open.s3._unwrap_ioerror
    - smart_open.utils.parse_content_range
    - <builtin>.IOError
    - io.BytesIO
    - <builtin>.dict
    - numbers.split
    - logger.debug
    - <builtin>.max
    - <builtin>.len
    - <builtin>.int
    - <builtin>.min
    - content_range.split
    - client.get_object
    - smart_open.s3._SeekableRawReader.close
    - <builtin>.str
    - smart_open.s3._get
    - range.split
    - error_response.get
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 4
    IfCount: 10
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f67637911c0>
    - <ast.Constant object at 0x7f67637915b0>
    argNames:
    - self
    - start
    - stop
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 559
    functionName: smart_open.s3._SeekableRawReader._open_body
    functionSourceFile: smart_open.s3
    functionUses: 10
    functionsReached:
    - smart_open.utils.make_range_string
    - smart_open.s3._unwrap_ioerror
    - smart_open.s3._SeekableRawReader._open_body
    - smart_open.utils.parse_content_range
    - <builtin>.IOError
    - io.BytesIO
    - <builtin>.dict
    - numbers.split
    - logger.debug
    - <builtin>.max
    - <builtin>.len
    - <builtin>.int
    - <builtin>.min
    - content_range.split
    - client.get_object
    - <builtin>.str
    - smart_open.s3._get
    - range.split
    - error_response.get
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO
    functionSourceFile: io
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_response.get
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6763799eb0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 661
    functionName: smart_open.s3._SeekableRawReader.read
    functionSourceFile: smart_open.s3
    functionUses: 3
    functionsReached:
    - smart_open.utils.make_range_string
    - smart_open.s3._SeekableRawReader._open_body
    - smart_open.s3._unwrap_ioerror
    - binary_collected.tell
    - binary_collected.getvalue
    - smart_open.utils.parse_content_range
    - <builtin>.IOError
    - io.BytesIO
    - <builtin>.dict
    - numbers.split
    - logger.debug
    - <builtin>.max
    - binary_collected.write
    - smart_open.s3._SeekableRawReader.read.retry_read
    - <builtin>.len
    - <builtin>.int
    - time.sleep
    - <builtin>.min
    - logger.warning
    - content_range.split
    - client.get_object
    - smart_open.s3._SeekableRawReader.close
    - <builtin>.str
    - smart_open.s3._get
    - range.split
    - error_response.get
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues:
    - <ast.Tuple object at 0x7f6763799af0>
    argNames:
    - attempts
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 684
    functionName: smart_open.s3._SeekableRawReader.read.retry_read
    functionSourceFile: smart_open.s3
    functionUses: 4
    functionsReached:
    - smart_open.utils.make_range_string
    - smart_open.s3._SeekableRawReader._open_body
    - smart_open.s3._unwrap_ioerror
    - binary_collected.tell
    - smart_open.utils.parse_content_range
    - <builtin>.IOError
    - io.BytesIO
    - <builtin>.dict
    - numbers.split
    - logger.debug
    - <builtin>.max
    - <builtin>.len
    - <builtin>.int
    - time.sleep
    - <builtin>.min
    - logger.warning
    - content_range.split
    - client.get_object
    - smart_open.s3._SeekableRawReader.close
    - <builtin>.str
    - smart_open.s3._get
    - range.split
    - error_response.get
    linkageType: pythonLinkage
    raised:
    - IOError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binary_collected.tell
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binary_collected.write
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binary_collected.getvalue
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 726
    functionName: smart_open.s3._SeekableRawReader.__str__
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argDefaultValues: []
    argNames:
    - rw
    - client
    - client_kwargs
    - bucket
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 730
    functionName: smart_open.s3._initialize_boto3
    functionSourceFile: smart_open.s3
    functionUses: 5
    functionsReached:
    - client_kwargs.get
    - smart_open.s3._ClientWrapper.__init__
    - botocore.client.Config
    - boto3.client
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client_kwargs.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.client.Config
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: boto3.client
    functionSourceFile: boto3
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: smart_open.bytebuffer.ByteBuffer
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Attribute object at 0x7f67630f5d60>
    argNames:
    - self
    - offset
    - whence
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 872
    functionName: smart_open.s3.Reader.seek
    functionSourceFile: smart_open.s3
    functionUses: 3
    functionsReached:
    - smart_open.utils.make_range_string
    - smart_open.s3._SeekableRawReader._open_body
    - smart_open.s3._unwrap_ioerror
    - smart_open.utils.parse_content_range
    - <builtin>.IOError
    - io.BytesIO
    - <builtin>.dict
    - numbers.split
    - logger.debug
    - smart_open.s3._SeekableRawReader.seek
    - <builtin>.max
    - <builtin>.len
    - <builtin>.int
    - <builtin>.min
    - content_range.split
    - client.get_object
    - smart_open.s3._SeekableRawReader.close
    - <builtin>.str
    - smart_open.s3._get
    - range.split
    - error_response.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 798
    functionName: smart_open.s3.Reader.close
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 803
    functionName: smart_open.s3.Reader.readable
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f67634d3a60>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 807
    functionName: smart_open.s3.Reader.read
    functionSourceFile: smart_open.s3
    functionUses: 2
    functionsReached:
    - smart_open.utils.make_range_string
    - smart_open.s3._SeekableRawReader._open_body
    - smart_open.s3._unwrap_ioerror
    - binary_collected.tell
    - binary_collected.getvalue
    - smart_open.utils.parse_content_range
    - smart_open.s3._SeekableRawReader.read
    - smart_open.s3.Reader._read_from_buffer
    - <builtin>.IOError
    - io.BytesIO
    - <builtin>.dict
    - numbers.split
    - logger.debug
    - <builtin>.max
    - binary_collected.write
    - smart_open.s3._SeekableRawReader.read.retry_read
    - <builtin>.len
    - <builtin>.int
    - time.sleep
    - <builtin>.min
    - logger.warning
    - content_range.split
    - client.get_object
    - smart_open.s3._SeekableRawReader.close
    - <builtin>.str
    - smart_open.s3._get
    - range.split
    - error_response.get
    - smart_open.s3.Reader._fill_buffer
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f67628a4dc0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 936
    functionName: smart_open.s3.Reader._read_from_buffer
    functionSourceFile: smart_open.s3
    functionUses: 3
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f67628a46d0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 943
    functionName: smart_open.s3.Reader._fill_buffer
    functionSourceFile: smart_open.s3
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - <builtin>.max
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f676398edf0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 832
    functionName: smart_open.s3.Reader.read1
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached:
    - smart_open.utils.make_range_string
    - smart_open.s3._SeekableRawReader._open_body
    - smart_open.s3._unwrap_ioerror
    - binary_collected.tell
    - binary_collected.getvalue
    - smart_open.utils.parse_content_range
    - smart_open.s3._SeekableRawReader.read
    - smart_open.s3.Reader._read_from_buffer
    - <builtin>.IOError
    - io.BytesIO
    - <builtin>.dict
    - numbers.split
    - smart_open.s3.Reader.read
    - logger.debug
    - <builtin>.max
    - binary_collected.write
    - smart_open.s3._SeekableRawReader.read.retry_read
    - <builtin>.len
    - <builtin>.int
    - time.sleep
    - <builtin>.min
    - logger.warning
    - content_range.split
    - client.get_object
    - smart_open.s3._SeekableRawReader.close
    - <builtin>.str
    - smart_open.s3._get
    - range.split
    - error_response.get
    - smart_open.s3.Reader._fill_buffer
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 836
    functionName: smart_open.s3.Reader.readinto
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached:
    - smart_open.utils.make_range_string
    - smart_open.s3._SeekableRawReader._open_body
    - smart_open.s3._unwrap_ioerror
    - binary_collected.tell
    - binary_collected.getvalue
    - smart_open.utils.parse_content_range
    - smart_open.s3._SeekableRawReader.read
    - smart_open.s3.Reader._read_from_buffer
    - <builtin>.IOError
    - io.BytesIO
    - <builtin>.dict
    - numbers.split
    - smart_open.s3.Reader.read
    - logger.debug
    - <builtin>.max
    - binary_collected.write
    - smart_open.s3._SeekableRawReader.read.retry_read
    - <builtin>.len
    - <builtin>.int
    - time.sleep
    - <builtin>.min
    - logger.warning
    - content_range.split
    - client.get_object
    - smart_open.s3._SeekableRawReader.close
    - <builtin>.str
    - smart_open.s3._get
    - range.split
    - error_response.get
    - smart_open.s3.Reader._fill_buffer
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6762f80580>
    argNames:
    - self
    - limit
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 845
    functionName: smart_open.s3.Reader.readline
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached:
    - io.BytesIO
    - line_part.endswith
    - logger.debug
    - line.getvalue
    - <builtin>.len
    - line.write
    - <builtin>.max
    - smart_open.s3.Reader._fill_buffer
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.write
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line_part.endswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.getvalue
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 866
    functionName: smart_open.s3.Reader.seekable
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 905
    functionName: smart_open.s3.Reader.tell
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f676306f700>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 909
    functionName: smart_open.s3.Reader.truncate
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 913
    functionName: smart_open.s3.Reader.detach
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 917
    functionName: smart_open.s3.Reader.terminate
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - resource
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 921
    functionName: smart_open.s3.Reader.to_boto3
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached:
    - resource.Object
    - obj.Version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resource.Object
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.Version
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 951
    functionName: smart_open.s3.Reader.__str__
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 954
    functionName: smart_open.s3.Reader.__repr__
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1020
    functionName: smart_open.s3.MultipartWriter.flush
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 8
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1026
    functionName: smart_open.s3.MultipartWriter.close
    functionSourceFile: smart_open.s3
    functionUses: 1
    functionsReached:
    - smart_open.s3.MultipartWriter._upload_next_part
    - smart_open.s3.Retry._do
    - time.sleep
    - logger.critical
    - logger.exception
    - io.BufferedIOBase._parts.append
    - functools.partial
    - <builtin>.tuple
    - logger.debug
    - <builtin>.range
    - logger.info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1155
    functionName: smart_open.s3.MultipartWriter._upload_next_part
    functionSourceFile: smart_open.s3
    functionUses: 3
    functionsReached:
    - time.sleep
    - smart_open.s3.Retry._do
    - logger.critical
    - logger.exception
    - io.BufferedIOBase._parts.append
    - functools.partial
    - <builtin>.tuple
    - logger.debug
    - <builtin>.range
    - logger.info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1067
    functionName: smart_open.s3.MultipartWriter.closed
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1070
    functionName: smart_open.s3.MultipartWriter.writable
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1074
    functionName: smart_open.s3.MultipartWriter.seekable
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Attribute object at 0x7f6762a4c160>
    argNames:
    - self
    - offset
    - whence
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1080
    functionName: smart_open.s3.MultipartWriter.seek
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6762a4c3a0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1084
    functionName: smart_open.s3.MultipartWriter.truncate
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1088
    functionName: smart_open.s3.MultipartWriter.tell
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1095
    functionName: smart_open.s3.MultipartWriter.detach
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1098
    functionName: smart_open.s3.MultipartWriter.write
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached:
    - <builtin>.memoryview
    - smart_open.s3.MultipartWriter._upload_next_part
    - logger.info
    - smart_open.s3.Retry._do
    - time.sleep
    - logger.critical
    - io.BufferedIOBase._parts.append
    - logger.exception
    - functools.partial
    - <builtin>.tuple
    - logger.debug
    - <builtin>.range
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.memoryview
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1131
    functionName: smart_open.s3.MultipartWriter.terminate
    functionSourceFile: smart_open.s3
    functionUses: 1
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - resource
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1144
    functionName: smart_open.s3.MultipartWriter.to_boto3
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached:
    - resource.Object
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.info
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BufferedIOBase._parts.append
    functionSourceFile: io
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1191
    functionName: smart_open.s3.MultipartWriter.__enter__
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_val
    - exc_tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1194
    functionName: smart_open.s3.MultipartWriter.__exit__
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached:
    - smart_open.s3.MultipartWriter.terminate
    - smart_open.s3.MultipartWriter._upload_next_part
    - smart_open.s3.Retry._do
    - time.sleep
    - logger.critical
    - logger.exception
    - logger.info
    - io.BufferedIOBase._parts.append
    - functools.partial
    - <builtin>.tuple
    - logger.debug
    - <builtin>.range
    - smart_open.s3.MultipartWriter.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1200
    functionName: smart_open.s3.MultipartWriter.__str__
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1203
    functionName: smart_open.s3.MultipartWriter.__repr__
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: writebuffer.seekable
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1237
    functionName: smart_open.s3.SinglepartWriter.flush
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1243
    functionName: smart_open.s3.SinglepartWriter.close
    functionSourceFile: smart_open.s3
    functionUses: 1
    functionsReached:
    - smart_open.s3.SinglepartWriter.seek
    - logger.debug
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Attribute object at 0x7f6762a303d0>
    argNames:
    - self
    - offset
    - whence
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1280
    functionName: smart_open.s3.SinglepartWriter.seek
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1265
    functionName: smart_open.s3.SinglepartWriter.closed
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1268
    functionName: smart_open.s3.SinglepartWriter.readable
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1272
    functionName: smart_open.s3.SinglepartWriter.writable
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1276
    functionName: smart_open.s3.SinglepartWriter.seekable
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6762a30700>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1284
    functionName: smart_open.s3.SinglepartWriter.truncate
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1288
    functionName: smart_open.s3.SinglepartWriter.tell
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1292
    functionName: smart_open.s3.SinglepartWriter.write
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6762a30eb0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1300
    functionName: smart_open.s3.SinglepartWriter.read
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6762a3a1f0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1304
    functionName: smart_open.s3.SinglepartWriter.read1
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1308
    functionName: smart_open.s3.SinglepartWriter.terminate
    functionSourceFile: smart_open.s3
    functionUses: 1
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1316
    functionName: smart_open.s3.SinglepartWriter.__enter__
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_val
    - exc_tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1319
    functionName: smart_open.s3.SinglepartWriter.__exit__
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached:
    - smart_open.s3.SinglepartWriter.close
    - smart_open.s3.SinglepartWriter.terminate
    - smart_open.s3.SinglepartWriter.seek
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1325
    functionName: smart_open.s3.SinglepartWriter.__str__
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1328
    functionName: smart_open.s3.SinglepartWriter.__repr__
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1332
    functionName: smart_open.s3._accept_all
    functionSourceFile: smart_open.s3
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: boto3.session.Session
    functionSourceFile: boto3
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: session.client
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: boto3.s3.transfer.TransferConfig
    functionSourceFile: boto3
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - bucket_name
    - client
    - prefix
    - accept_key
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1477
    functionName: smart_open.s3._list_bucket
    functionSourceFile: smart_open.s3
    functionUses: 2
    functionsReached:
    - client.list_objects_v2
    - <builtin>.dict
    - smart_open.s3._accept_all
    - smart_open.s3.<lambda1>
    - response.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itertools.islice
    functionSourceFile: itertools
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: smart_open.concurrency.ThreadPoolExecutor
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: executor.imap
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.enumerate
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.list_objects_v2
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: smart_open.s3.<lambda1>
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - key_name
    - client
    - bucket_name
    - retries
    - transfer_config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1508
    functionName: smart_open.s3._download_key
    functionSourceFile: smart_open.s3
    functionUses: 0
    functionsReached:
    - io.BytesIO
    - client.download_fileobj
    - buf.getvalue
    - smart_open.s3._download_fileobj
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - client
    - bucket_name
    - key_name
    - transfer_config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1536
    functionName: smart_open.s3._download_fileobj
    functionSourceFile: smart_open.s3
    functionUses: 1
    functionsReached:
    - io.BytesIO
    - buf.getvalue
    - client.download_fileobj
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.download_fileobj
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: smart_open.concurrency
    functionSourceFile: smart_open.concurrency
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - fn
    - iterables
    - timeout
    - queued_tasks_per_worker
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 23
    functionName: smart_open.concurrency.ThreadPoolExecutor.imap
    functionSourceFile: smart_open.concurrency
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - collections.deque
    - collections.deque.popleft
    - concurrent.futures.ThreadPoolExecutor.submit
    - smart_open.concurrency.ThreadPoolExecutor.imap.get
    - collections.deque.append
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque
    functionSourceFile: collections
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: smart_open.concurrency.ThreadPoolExecutor.imap.get
    functionSourceFile: smart_open.concurrency
    functionUses: 1
    functionsReached:
    - collections.deque.popleft
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque.popleft
    functionSourceFile: collections
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: concurrent.futures.ThreadPoolExecutor.submit
    functionSourceFile: concurrent
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque.append
    functionSourceFile: collections
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - max_workers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: smart_open.concurrency.ConcurrentFuturesPool.__init__
    functionSourceFile: smart_open.concurrency
    functionUses: 1
    functionsReached:
    - concurrent.futures.ThreadPoolExecutor.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: concurrent.futures.ThreadPoolExecutor.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - function
    - items
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: smart_open.concurrency.ConcurrentFuturesPool.imap_unordered
    functionSourceFile: smart_open.concurrency
    functionUses: 0
    functionsReached:
    - concurrent.futures.ThreadPoolExecutor.submit
    - future.result
    - concurrent.futures.as_completed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: concurrent.futures.as_completed
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: future.result
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 78
    functionName: smart_open.concurrency.ConcurrentFuturesPool.terminate
    functionSourceFile: smart_open.concurrency
    functionUses: 1
    functionsReached:
    - concurrent.futures.ThreadPoolExecutor.shutdown
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: concurrent.futures.ThreadPoolExecutor.shutdown
    functionSourceFile: concurrent
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contextlib.contextmanager
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f6762eb5700>
    argNames:
    - processes
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 83
    functionName: smart_open.concurrency.create_pool
    functionSourceFile: smart_open.concurrency
    functionUses: 0
    functionsReached:
    - smart_open.concurrency.ConcurrentFuturesPool.__init__
    - concurrent.futures.ThreadPoolExecutor.shutdown
    - smart_open.concurrency.ConcurrentFuturesPool.terminate
    - concurrent.futures.ThreadPoolExecutor.__init__
    - logger.info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: smart_open.bytebuffer
    functionSourceFile: smart_open.bytebuffer
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Attribute object at 0x7f6762ff2730>
    argNames:
    - self
    - chunk_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 56
    functionName: smart_open.bytebuffer.ByteBuffer.__init__
    functionSourceFile: smart_open.bytebuffer
    functionUses: 1
    functionsReached:
    - <builtin>.bytearray
    - smart_open.bytebuffer.ByteBuffer.empty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: smart_open.bytebuffer.ByteBuffer.empty
    functionSourceFile: smart_open.bytebuffer
    functionUses: 3
    functionsReached:
    - <builtin>.bytearray
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: smart_open.bytebuffer.ByteBuffer.__len__
    functionSourceFile: smart_open.bytebuffer
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6762ff2a60>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 73
    functionName: smart_open.bytebuffer.ByteBuffer.read
    functionSourceFile: smart_open.bytebuffer
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - <builtin>.bytes
    - smart_open.bytebuffer.ByteBuffer.peek
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6762e417c0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: smart_open.bytebuffer.ByteBuffer.peek
    functionSourceFile: smart_open.bytebuffer
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - <builtin>.bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bytes
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bytearray
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6763731b80>
    argNames:
    - self
    - source
    - size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 116
    functionName: smart_open.bytebuffer.ByteBuffer.fill
    functionSourceFile: smart_open.bytebuffer
    functionUses: 3
    functionsReached:
    - <builtin>.min
    - <builtin>.bytearray
    - <builtin>.len
    - <builtin>.hasattr
    - source.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: source.read
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - terminator
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 163
    functionName: smart_open.bytebuffer.ByteBuffer.readline
    functionSourceFile: smart_open.bytebuffer
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.bytes
    - smart_open.bytebuffer.ByteBuffer.read
    - smart_open.bytebuffer.ByteBuffer.peek
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: smart_open.constants
    functionSourceFile: smart_open.constants
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: smart_open.gcs
    functionSourceFile: smart_open.gcs
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri_as_string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 36
    functionName: smart_open.gcs.parse_uri
    functionSourceFile: smart_open.gcs
    functionUses: 1
    functionsReached:
    - urllib.parse.SplitResult
    - url.replace
    - smart_open.utils.safe_urlsplit
    - sr.path.lstrip
    - <builtin>.dict
    - urllib.parse.urlsplit
    - sr.path.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sr.path.lstrip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - uri
    - mode
    - transport_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 44
    functionName: smart_open.gcs.open_uri
    functionSourceFile: smart_open.gcs
    functionUses: 0
    functionsReached:
    - url.replace
    - smart_open.utils.safe_urlsplit
    - <builtin>.zip
    - sr.path.lstrip
    - smart_open.gcs.warn_deprecated
    - kwargs.items
    - <builtin>.setattr
    - inspect.signature
    - urllib.parse.SplitResult
    - client.bucket
    - <builtin>.dict
    - blob.open
    - g_blob.open
    - inspect.getargspec
    - blob_properties.items
    - smart_open.utils.check_kwargs
    - bkt.get_blob
    - smart_open.utils.inspect_kwargs
    - urllib.parse.urlsplit
    - <builtin>.len
    - smart_open.gcs.parse_uri
    - sr.path.replace
    - smart_open.gcs.open
    - google.cloud.storage.Client
    - logger.warning
    - warnings.warn
    - smart_open.gcs.Writer
    - smart_open.gcs.Reader
    - signature.parameters.items
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f676356bac0>
    - <ast.Name object at 0x7f676356b370>
    - <ast.Constant object at 0x7f676356bdf0>
    - <ast.Constant object at 0x7f676356b970>
    - <ast.Constant object at 0x7f676356b190>
    - <ast.Constant object at 0x7f676356b100>
    argNames:
    - bucket_id
    - blob_id
    - mode
    - buffer_size
    - min_part_size
    - client
    - get_blob_kwargs
    - blob_properties
    - blob_open_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 55
    functionName: smart_open.gcs.open
    functionSourceFile: smart_open.gcs
    functionUses: 1
    functionsReached:
    - bkt.get_blob
    - client.bucket
    - google.cloud.storage.Client
    - smart_open.gcs.warn_deprecated
    - blob.open
    - smart_open.gcs.Writer
    - warnings.warn
    - g_blob.open
    - smart_open.gcs.Reader
    - <builtin>.setattr
    - blob_properties.items
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - parameter_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 50
    functionName: smart_open.gcs.warn_deprecated
    functionSourceFile: smart_open.gcs
    functionUses: 3
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f67630dcf70>
    - <ast.Constant object at 0x7f67630dcb50>
    - <ast.Constant object at 0x7f67630dcac0>
    - <ast.Constant object at 0x7f67630dcee0>
    - <ast.Constant object at 0x7f67630dcd00>
    argNames:
    - bucket
    - key
    - buffer_size
    - line_terminator
    - client
    - get_blob_kwargs
    - blob_open_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 119
    functionName: smart_open.gcs.Reader
    functionSourceFile: smart_open.gcs
    functionUses: 2
    functionsReached:
    - bkt.get_blob
    - client.bucket
    - google.cloud.storage.Client
    - smart_open.gcs.warn_deprecated
    - blob.open
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f6763730160>
    - <ast.Constant object at 0x7f6763730eb0>
    - <ast.Constant object at 0x7f6763730970>
    - <ast.Constant object at 0x7f6763730520>
    argNames:
    - bucket
    - blob
    - min_part_size
    - client
    - blob_properties
    - blob_open_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 147
    functionName: smart_open.gcs.Writer
    functionSourceFile: smart_open.gcs
    functionUses: 2
    functionsReached:
    - client.bucket
    - google.cloud.storage.Client
    - g_blob.open
    - <builtin>.setattr
    - blob_properties.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: google.cloud.storage.Client
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.bucket
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bkt.get_blob
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: blob.open
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: blob_properties.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: g_blob.open
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: smart_open.gcs.Writer.<lambda1>
    functionSourceFile: smart_open.gcs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: smart_open.hdfs
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri_as_string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: smart_open.hdfs.parse_uri
    functionSourceFile: smart_open.hdfs
    functionUses: 1
    functionsReached:
    - uri_path.lstrip
    - urllib.parse.urlsplit
    - <builtin>.dict
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uri_path.lstrip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - uri
    - mode
    - transport_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 42
    functionName: smart_open.hdfs.open_uri
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached:
    - smart_open.hdfs.parse_uri
    - <builtin>.zip
    - subprocess.Popen
    - <builtin>.dict
    - logger.warning
    - smart_open.hdfs.open
    - smart_open.hdfs.CliRawInputBase.__init__
    - smart_open.hdfs.CliRawOutputBase.__init__
    - smart_open.utils.inspect_kwargs
    - urllib.parse.urlsplit
    - kwargs.items
    - signature.parameters.items
    - <builtin>.sorted
    - inspect.signature
    - inspect.getargspec
    - <builtin>.len
    - smart_open.utils.check_kwargs
    - uri_path.lstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - uri
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 51
    functionName: smart_open.hdfs.open
    functionSourceFile: smart_open.hdfs
    functionUses: 1
    functionsReached:
    - smart_open.hdfs.CliRawInputBase.__init__
    - subprocess.Popen
    - smart_open.hdfs.CliRawOutputBase.__init__
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - uri
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 67
    functionName: smart_open.hdfs.CliRawInputBase.__init__
    functionSourceFile: smart_open.hdfs
    functionUses: 2
    functionsReached:
    - subprocess.Popen
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - uri
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: smart_open.hdfs.CliRawOutputBase.__init__
    functionSourceFile: smart_open.hdfs
    functionUses: 2
    functionsReached:
    - subprocess.Popen
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: subprocess.Popen
    functionSourceFile: subprocess
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 74
    functionName: smart_open.hdfs.CliRawInputBase.close
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 82
    functionName: smart_open.hdfs.CliRawInputBase.closed
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 85
    functionName: smart_open.hdfs.CliRawInputBase.readable
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 89
    functionName: smart_open.hdfs.CliRawInputBase.seekable
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 96
    functionName: smart_open.hdfs.CliRawInputBase.detach
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6763121cd0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 100
    functionName: smart_open.hdfs.CliRawInputBase.read
    functionSourceFile: smart_open.hdfs
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6763121310>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 104
    functionName: smart_open.hdfs.CliRawInputBase.read1
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached:
    - smart_open.hdfs.CliRawInputBase.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: smart_open.hdfs.CliRawInputBase.readinto
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - smart_open.hdfs.CliRawInputBase.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 130
    functionName: smart_open.hdfs.CliRawOutputBase.close
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached:
    - smart_open.hdfs.CliRawOutputBase.flush
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 142
    functionName: smart_open.hdfs.CliRawOutputBase.flush
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 139
    functionName: smart_open.hdfs.CliRawOutputBase.closed
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 145
    functionName: smart_open.hdfs.CliRawOutputBase.writeable
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 149
    functionName: smart_open.hdfs.CliRawOutputBase.seekable
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 153
    functionName: smart_open.hdfs.CliRawOutputBase.write
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 159
    functionName: smart_open.hdfs.CliRawOutputBase.detach
    functionSourceFile: smart_open.hdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: smart_open.http
    functionSourceFile: smart_open.http
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri_as_string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: smart_open.http.parse_uri
    functionSourceFile: smart_open.http
    functionUses: 0
    functionsReached:
    - uri_path.lstrip
    - urllib.parse.urlsplit
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - uri
    - mode
    - transport_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 47
    functionName: smart_open.http.open_uri
    functionSourceFile: smart_open.http
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.zip
    - <builtin>.dict
    - os.path.basename
    - logger.warning
    - smart_open.http.open
    - smart_open.utils.inspect_kwargs
    - smart_open.http.SeekableBufferedInputBase.__init__
    - urllib.parse.urlparse
    - signature.parameters.items
    - kwargs.items
    - <builtin>.sorted
    - inspect.signature
    - inspect.getargspec
    - <builtin>.len
    - smart_open.utils.check_kwargs
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f6762fa1eb0>
    - <ast.Constant object at 0x7f6762fa1130>
    - <ast.Constant object at 0x7f6762fa16d0>
    - <ast.Constant object at 0x7f6762fa1250>
    - <ast.Constant object at 0x7f6762fa1940>
    - <ast.Constant object at 0x7f6762fa1c40>
    - <ast.Constant object at 0x7f6762fa17f0>
    - <ast.Name object at 0x7f6762fa1ca0>
    argNames:
    - uri
    - mode
    - kerberos
    - user
    - password
    - cert
    - headers
    - timeout
    - session
    - buffer_size
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 52
    functionName: smart_open.http.open
    functionSourceFile: smart_open.http
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - os.path.basename
    - urllib.parse.urlparse
    - smart_open.http.SeekableBufferedInputBase.__init__
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7f67630dd910>
    - <ast.Name object at 0x7f67630dd9d0>
    - <ast.Constant object at 0x7f67630dd850>
    - <ast.Constant object at 0x7f67630dda60>
    - <ast.Constant object at 0x7f67630ddc10>
    - <ast.Constant object at 0x7f67630ddd60>
    - <ast.Constant object at 0x7f67630ddd30>
    - <ast.Constant object at 0x7f67630ddca0>
    - <ast.Constant object at 0x7f67630dd2b0>
    argNames:
    - self
    - url
    - mode
    - buffer_size
    - kerberos
    - user
    - password
    - cert
    - headers
    - session
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 218
    functionName: smart_open.http.SeekableBufferedInputBase.__init__
    functionSourceFile: smart_open.http
    functionUses: 2
    functionsReached:
    - <builtin>.super
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlparse
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.basename
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7f6763758be0>
    - <ast.Name object at 0x7f6763758370>
    - <ast.Constant object at 0x7f6763758c10>
    - <ast.Constant object at 0x7f6763758100>
    - <ast.Constant object at 0x7f6763758730>
    - <ast.Constant object at 0x7f67637587f0>
    - <ast.Constant object at 0x7f6763758af0>
    - <ast.Constant object at 0x7f67637588b0>
    - <ast.Constant object at 0x7f67637586a0>
    argNames:
    - self
    - url
    - mode
    - buffer_size
    - kerberos
    - user
    - password
    - cert
    - headers
    - session
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 103
    functionName: smart_open.http.BufferedInputBase.__init__
    functionSourceFile: smart_open.http
    functionUses: 0
    functionsReached:
    - smart_open.bytebuffer.ByteBuffer.empty
    - smart_open.bytebuffer.ByteBuffer.__init__
    - _HEADERS.copy
    - <builtin>.bytearray
    - requests_kerberos.HTTPKerberosAuth
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: requests_kerberos.HTTPKerberosAuth
    functionSourceFile: requests_kerberos
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _HEADERS.copy
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 147
    functionName: smart_open.http.BufferedInputBase.close
    functionSourceFile: smart_open.http
    functionUses: 0
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 155
    functionName: smart_open.http.BufferedInputBase.closed
    functionSourceFile: smart_open.http
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 158
    functionName: smart_open.http.BufferedInputBase.readable
    functionSourceFile: smart_open.http
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 162
    functionName: smart_open.http.BufferedInputBase.seekable
    functionSourceFile: smart_open.http
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 168
    functionName: smart_open.http.BufferedInputBase.detach
    functionSourceFile: smart_open.http
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6762f08fa0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 172
    functionName: smart_open.http.BufferedInputBase.read
    functionSourceFile: smart_open.http
    functionUses: 2
    functionsReached:
    - smart_open.bytebuffer.ByteBuffer.read
    - smart_open.bytebuffer.ByteBuffer.fill
    - logger.debug
    - <builtin>.min
    - source.read
    - <builtin>.bytearray
    - smart_open.bytebuffer.ByteBuffer.peek
    - <builtin>.len
    - <builtin>.bytes
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6763735190>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 198
    functionName: smart_open.http.BufferedInputBase.read1
    functionSourceFile: smart_open.http
    functionUses: 0
    functionsReached:
    - smart_open.bytebuffer.ByteBuffer.read
    - smart_open.bytebuffer.ByteBuffer.fill
    - logger.debug
    - <builtin>.min
    - source.read
    - smart_open.http.BufferedInputBase.read
    - <builtin>.bytearray
    - smart_open.bytebuffer.ByteBuffer.peek
    - <builtin>.len
    - <builtin>.bytes
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 202
    functionName: smart_open.http.BufferedInputBase.readinto
    functionSourceFile: smart_open.http
    functionUses: 0
    functionsReached:
    - smart_open.bytebuffer.ByteBuffer.read
    - smart_open.bytebuffer.ByteBuffer.fill
    - <builtin>.min
    - smart_open.http.BufferedInputBase.read
    - <builtin>.bytearray
    - logger.debug
    - smart_open.bytebuffer.ByteBuffer.peek
    - <builtin>.len
    - <builtin>.hasattr
    - source.read
    - <builtin>.bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 5
    IfCount: 9
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f676306f1c0>
    argNames:
    - self
    - offset
    - whence
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 238
    functionName: smart_open.http.SeekableBufferedInputBase.seek
    functionSourceFile: smart_open.http
    functionUses: 0
    functionsReached:
    - smart_open.http.SeekableBufferedInputBase._partial_request
    - smart_open.utils.make_range_string
    - smart_open.bytebuffer.ByteBuffer.empty
    - <builtin>.min
    - smart_open.http.SeekableBufferedInputBase.seekable
    - smart_open.utils.clamp
    - <builtin>.bytearray
    - <builtin>.str
    - logger.debug
    - <builtin>.max
    linkageType: pythonLinkage
    raised:
    - ValueError
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 287
    functionName: smart_open.http.SeekableBufferedInputBase.seekable
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6762f803d0>
    argNames:
    - self
    - start_pos
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 294
    functionName: smart_open.http.SeekableBufferedInputBase._partial_request
    functionSourceFile: smart_open.http
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - smart_open.utils.make_range_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 284
    functionName: smart_open.http.SeekableBufferedInputBase.tell
    functionSourceFile: smart_open.http
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6762f803a0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 290
    functionName: smart_open.http.SeekableBufferedInputBase.truncate
    functionSourceFile: smart_open.http
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: smart_open.webhdfs
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri_as_str
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: smart_open.webhdfs.parse_uri
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - uri
    - mode
    - transport_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 43
    functionName: smart_open.webhdfs.open_uri
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - kwargs.items
    - inspect.signature
    - urllib.parse.urlunsplit
    - http_uri.split
    - smart_open.webhdfs._convert_to_http_uri
    - <builtin>.dict
    - smart_open.webhdfs.BufferedInputBase.__init__
    - inspect.getargspec
    - smart_open.utils.check_kwargs
    - requests.put
    - smart_open.webhdfs.open
    - smart_open.webhdfs.BufferedOutputBase.__init__
    - smart_open.utils.inspect_kwargs
    - urllib.parse.urlsplit
    - <builtin>.len
    - urllib.parse.quote
    - http_uri.startswith
    - logger.warning
    - requests.get
    - signature.parameters.items
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f676303c940>
    argNames:
    - http_uri
    - mode
    - min_part_size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 48
    functionName: smart_open.webhdfs.open
    functionSourceFile: smart_open.webhdfs
    functionUses: 1
    functionsReached:
    - urllib.parse.quote
    - http_uri.split
    - http_uri.startswith
    - smart_open.webhdfs._convert_to_http_uri
    - requests.get
    - smart_open.webhdfs.BufferedOutputBase.__init__
    - smart_open.webhdfs.BufferedInputBase.__init__
    - urllib.parse.urlsplit
    - urllib.parse.urlunsplit
    - requests.put
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http_uri.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - webhdfs_url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 72
    functionName: smart_open.webhdfs._convert_to_http_uri
    functionSourceFile: smart_open.webhdfs
    functionUses: 3
    functionsReached:
    - urllib.parse.urlsplit
    - urllib.parse.urlunsplit
    - urllib.parse.quote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - uri
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 106
    functionName: smart_open.webhdfs.BufferedInputBase.__init__
    functionSourceFile: smart_open.webhdfs
    functionUses: 2
    functionsReached:
    - requests.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f6763770fd0>
    argNames:
    - self
    - uri
    - min_part_size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 191
    functionName: smart_open.webhdfs.BufferedOutputBase.__init__
    functionSourceFile: smart_open.webhdfs
    functionUses: 2
    functionsReached:
    - requests.put
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http_uri.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.quote
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlunsplit
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - parsed_uri
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 99
    functionName: smart_open.webhdfs.convert_to_http_uri
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached:
    - urllib.parse.urlsplit
    - urllib.parse.urlunsplit
    - smart_open.webhdfs._convert_to_http_uri
    - urllib.parse.quote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: requests.get
    functionSourceFile: requests
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 118
    functionName: smart_open.webhdfs.BufferedInputBase.close
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 125
    functionName: smart_open.webhdfs.BufferedInputBase.closed
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 128
    functionName: smart_open.webhdfs.BufferedInputBase.readable
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 132
    functionName: smart_open.webhdfs.BufferedInputBase.seekable
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 141
    functionName: smart_open.webhdfs.BufferedInputBase.detach
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6762f4d8e0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 145
    functionName: smart_open.webhdfs.BufferedInputBase.read
    functionSourceFile: smart_open.webhdfs
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - buffers.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buffers.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6762e41130>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 172
    functionName: smart_open.webhdfs.BufferedInputBase.read1
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - smart_open.webhdfs.BufferedInputBase.read
    - buffers.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 176
    functionName: smart_open.webhdfs.BufferedInputBase.readinto
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - smart_open.webhdfs.BufferedInputBase.read
    - buffers.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 185
    functionName: smart_open.webhdfs.BufferedInputBase.readline
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: requests.put
    functionSourceFile: requests
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 219
    functionName: smart_open.webhdfs.BufferedOutputBase.writable
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 226
    functionName: smart_open.webhdfs.BufferedOutputBase.detach
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 229
    functionName: smart_open.webhdfs.BufferedOutputBase._upload
    functionSourceFile: smart_open.webhdfs
    functionUses: 2
    functionsReached:
    - requests.post
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: requests.post
    functionSourceFile: requests
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 240
    functionName: smart_open.webhdfs.BufferedOutputBase.write
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached:
    - requests.post
    - <builtin>.isinstance
    - logger.debug
    - smart_open.webhdfs.BufferedOutputBase._upload
    - logger.info
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ValueError
    - TypeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 266
    functionName: smart_open.webhdfs.BufferedOutputBase.close
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached:
    - logger.info
    - requests.post
    - logger.debug
    - smart_open.webhdfs.BufferedOutputBase._upload
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 278
    functionName: smart_open.webhdfs.BufferedOutputBase.closed
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f6762ff0580>
    - <ast.Constant object at 0x7f6762ff05e0>
    argNames:
    - self
    - msg
    - status_code
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 283
    functionName: smart_open.webhdfs.WebHdfsException.__init__
    functionSourceFile: smart_open.webhdfs
    functionUses: 1
    functionsReached:
    - <builtin>.repr
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 288
    functionName: smart_open.webhdfs.WebHdfsException.__repr__
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 294
    functionName: smart_open.webhdfs.WebHdfsException.from_response
    functionSourceFile: smart_open.webhdfs
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - <builtin>.super
    - smart_open.webhdfs.WebHdfsException.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: smart_open.ftp
    functionSourceFile: smart_open.ftp
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: smart_open.ftp._unquote
    functionSourceFile: smart_open.ftp
    functionUses: 2
    functionsReached:
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.unquote
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri_as_string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 40
    functionName: smart_open.ftp.parse_uri
    functionSourceFile: smart_open.ftp
    functionUses: 1
    functionsReached:
    - smart_open.ftp._unquote
    - <builtin>.dict
    - urllib.parse.unquote
    - urllib.parse.urlsplit
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - uri
    - mode
    - transport_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 53
    functionName: smart_open.ftp.open_uri
    functionSourceFile: smart_open.ftp
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - socket.makefile
    - logger.error
    - ssl.create_default_context
    - ftplib.FTP.prot_p
    - kwargs.items
    - inspect.signature
    - ftplib.FTP_TLS.voidcmd
    - ftplib.FTP_TLS.transfercmd
    - parsed_uri.pop
    - types.MethodType
    - ftplib.FTP_TLS
    - smart_open.ftp.convert_transport_params_to_args
    - smart_open.ftp._unquote
    - <builtin>.dict
    - smart_open.ftp._connect
    - smart_open.ftp.open
    - smart_open.ftp.parse_uri
    - inspect.getargspec
    - smart_open.utils.check_kwargs
    - ftplib.FTP_TLS.connect
    - ftplib.FTP.connect
    - ftplib.FTP.transfercmd
    - smart_open.utils.inspect_kwargs
    - urllib.parse.unquote
    - urllib.parse.urlsplit
    - ftplib.FTP.login
    - ftplib.FTP.voidcmd
    - <builtin>.len
    - <builtin>.int
    - ftplib.FTP
    - logger.warning
    - transport_params.items
    - ftplib.FTP_TLS.login
    - signature.parameters.items
    - <builtin>.sorted
    - ftplib.FTP_TLS.prot_p
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parsed_uri.pop
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f676306f340>
    - <ast.Constant object at 0x7f676306fb50>
    - <ast.Constant object at 0x7f676306f7f0>
    - <ast.Constant object at 0x7f676306fa00>
    - <ast.Name object at 0x7f676306f6a0>
    - <ast.Constant object at 0x7f676306f460>
    - <ast.Constant object at 0x7f676306fa90>
    argNames:
    - path
    - mode
    - host
    - user
    - password
    - port
    - secure_connection
    - transport_params
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 109
    functionName: smart_open.ftp.open
    functionSourceFile: smart_open.ftp
    functionUses: 1
    functionsReached:
    - socket.makefile
    - logger.error
    - ssl.create_default_context
    - ftplib.FTP.prot_p
    - ftplib.FTP_TLS.voidcmd
    - ftplib.FTP_TLS.transfercmd
    - types.MethodType
    - ftplib.FTP_TLS
    - smart_open.ftp.convert_transport_params_to_args
    - smart_open.ftp._connect
    - ftplib.FTP_TLS.connect
    - ftplib.FTP.connect
    - ftplib.FTP.transfercmd
    - ftplib.FTP.login
    - ftplib.FTP.voidcmd
    - ftplib.FTP
    - logger.warning
    - transport_params.items
    - ftplib.FTP_TLS.login
    - ftplib.FTP_TLS.prot_p
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - transport_params
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 68
    functionName: smart_open.ftp.convert_transport_params_to_args
    functionSourceFile: smart_open.ftp
    functionUses: 3
    functionsReached:
    - logger.warning
    - transport_params.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: transport_params.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 6
    argDefaultValues: []
    argNames:
    - hostname
    - username
    - port
    - password
    - secure_connection
    - transport_params
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 85
    functionName: smart_open.ftp._connect
    functionSourceFile: smart_open.ftp
    functionUses: 2
    functionsReached:
    - ftplib.FTP_TLS
    - ftplib.FTP
    - smart_open.ftp.convert_transport_params_to_args
    - logger.error
    - logger.warning
    - ssl.create_default_context
    - ftplib.FTP.prot_p
    - transport_params.items
    - ftplib.FTP_TLS.prot_p
    - ftplib.FTP_TLS.login
    - ftplib.FTP.login
    - ftplib.FTP_TLS.connect
    - ftplib.FTP.connect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ssl.create_default_context
    functionSourceFile: ssl
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ftplib.FTP_TLS
    functionSourceFile: ftplib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ftplib.FTP
    functionSourceFile: ftplib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ftplib.FTP_TLS.connect
    functionSourceFile: ftplib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ftplib.FTP.connect
    functionSourceFile: ftplib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ftplib.FTP_TLS.login
    functionSourceFile: ftplib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ftplib.FTP.login
    functionSourceFile: ftplib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ftplib.FTP.prot_p
    functionSourceFile: ftplib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ftplib.FTP_TLS.prot_p
    functionSourceFile: ftplib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ftplib.FTP.voidcmd
    functionSourceFile: ftplib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ftplib.FTP_TLS.voidcmd
    functionSourceFile: ftplib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ftplib.FTP_TLS.transfercmd
    functionSourceFile: ftplib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ftplib.FTP.transfercmd
    functionSourceFile: ftplib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket.makefile
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 162
    functionName: smart_open.ftp.open.full_close
    functionSourceFile: smart_open.ftp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: types.MethodType
    functionSourceFile: types
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: smart_open.azure
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri_as_string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 44
    functionName: smart_open.azure.parse_uri
    functionSourceFile: smart_open.azure
    functionUses: 1
    functionsReached:
    - urllib.parse.SplitResult
    - url.replace
    - smart_open.utils.safe_urlsplit
    - sr.path.lstrip
    - <builtin>.dict
    - urllib.parse.urlsplit
    - sr.path.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - uri
    - mode
    - transport_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 61
    functionName: smart_open.azure.open_uri
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached:
    - smart_open.azure.Writer.__init__
    - url.replace
    - smart_open.utils.safe_urlsplit
    - <builtin>.zip
    - sr.path.lstrip
    - smart_open.azure.Reader.__init__
    - kwargs.items
    - inspect.signature
    - smart_open.bytebuffer.ByteBuffer
    - client.get_blob_client
    - io.BytesIO
    - urllib.parse.SplitResult
    - <builtin>.dict
    - inspect.getargspec
    - smart_open.utils.check_kwargs
    - smart_open.azure.open
    - smart_open.utils.inspect_kwargs
    - urllib.parse.urlsplit
    - <builtin>.len
    - <builtin>.hasattr
    - sr.path.replace
    - smart_open.azure.parse_uri
    - client.get_container_client
    - logger.warning
    - signature.parameters.items
    - smart_open.azure._get_blob_client
    - <builtin>.sorted
    - smart_open.azure._RawReader.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f6763791070>
    - <ast.Constant object at 0x7f6763791220>
    - <ast.Name object at 0x7f67637911c0>
    - <ast.Name object at 0x7f6763791d60>
    - <ast.Name object at 0x7f6763791d90>
    argNames:
    - container_id
    - blob_id
    - mode
    - client
    - blob_kwargs
    - buffer_size
    - min_part_size
    - max_concurrency
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 67
    functionName: smart_open.azure.open
    functionSourceFile: smart_open.azure
    functionUses: 1
    functionsReached:
    - smart_open.azure.Writer.__init__
    - io.BytesIO
    - client.get_container_client
    - smart_open.azure.Reader.__init__
    - smart_open.azure._get_blob_client
    - smart_open.azure._RawReader.__init__
    - <builtin>.hasattr
    - smart_open.bytebuffer.ByteBuffer
    - client.get_blob_client
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 7
    argDefaultValues:
    - <ast.Name object at 0x7f6763125130>
    - <ast.Attribute object at 0x7f6763125280>
    - <ast.Name object at 0x7f6763125220>
    argNames:
    - self
    - container
    - blob
    - client
    - buffer_size
    - line_terminator
    - max_concurrency
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 201
    functionName: smart_open.azure.Reader.__init__
    functionSourceFile: smart_open.azure
    functionUses: 2
    functionsReached:
    - client.get_container_client
    - smart_open.azure._get_blob_client
    - smart_open.azure._RawReader.__init__
    - <builtin>.hasattr
    - smart_open.bytebuffer.ByteBuffer
    - client.get_blob_client
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f676300a0d0>
    - <ast.Name object at 0x7f676300a640>
    argNames:
    - self
    - container
    - blob
    - client
    - blob_kwargs
    - min_part_size
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 395
    functionName: smart_open.azure.Writer.__init__
    functionSourceFile: smart_open.azure
    functionUses: 2
    functionsReached:
    - io.BytesIO
    - client.get_container_client
    - smart_open.azure._get_blob_client
    - <builtin>.hasattr
    - client.get_blob_client
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - client
    - container
    - blob
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 124
    functionName: smart_open.azure._get_blob_client
    functionSourceFile: smart_open.azure
    functionUses: 4
    functionsReached:
    - client.get_container_client
    - <builtin>.hasattr
    - client.get_blob_client
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.get_container_client
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.get_blob_client
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - blob
    - size
    - concurrency
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 148
    functionName: smart_open.azure._RawReader.__init__
    functionSourceFile: smart_open.azure
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - position
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 155
    functionName: smart_open.azure._RawReader.seek
    functionSourceFile: smart_open.azure
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f67637581f0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 165
    functionName: smart_open.azure._RawReader.read
    functionSourceFile: smart_open.azure
    functionUses: 3
    functionsReached:
    - stream.readall
    - logging.debug
    - <builtin>.isinstance
    - <builtin>.len
    - smart_open.azure._RawReader._download_blob_chunk
    - stream.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 172
    functionName: smart_open.azure._RawReader._download_blob_chunk
    functionSourceFile: smart_open.azure
    functionUses: 4
    functionsReached:
    - logging.debug
    - stream.read
    - stream.readall
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.debug
    functionSourceFile: logging
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream.readall
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream.read
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 233
    functionName: smart_open.azure.Reader.close
    functionSourceFile: smart_open.azure
    functionUses: 1
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 241
    functionName: smart_open.azure.Reader.closed
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 244
    functionName: smart_open.azure.Reader.readable
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 248
    functionName: smart_open.azure.Reader.seekable
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 257
    functionName: smart_open.azure.Reader.detach
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Attribute object at 0x7f6762f08370>
    argNames:
    - self
    - offset
    - whence
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 261
    functionName: smart_open.azure.Reader.seek
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached:
    - logger.debug
    - smart_open.azure._RawReader.seek
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 286
    functionName: smart_open.azure.Reader.tell
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f67630f5bb0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 290
    functionName: smart_open.azure.Reader.truncate
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6763769b20>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 294
    functionName: smart_open.azure.Reader.read
    functionSourceFile: smart_open.azure
    functionUses: 2
    functionsReached:
    - logging.debug
    - stream.readall
    - smart_open.azure.Reader._read_from_buffer
    - <builtin>.isinstance
    - smart_open.azure.Reader._fill_buffer
    - logger.debug
    - smart_open.azure._RawReader.read
    - <builtin>.len
    - smart_open.azure._RawReader._download_blob_chunk
    - stream.read
    - <builtin>.max
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6763077520>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 350
    functionName: smart_open.azure.Reader._read_from_buffer
    functionSourceFile: smart_open.azure
    functionUses: 3
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6762ebb610>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 359
    functionName: smart_open.azure.Reader._fill_buffer
    functionSourceFile: smart_open.azure
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - <builtin>.max
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6762f80880>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 314
    functionName: smart_open.azure.Reader.read1
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached:
    - logging.debug
    - stream.readall
    - smart_open.azure.Reader._read_from_buffer
    - smart_open.azure.Reader.read
    - <builtin>.isinstance
    - smart_open.azure.Reader._fill_buffer
    - logger.debug
    - smart_open.azure._RawReader.read
    - <builtin>.len
    - smart_open.azure._RawReader._download_blob_chunk
    - stream.read
    - <builtin>.max
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 318
    functionName: smart_open.azure.Reader.readinto
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached:
    - logging.debug
    - stream.readall
    - smart_open.azure.Reader._read_from_buffer
    - smart_open.azure.Reader.read
    - <builtin>.isinstance
    - smart_open.azure.Reader._fill_buffer
    - logger.debug
    - smart_open.azure._RawReader.read
    - <builtin>.len
    - smart_open.azure._RawReader._download_blob_chunk
    - stream.read
    - <builtin>.max
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f6763735400>
    argNames:
    - self
    - limit
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 326
    functionName: smart_open.azure.Reader.readline
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached:
    - io.BytesIO
    - line_part.endswith
    - smart_open.azure.Reader._fill_buffer
    - logger.debug
    - line.getvalue
    - <builtin>.len
    - line.write
    - <builtin>.max
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 367
    functionName: smart_open.azure.Reader.__enter__
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_val
    - exc_tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 370
    functionName: smart_open.azure.Reader.__exit__
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached:
    - smart_open.azure.Reader.close
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 373
    functionName: smart_open.azure.Reader.__str__
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 380
    functionName: smart_open.azure.Reader.__repr__
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 416
    functionName: smart_open.azure.Writer.flush
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 419
    functionName: smart_open.azure.Writer.terminate
    functionSourceFile: smart_open.azure
    functionUses: 1
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 434
    functionName: smart_open.azure.Writer.close
    functionSourceFile: smart_open.azure
    functionUses: 1
    functionsReached:
    - io.BytesIO
    - zero_padded_part_num.encode
    - <builtin>.str
    - smart_open.azure.Writer._upload_part
    - logger.debug
    - azure.storage.blob.BlobBlock
    - logger.info
    - base64.b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 494
    functionName: smart_open.azure.Writer._upload_part
    functionSourceFile: smart_open.azure
    functionUses: 3
    functionsReached:
    - io.BytesIO
    - zero_padded_part_num.encode
    - <builtin>.str
    - azure.storage.blob.BlobBlock
    - logger.info
    - base64.b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 446
    functionName: smart_open.azure.Writer.closed
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 449
    functionName: smart_open.azure.Writer.writable
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 453
    functionName: smart_open.azure.Writer.seekable
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Attribute object at 0x7f676375ccd0>
    argNames:
    - self
    - offset
    - whence
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 459
    functionName: smart_open.azure.Writer.seek
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f6762eb5970>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 463
    functionName: smart_open.azure.Writer.truncate
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 467
    functionName: smart_open.azure.Writer.tell
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 474
    functionName: smart_open.azure.Writer.detach
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 477
    functionName: smart_open.azure.Writer.write
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached:
    - io.BytesIO
    - logger.info
    - zero_padded_part_num.encode
    - <builtin>.isinstance
    - <builtin>.str
    - smart_open.azure.Writer._upload_part
    - azure.storage.blob.BlobBlock
    - <builtin>.len
    - base64.b64encode
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: zero_padded_part_num.encode
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.b64encode
    functionSourceFile: base64
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: azure.storage.blob.BlobBlock
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 520
    functionName: smart_open.azure.Writer.__enter__
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_val
    - exc_tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 523
    functionName: smart_open.azure.Writer.__exit__
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached:
    - io.BytesIO
    - smart_open.azure.Writer.terminate
    - zero_padded_part_num.encode
    - <builtin>.str
    - smart_open.azure.Writer._upload_part
    - logger.debug
    - azure.storage.blob.BlobBlock
    - logger.info
    - smart_open.azure.Writer.close
    - base64.b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 529
    functionName: smart_open.azure.Writer.__str__
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 536
    functionName: smart_open.azure.Writer.__repr__
    functionSourceFile: smart_open.azure
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: smart_open.ssh
    functionSourceFile: smart_open.ssh
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - os.path.expanduser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 68
    functionName: smart_open.ssh._unquote
    functionSourceFile: smart_open.ssh
    functionUses: 2
    functionsReached:
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 72
    functionName: smart_open.ssh._str2bool
    functionSourceFile: smart_open.ssh
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri_as_string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 100
    functionName: smart_open.ssh.parse_uri
    functionSourceFile: smart_open.ssh
    functionUses: 1
    functionsReached:
    - <builtin>.dict
    - urllib.parse.unquote
    - urllib.parse.urlsplit
    - smart_open.ssh._unquote
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - uri
    - mode
    - transport_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 113
    functionName: smart_open.ssh.open_uri
    functionSourceFile: smart_open.ssh
    functionUses: 0
    functionsReached:
    - ssh.get_transport
    - <builtin>.zip
    - paramiko.SSHConfig.from_path
    - smart_open.ssh._connect_ssh
    - kwargs.items
    - cfg.get_hostnames
    - inspect.signature
    - smart_open.ssh.open
    - parsed_uri.pop
    - smart_open.ssh._unquote
    - smart_open.ssh.parse_uri
    - sftp_client.open
    - <builtin>.dict
    - paramiko.SSHClient
    - kwargs.setdefault
    - ssh.set_missing_host_key_policy
    - fobj.prefetch
    - inspect.getargspec
    - transport.open_sftp_client
    - smart_open.utils.check_kwargs
    - os.path.exists
    - cfg.lookup
    - <builtin>.any
    - smart_open.utils.inspect_kwargs
    - urllib.parse.unquote
    - urllib.parse.urlsplit
    - ssh.close
    - <builtin>.len
    - <builtin>.int
    - ssh.load_system_host_keys
    - smart_open.ssh._maybe_fetch_config
    - ssh.connect
    - logger.warning
    - cfg.get
    - connect_params.get
    - getpass.getuser
    - signature.parameters.items
    - _PARAMIKO_CONFIG_MAP.items
    - <builtin>.sorted
    - <builtin>.range
    - paramiko.AutoAddPolicy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f676356bdc0>
    - <ast.Constant object at 0x7f676356b940>
    - <ast.Constant object at 0x7f676356b430>
    - <ast.Constant object at 0x7f676356b730>
    - <ast.Constant object at 0x7f676356b7c0>
    - <ast.Constant object at 0x7f676356b340>
    - <ast.Constant object at 0x7f676356b880>
    - <ast.UnaryOp object at 0x7f676356b250>
    argNames:
    - path
    - mode
    - host
    - user
    - password
    - port
    - connect_kwargs
    - prefetch_kwargs
    - buffer_size
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 221
    functionName: smart_open.ssh.open
    functionSourceFile: smart_open.ssh
    functionUses: 1
    functionsReached:
    - ssh.get_transport
    - paramiko.SSHConfig.from_path
    - smart_open.ssh._connect_ssh
    - cfg.get_hostnames
    - sftp_client.open
    - paramiko.SSHClient
    - kwargs.setdefault
    - ssh.set_missing_host_key_policy
    - fobj.prefetch
    - transport.open_sftp_client
    - os.path.exists
    - cfg.lookup
    - <builtin>.any
    - ssh.close
    - <builtin>.len
    - <builtin>.int
    - ssh.load_system_host_keys
    - smart_open.ssh._maybe_fetch_config
    - ssh.connect
    - cfg.get
    - connect_params.get
    - getpass.getuser
    - _PARAMIKO_CONFIG_MAP.items
    - <builtin>.range
    - paramiko.AutoAddPolicy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - hostname
    - username
    - port
    - password
    - connect_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: smart_open.ssh._connect_ssh
    functionSourceFile: smart_open.ssh
    functionUses: 2
    functionsReached:
    - ssh.load_system_host_keys
    - ssh.connect
    - paramiko.SSHClient
    - kwargs.setdefault
    - ssh.set_missing_host_key_policy
    - paramiko.AutoAddPolicy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paramiko.SSHClient
    functionSourceFile: paramiko
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ssh.load_system_host_keys
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paramiko.AutoAddPolicy
    functionSourceFile: paramiko
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ssh.set_missing_host_key_policy
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.setdefault
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ssh.connect
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 0
    IfCount: 12
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f6762ff0520>
    - <ast.Constant object at 0x7f6762ff05b0>
    - <ast.Constant object at 0x7f6762ff0c10>
    - <ast.Constant object at 0x7f6762ff0ee0>
    argNames:
    - host
    - username
    - password
    - port
    - connect_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: smart_open.ssh._maybe_fetch_config
    functionSourceFile: smart_open.ssh
    functionUses: 2
    functionsReached:
    - cfg.lookup
    - cfg.get
    - <builtin>.any
    - connect_params.get
    - getpass.getuser
    - paramiko.SSHConfig.from_path
    - _PARAMIKO_CONFIG_MAP.items
    - cfg.get_hostnames
    - <builtin>.len
    - <builtin>.int
    - os.path.exists
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.exists
    functionSourceFile: os
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paramiko.SSHConfig.from_path
    functionSourceFile: paramiko
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cfg.get_hostnames
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cfg.lookup
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cfg.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connect_params.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _PARAMIKO_CONFIG_MAP.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: getpass.getuser
    functionSourceFile: getpass
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ssh.get_transport
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ssh.close
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: transport.open_sftp_client
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sftp_client.open
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fobj.prefetch
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_func':
  - 19
  - 37
  - 38
  '...fuzz_func.TestInput':
  - 27
  - 29
  - 30
  '...fuzz_func._handle_file':
  - 24
  '...fuzz_func.main':
  - 33
  - 34
  - 35
  smart_open:
  - 34
  - 35
  - 9
  - 29
  - 30
  smart_open.azure:
  - 33
  - 36
  - 9
  - 41
  - 24
  - 27
  - 30
  smart_open.azure.Reader:
  - 193
  smart_open.azure.Reader.__exit__:
  - 371
  smart_open.azure.Reader.__init__:
  - 225
  - 227
  - 214
  - 216
  - 221
  smart_open.azure.Reader._fill_buffer:
  - 360
  - 361
  - 362
  - 363
  - 364
  smart_open.azure.Reader._read_from_buffer:
  - 353
  - 354
  - 355
  - 351
  smart_open.azure.Reader.close:
  - 234
  - 235
  - 236
  smart_open.azure.Reader.detach:
  - 258
  smart_open.azure.Reader.read:
  - 295
  - 296
  - 298
  - 300
  - 305
  - 306
  - 308
  - 309
  - 311
  - 312
  smart_open.azure.Reader.read1:
  - 315
  - 316
  smart_open.azure.Reader.readable:
  - 245
  smart_open.azure.Reader.readinto:
  - 320
  - 321
  - 323
  - 324
  - 319
  smart_open.azure.Reader.readline:
  - 327
  - 328
  - 334
  - 335
  - 336
  - 337
  - 338
  - 340
  - 343
  - 345
  smart_open.azure.Reader.seek:
  - 262
  - 268
  - 269
  - 273
  - 275
  - 280
  - 281
  - 283
  smart_open.azure.Reader.seekable:
  - 249
  smart_open.azure.Reader.tell:
  - 287
  smart_open.azure.Reader.truncate:
  - 291
  smart_open.azure.Writer:
  - 389
  smart_open.azure.Writer.__exit__:
  - 524
  - 525
  - 527
  smart_open.azure.Writer.__init__:
  - 410
  - 414
  smart_open.azure.Writer._upload_part:
  - 517
  - 518
  - 496
  - 499
  - 504
  - 505
  - 506
  - 507
  - 508
  - 510
  smart_open.azure.Writer.close:
  - 435
  - 436
  - 437
  - 438
  - 439
  - 440
  - 443
  smart_open.azure.Writer.seek:
  - 460
  smart_open.azure.Writer.seekable:
  - 454
  smart_open.azure.Writer.tell:
  - 468
  smart_open.azure.Writer.terminate:
  - 425
  - 426
  - 420
  - 429
  smart_open.azure.Writer.truncate:
  - 464
  smart_open.azure.Writer.writable:
  - 450
  smart_open.azure.Writer.write:
  - 483
  - 486
  - 487
  - 489
  - 490
  - 492
  - 478
  smart_open.azure._RawReader:
  - 146
  smart_open.azure._RawReader._download_blob_chunk:
  - 173
  - 179
  - 180
  - 182
  - 184
  - 185
  - 186
  - 188
  smart_open.azure._RawReader.read:
  - 168
  - 169
  - 166
  smart_open.azure._RawReader.seek:
  - 156
  smart_open.azure._get_blob_client:
  - 130
  - 131
  - 133
  - 139
  - 140
  - 126
  smart_open.azure.open:
  - 100
  - 103
  - 104
  - 77
  - 112
  - 113
  smart_open.azure.open_uri:
  - 64
  - 62
  - 63
  smart_open.azure.parse_uri:
  - 48
  - 58
  - 51
  - 45
  smart_open.bytebuffer:
  - 8
  smart_open.bytebuffer.ByteBuffer:
  - 14
  smart_open.bytebuffer.ByteBuffer.__init__:
  - 57
  - 67
  smart_open.bytebuffer.ByteBuffer.__len__:
  - 70
  - 71
  smart_open.bytebuffer.ByteBuffer.empty:
  - 112
  - 113
  smart_open.bytebuffer.ByteBuffer.fill:
  - 161
  - 145
  - 147
  - 117
  - 151
  - 152
  - 154
  - 155
  - 157
  smart_open.bytebuffer.ByteBuffer.peek:
  - 108
  - 105
  - 106
  - 92
  smart_open.bytebuffer.ByteBuffer.read:
  - 88
  - 74
  - 87
  smart_open.bytebuffer.ByteBuffer.readline:
  - 164
  - 175
  - 176
  - 177
  - 180
  smart_open.compression:
  - 8
  - 13
  - 176
  - 177
  - 18
  - 178
  - 20
  - 179
  smart_open.compression._handle_bz2:
  - 112
  - 111
  smart_open.compression._handle_gzip:
  - 117
  - 118
  smart_open.compression._handle_xz:
  - 133
  - 134
  smart_open.compression._handle_zstd:
  - 128
  - 123
  - 127
  smart_open.compression._maybe_wrap_buffered:
  - 104
  - 105
  - 102
  - 103
  smart_open.compression.compression_wrapper:
  - 160
  - 162
  - 138
  - 170
  - 149
  - 151
  - 153
  - 155
  smart_open.compression.get_supported_compression_types:
  - 27
  - 31
  smart_open.compression.get_supported_extensions:
  - 35
  - 36
  smart_open.compression.register_compressor:
  - 66
  - 68
  - 69
  - 70
  - 40
  smart_open.compression.tweak_close:
  - 75
  smart_open.compression.tweak_close.close_both:
  - 90
  - 92
  - 94
  smart_open.concurrency:
  - 9
  - 17
  smart_open.concurrency.ConcurrentFuturesPool:
  - 69
  smart_open.concurrency.ConcurrentFuturesPool.__init__:
  - 71
  smart_open.concurrency.ConcurrentFuturesPool.imap_unordered:
  - 74
  - 75
  - 76
  smart_open.concurrency.ConcurrentFuturesPool.terminate:
  - 79
  smart_open.concurrency.ThreadPoolExecutor:
  - 21
  smart_open.concurrency.ThreadPoolExecutor.imap:
  - 58
  - 48
  - 55
  - 24
  - 57
  - 56
  - 61
  smart_open.concurrency.ThreadPoolExecutor.imap.get:
  - 52
  - 53
  smart_open.concurrency.create_pool:
  - 84
  - 85
  - 86
  - 87
  smart_open.constants:
  - 9
  smart_open.doctools:
  - 9
  smart_open.doctools.extract_examples_from_readme_rst:
  - 163
  - 164
  - 166
  - 167
  - 168
  - 169
  - 171
  - 147
  smart_open.doctools.extract_kwargs:
  - 96
  - 97
  - 98
  - 100
  - 101
  - 102
  - 72
  - 91
  - 75
  - 83
  - 85
  - 88
  - 89
  - 27
  - 92
  - 94
  - 95
  smart_open.doctools.to_docstring:
  - 138
  - 139
  - 140
  - 108
  - 141
  - 142
  - 143
  smart_open.doctools.tweak_open_docstring:
  - 177
  - 178
  - 180
  - 182
  - 183
  - 184
  - 185
  - 186
  - 188
  - 195
  - 196
  - 197
  - 198
  - 199
  - 200
  - 202
  - 203
  - 204
  - 206
  - 207
  - 208
  - 209
  - 211
  - 212
  - 213
  - 214
  - 215
  - 216
  - 217
  - 222
  - 223
  smart_open.doctools.tweak_parse_uri_docstring:
  - 256
  - 257
  - 259
  - 260
  - 227
  - 228
  - 232
  - 233
  - 236
  - 239
  - 244
  - 246
  - 248
  - 249
  - 250
  - 251
  - 252
  - 253
  - 254
  - 255
  smart_open.ftp:
  - 9
  - 18
  - 22
  smart_open.ftp._connect:
  - 98
  - 100
  - 104
  - 105
  - 86
  - 87
  - 88
  - 89
  - 91
  - 93
  - 95
  smart_open.ftp._unquote:
  - 37
  smart_open.ftp.convert_transport_params_to_args:
  - 75
  - 77
  - 78
  smart_open.ftp.open:
  - 160
  - 170
  - 141
  - 143
  - 145
  - 147
  - 119
  - 158
  - 159
  smart_open.ftp.open.full_close:
  - 163
  - 164
  - 165
  smart_open.ftp.open_uri:
  - 54
  - 55
  - 56
  - 57
  - 59
  smart_open.ftp.parse_uri:
  - 41
  - 43
  - 45
  - 46
  - 48
  - 49
  smart_open.gcs:
  - 8
  - 25
  - 28
  - 31
  smart_open.gcs.Reader:
  - 129
  - 131
  - 132
  - 133
  - 134
  - 135
  - 136
  - 138
  - 139
  - 141
  - 144
  - 127
  smart_open.gcs.Writer:
  - 163
  - 168
  - 169
  - 171
  - 174
  - 154
  - 156
  - 158
  - 159
  smart_open.gcs.open:
  - 96
  - 66
  - 98
  - 99
  - 105
  - 106
  - 92
  - 95
  smart_open.gcs.open_uri:
  - 45
  - 46
  - 47
  smart_open.gcs.parse_uri:
  - 40
  - 41
  - 37
  smart_open.gcs.warn_deprecated:
  - 52
  smart_open.hdfs:
  - 9
  - 18
  smart_open.hdfs.CliRawInputBase:
  - 61
  smart_open.hdfs.CliRawInputBase.__init__:
  - 69
  smart_open.hdfs.CliRawInputBase.close:
  - 75
  - 76
  - 77
  - 78
  smart_open.hdfs.CliRawInputBase.detach:
  - 97
  smart_open.hdfs.CliRawInputBase.read:
  - 101
  - 102
  smart_open.hdfs.CliRawInputBase.read1:
  - 105
  - 106
  smart_open.hdfs.CliRawInputBase.readable:
  - 86
  smart_open.hdfs.CliRawInputBase.readinto:
  - 109
  - 111
  - 112
  - 114
  - 115
  smart_open.hdfs.CliRawInputBase.seekable:
  - 90
  smart_open.hdfs.CliRawOutputBase:
  - 119
  smart_open.hdfs.CliRawOutputBase.__init__:
  - 127
  smart_open.hdfs.CliRawOutputBase.close:
  - 131
  - 132
  - 133
  - 134
  - 135
  smart_open.hdfs.CliRawOutputBase.flush:
  - 143
  smart_open.hdfs.CliRawOutputBase.seekable:
  - 150
  smart_open.hdfs.CliRawOutputBase.write:
  - 154
  smart_open.hdfs.CliRawOutputBase.writeable:
  - 146
  smart_open.hdfs.open:
  - 52
  - 53
  - 54
  - 55
  smart_open.hdfs.open_uri:
  - 43
  - 45
  - 46
  - 47
  smart_open.hdfs.parse_uri:
  - 35
  - 36
  - 39
  - 31
  smart_open.http:
  - 8
  - 26
  - 30
  smart_open.http.BufferedInputBase.__init__:
  - 129
  - 138
  - 139
  - 141
  - 111
  - 113
  - 114
  - 122
  - 123
  smart_open.http.BufferedInputBase.close:
  - 148
  - 149
  - 150
  smart_open.http.BufferedInputBase.detach:
  - 169
  smart_open.http.BufferedInputBase.read:
  - 193
  - 195
  - 173
  - 176
  - 179
  - 180
  - 183
  - 184
  - 185
  - 187
  - 190
  - 191
  smart_open.http.BufferedInputBase.read1:
  - 200
  - 199
  smart_open.http.BufferedInputBase.readable:
  - 159
  smart_open.http.BufferedInputBase.readinto:
  - 203
  - 205
  - 206
  - 208
  - 209
  smart_open.http.SeekableBufferedInputBase:
  - 213
  smart_open.http.SeekableBufferedInputBase.__init__:
  - 229
  - 236
  - 228
  - 221
  smart_open.http.SeekableBufferedInputBase._partial_request:
  - 296
  - 297
  - 299
  - 295
  smart_open.http.SeekableBufferedInputBase.seek:
  - 256
  - 259
  - 260
  - 262
  - 264
  - 267
  - 239
  - 271
  - 273
  - 275
  - 276
  - 245
  - 246
  - 278
  - 249
  - 252
  - 254
  smart_open.http.SeekableBufferedInputBase.truncate:
  - 291
  smart_open.http.open:
  - 88
  - 89
  - 54
  - 94
  smart_open.http.open_uri:
  - 48
  - 49
  smart_open.http.parse_uri:
  - 43
  - 44
  - 39
  smart_open.local_file:
  - 8
  smart_open.local_file.extract_local_path:
  - 40
  - 43
  - 39
  smart_open.local_file.open_uri:
  - 33
  - 34
  smart_open.local_file.parse_uri:
  - 28
  - 29
  smart_open.s3:
  - 66
  - 8
  - 41
  - 45
  - 124
  - 123
  - 60
  - 63
  smart_open.s3.MultipartWriter:
  - 972
  smart_open.s3.MultipartWriter.__exit__:
  - 1195
  - 1196
  - 1198
  smart_open.s3.MultipartWriter.__init__:
  - 992
  - 998
  - 1003
  - 1011
  - 1012
  - 986
  - 987
  - 988
  smart_open.s3.MultipartWriter._upload_next_part:
  - 1184
  - 1188
  - 1157
  - 1189
  - 1161
  - 1164
  - 1172
  - 1173
  - 1183
  smart_open.s3.MultipartWriter.close:
  - 1058
  - 1027
  - 1028
  - 1031
  - 1032
  - 1063
  - 1034
  - 1035
  - 1036
  - 1043
  - 1044
  - 1045
  - 1053
  smart_open.s3.MultipartWriter.seek:
  - 1081
  smart_open.s3.MultipartWriter.seekable:
  - 1075
  smart_open.s3.MultipartWriter.tell:
  - 1089
  smart_open.s3.MultipartWriter.terminate:
  - 1132
  - 1133
  - 1135
  - 1136
  - 1142
  smart_open.s3.MultipartWriter.to_boto3:
  - 1145
  - 1150
  smart_open.s3.MultipartWriter.truncate:
  - 1085
  smart_open.s3.MultipartWriter.writable:
  - 1071
  smart_open.s3.MultipartWriter.write:
  - 1124
  - 1125
  - 1127
  - 1129
  - 1099
  - 1107
  - 1108
  - 1115
  - 1117
  - 1118
  - 1119
  smart_open.s3.Reader:
  - 757
  smart_open.s3.Reader.__init__:
  - 776
  - 778
  - 786
  - 791
  - 792
  smart_open.s3.Reader._fill_buffer:
  - 944
  - 945
  - 946
  - 947
  - 948
  smart_open.s3.Reader._read_from_buffer:
  - 937
  - 938
  - 939
  - 940
  smart_open.s3.Reader.close:
  - 800
  - 799
  smart_open.s3.Reader.detach:
  - 914
  smart_open.s3.Reader.read:
  - 808
  - 809
  - 811
  - 813
  - 820
  - 821
  - 826
  - 827
  - 829
  - 830
  smart_open.s3.Reader.read1:
  - 833
  - 834
  smart_open.s3.Reader.readable:
  - 804
  smart_open.s3.Reader.readinto:
  - 837
  - 839
  - 840
  - 842
  - 843
  smart_open.s3.Reader.readline:
  - 864
  - 846
  - 847
  - 853
  - 854
  - 855
  - 856
  - 857
  - 859
  - 862
  smart_open.s3.Reader.seek:
  - 897
  - 898
  - 873
  - 881
  - 886
  - 887
  - 888
  - 890
  - 894
  smart_open.s3.Reader.seekable:
  - 867
  smart_open.s3.Reader.tell:
  - 906
  smart_open.s3.Reader.terminate:
  - 918
  smart_open.s3.Reader.to_boto3:
  - 928
  - 929
  - 922
  - 927
  smart_open.s3.Reader.truncate:
  - 910
  smart_open.s3.Retry._do:
  - 96
  - 101
  - 102
  - 104
  - 105
  - 107
  - 112
  - 113
  - 92
  - 94
  - 95
  smart_open.s3.SinglepartWriter:
  - 1212
  smart_open.s3.SinglepartWriter.__exit__:
  - 1320
  - 1321
  - 1323
  smart_open.s3.SinglepartWriter.__init__:
  - 1232
  - 1228
  - 1230
  - 1231
  smart_open.s3.SinglepartWriter.close:
  - 1248
  - 1251
  - 1260
  - 1262
  - 1244
  - 1245
  smart_open.s3.SinglepartWriter.read:
  - 1301
  - 1302
  smart_open.s3.SinglepartWriter.read1:
  - 1305
  - 1306
  smart_open.s3.SinglepartWriter.readable:
  - 1269
  - 1270
  smart_open.s3.SinglepartWriter.seek:
  - 1281
  - 1282
  smart_open.s3.SinglepartWriter.seekable:
  - 1277
  - 1278
  smart_open.s3.SinglepartWriter.tell:
  - 1289
  - 1290
  smart_open.s3.SinglepartWriter.terminate:
  - 1309
  - 1310
  - 1311
  smart_open.s3.SinglepartWriter.truncate:
  - 1285
  - 1286
  smart_open.s3.SinglepartWriter.writable:
  - 1273
  - 1274
  smart_open.s3.SinglepartWriter.write:
  - 1298
  - 1293
  smart_open.s3._ClientWrapper:
  - 128
  smart_open.s3._ClientWrapper.__getattr__:
  - 144
  - 142
  - 143
  smart_open.s3._SeekableRawReader:
  - 473
  smart_open.s3._SeekableRawReader._open_body:
  - 645
  - 646
  - 647
  - 648
  - 651
  - 652
  - 657
  - 560
  - 574
  - 578
  - 581
  - 582
  - 584
  - 588
  - 597
  - 598
  - 601
  - 602
  - 609
  - 611
  - 620
  - 630
  - 632
  - 636
  smart_open.s3._SeekableRawReader.close:
  - 501
  - 502
  smart_open.s3._SeekableRawReader.read:
  - 715
  - 718
  - 719
  - 720
  - 721
  - 722
  - 724
  - 662
  - 663
  - 666
  - 669
  smart_open.s3._SeekableRawReader.read.retry_read:
  - 704
  - 705
  - 685
  - 686
  - 687
  - 689
  - 690
  - 691
  - 697
  smart_open.s3._SeekableRawReader.seek:
  - 544
  - 514
  - 546
  - 551
  - 520
  - 552
  - 555
  - 524
  - 525
  - 526
  - 527
  - 528
  - 529
  - 535
  - 536
  - 506
  - 539
  - 540
  smart_open.s3._consolidate_params:
  - 259
  - 261
  - 262
  - 231
  - 267
  - 268
  - 269
  - 273
  - 274
  - 246
  - 247
  - 248
  - 219
  - 253
  - 254
  - 255
  smart_open.s3._consolidate_params.inject:
  - 244
  smart_open.s3._download_fileobj:
  - 1548
  - 1541
  - 1542
  smart_open.s3._download_key:
  - 1512
  - 1529
  - 1514
  - 1526
  smart_open.s3._get:
  - 448
  - 450
  - 453
  - 455
  - 447
  smart_open.s3._initialize_boto3:
  - 736
  - 737
  - 738
  - 739
  - 748
  - 751
  - 731
  - 733
  smart_open.s3._list_bucket:
  - 1504
  - 1489
  - 1490
  - 1492
  - 1493
  - 1499
  - 1501
  - 1502
  - 1503
  smart_open.s3._unwrap_ioerror:
  - 465
  smart_open.s3.iter_bucket:
  - 1418
  - 1425
  - 1426
  - 1428
  - 1429
  - 1434
  - 1436
  - 1438
  - 1444
  - 1453
  - 1455
  - 1456
  - 1457
  - 1459
  - 1462
  - 1463
  - 1465
  - 1468
  - 1469
  - 1470
  - 1347
  - 1406
  smart_open.s3.open:
  - 420
  - 421
  - 422
  - 327
  - 431
  - 402
  - 403
  - 406
  - 409
  - 410
  smart_open.s3.open_uri:
  - 289
  - 306
  - 307
  - 308
  - 309
  - 310
  smart_open.s3.parse_uri:
  - 160
  - 194
  - 195
  - 197
  - 198
  - 199
  - 200
  - 202
  - 206
  - 186
  - 187
  - 188
  - 189
  - 190
  smart_open.s3_iter_bucket:
  - 57
  - 60
  - 61
  - 63
  smart_open.smart_open_lib:
  - 517
  - 38
  - 518
  - 40
  - 9
  - 520
  - 526
  smart_open.smart_open_lib._encoding_wrapper:
  - 424
  - 435
  - 438
  - 441
  - 413
  smart_open.smart_open_lib._get_binary_mode:
  - 266
  - 269
  - 272
  - 273
  - 279
  - 280
  - 281
  - 282
  - 283
  - 284
  - 291
  - 292
  - 293
  - 294
  - 295
  - 297
  - 299
  - 300
  - 307
  - 310
  smart_open.smart_open_lib._get_binary_mode.transfer:
  - 277
  smart_open.smart_open_lib._open_binary_stream:
  - 389
  - 397
  - 400
  - 403
  - 372
  - 404
  - 405
  - 406
  - 382
  smart_open.smart_open_lib._patch_pathlib:
  - 465
  smart_open.smart_open_lib._shortcut_open:
  - 352
  - 322
  - 356
  - 358
  - 359
  - 365
  - 368
  - 340
  - 343
  - 344
  - 347
  - 348
  - 349
  - 350
  smart_open.smart_open_lib._sniff_scheme:
  - 49
  - 44
  - 52
  smart_open.smart_open_lib.open:
  - 256
  - 159
  - 161
  - 164
  - 167
  - 170
  - 179
  - 190
  - 191
  - 193
  - 194
  - 213
  - 217
  - 221
  - 225
  - 232
  - 105
  - 233
  - 248
  - 250
  - 252
  smart_open.smart_open_lib.parse_uri:
  - 73
  - 74
  - 75
  - 81
  - 82
  - 56
  smart_open.smart_open_lib.patch_pathlib:
  - 452
  smart_open.smart_open_lib.patch_pathlib.__exit__:
  - 461
  smart_open.smart_open_lib.patch_pathlib.__init__:
  - 455
  smart_open.smart_open_lib.smart_open:
  - 503
  - 508
  - 501
  - 495
  smart_open.ssh:
  - 65
  - 9
  - 43
  - 51
  smart_open.ssh._connect_ssh:
  - 128
  - 129
  - 130
  - 123
  - 124
  - 125
  - 126
  - 127
  smart_open.ssh._maybe_fetch_config:
  - 136
  - 139
  - 157
  - 158
  - 165
  - 167
  - 171
  - 174
  - 175
  - 176
  - 178
  - 181
  - 183
  - 195
  - 196
  - 197
  - 200
  - 201
  - 202
  - 209
  - 212
  - 213
  - 215
  smart_open.ssh._str2bool:
  - 73
  - 75
  smart_open.ssh._unquote:
  - 69
  smart_open.ssh.open:
  - 290
  - 291
  - 295
  - 232
  - 271
  - 304
  - 306
  - 307
  - 278
  - 283
  - 284
  - 285
  - 287
  smart_open.ssh.open_uri:
  - 114
  - 115
  - 116
  - 117
  - 119
  smart_open.ssh.parse_uri:
  - 101
  - 103
  - 105
  - 106
  - 108
  - 109
  smart_open.transport:
  - 96
  - 97
  - 98
  - 99
  - 100
  - 101
  - 102
  - 103
  - 8
  - 104
  - 106
  - 107
  - 18
  smart_open.transport.get_transport:
  - 89
  - 91
  - 75
  - 87
  smart_open.transport.register_transport:
  - 64
  - 33
  - 66
  - 68
  - 46
  - 48
  - 54
  - 56
  - 58
  - 63
  smart_open.utils:
  - 9
  - 18
  smart_open.utils.FileLikeProxy.__exit__:
  - 218
  - 220
  - 222
  smart_open.utils.FileLikeProxy.__init__:
  - 214
  smart_open.utils.FileLikeProxy.__next__:
  - 225
  smart_open.utils.FileLikeProxy.close:
  - 232
  - 229
  - 231
  smart_open.utils.TextIOWrapper.__exit__:
  - 207
  - 206
  - 199
  smart_open.utils.check_kwargs:
  - 70
  - 71
  - 72
  - 74
  - 75
  - 55
  smart_open.utils.clamp:
  - 81
  - 100
  - 101
  - 102
  smart_open.utils.inspect_kwargs:
  - 32
  - 35
  - 42
  - 44
  - 45
  - 49
  smart_open.utils.make_range_string:
  - 128
  - 129
  - 107
  - 126
  smart_open.utils.parse_content_range:
  - 134
  - 150
  - 151
  - 152
  - 153
  smart_open.utils.safe_urlsplit:
  - 193
  - 194
  - 177
  - 180
  - 187
  - 188
  - 157
  - 190
  smart_open.webhdfs:
  - 9
  - 28
  smart_open.webhdfs.BufferedInputBase.__init__:
  - 110
  - 111
  smart_open.webhdfs.BufferedInputBase.close:
  - 120
  - 121
  - 119
  smart_open.webhdfs.BufferedInputBase.detach:
  - 142
  smart_open.webhdfs.BufferedInputBase.read:
  - 160
  - 163
  - 164
  - 168
  - 146
  - 147
  - 149
  - 157
  smart_open.webhdfs.BufferedInputBase.read1:
  - 173
  - 174
  smart_open.webhdfs.BufferedInputBase.readable:
  - 129
  smart_open.webhdfs.BufferedInputBase.readinto:
  - 177
  - 179
  - 180
  - 182
  - 183
  smart_open.webhdfs.BufferedInputBase.readline:
  - 186
  smart_open.webhdfs.BufferedInputBase.seekable:
  - 133
  smart_open.webhdfs.BufferedOutputBase.__init__:
  - 192
  - 204
  - 205
  - 208
  - 209
  smart_open.webhdfs.BufferedOutputBase._upload:
  - 232
  - 235
  - 237
  - 231
  smart_open.webhdfs.BufferedOutputBase.close:
  - 267
  - 268
  - 269
  - 271
  - 273
  - 274
  smart_open.webhdfs.BufferedOutputBase.writable:
  - 220
  smart_open.webhdfs.BufferedOutputBase.write:
  - 256
  - 257
  - 259
  - 261
  - 262
  - 241
  - 245
  - 248
  - 251
  - 252
  - 253
  - 255
  smart_open.webhdfs.WebHdfsException.__init__:
  - 286
  smart_open.webhdfs.WebHdfsException.__repr__:
  - 289
  smart_open.webhdfs.WebHdfsException.from_response:
  - 295
  smart_open.webhdfs._convert_to_http_uri:
  - 73
  - 81
  - 83
  - 84
  - 86
  - 88
  - 91
  smart_open.webhdfs.convert_to_http_uri:
  - 100
  smart_open.webhdfs.open:
  - 64
  - 68
  - 49
  - 58
  - 59
  - 61
  - 62
  - 63
  smart_open.webhdfs.open_uri:
  - 44
  - 45
  smart_open.webhdfs.parse_uri:
  - 40
Fuzzer filename: /src/fuzz_func.py
Inheritance:
  smart_open.azure.Reader: []
  smart_open.azure.Writer: []
  smart_open.azure._RawReader:
  - object
  smart_open.bytebuffer.ByteBuffer:
  - object
  smart_open.concurrency.ConcurrentFuturesPool:
  - object
  smart_open.concurrency.ThreadPoolExecutor:
  - _ThreadPoolExecutor
  smart_open.hdfs.CliRawInputBase: []
  smart_open.hdfs.CliRawOutputBase: []
  smart_open.http.BufferedInputBase: []
  smart_open.http.SeekableBufferedInputBase:
  - BufferedInputBase
  smart_open.s3.MultipartWriter: []
  smart_open.s3.Reader: []
  smart_open.s3.Retry: []
  smart_open.s3.SinglepartWriter: []
  smart_open.s3._ClientWrapper: []
  smart_open.s3._SeekableRawReader:
  - object
  smart_open.smart_open_lib.patch_pathlib:
  - object
  smart_open.utils.FileLikeProxy: []
  smart_open.utils.TextIOWrapper: []
  smart_open.webhdfs.BufferedInputBase: []
  smart_open.webhdfs.BufferedOutputBase: []
  smart_open.webhdfs.WebHdfsException:
  - Exception
ep:
  func_name: TestInput
  module: '...fuzz_func'
