uri_parser – Tools to parse and validate a MongoDB URI

    pymongo.uri_parser.parse_host(entity, default_port=27017)

    Validates a host string

    Returns a 2-tuple of host followed by port where port is default_port if it wasn’t specified in the string.

    pymongo.uri_parser.parse_ipv6_literal_host(entity, default_port)

    Validates an IPv6 literal host:port string.

    Returns a 2-tuple of IPv6 literal followed by port where port is default_port if it wasn’t specified in entity.

    Parameters:
    • entity: A string that represents an IPv6 literal enclosed
      in braces (e.g. ‘[::1]’ or ‘[::1]:27017’).

    pymongo.uri_parser.parse_uri(uri, default_port=27017, validate=True, warn=False, normalize=True, connect_timeout=None)

    Parse and validate a MongoDB URI.

    If the URI scheme is “mongodb+srv://” DNS SRV and TXT lookups will be done to build nodelist and options.

    Changed in version 3.9: Added the normalize parameter.

    Changed in version 3.6: Added support for mongodb+srv:// URIs.

    Changed in version 3.5: Return the original value of the readPreference MongoDB URI option instead of the validated read preference mode.

    Changed in version 3.1: added so invalid options can be ignored.

    pymongo.uri_parser.parse_userinfo(userinfo)

    Validates the format of user information in a MongoDB URI. Reserved characters like ‘:’, ‘/’, ‘+’ and ‘@’ must be escaped following RFC 3986.

    Returns a 2-tuple containing the unescaped username followed by the unescaped password.

    Paramaters:
    • userinfo: A string of the form <username>:<password>

    pymongo.uri_parser.split_hosts(hosts, default_port=27017)

    Takes a string of the form host1[:port],host2[:port]… and splits it into (host, port) tuples. If [:port] isn’t present the default_port is used.

    Returns a set of 2-tuples containing the host name (or IP) followed by port number.

    pymongo.uri_parser.split_options(opts, validate=True, warn=False, normalize=True)

    Takes the options portion of a MongoDB URI, validates each option and returns the options in a dictionary.

    Parameters:
    • opt: A string representing MongoDB URI options.
    • validate: If True (the default), validate and normalize all options.
    • warn: If False (the default), suppress all warnings raised during validation of options.
    • normalize: If True (the default), renames all options to their internally-used names.

    (opts, warn=False)

    Validates and normalizes options passed in a MongoDB URI.

    Returns a new dictionary of validated and normalized options. If warn is False then errors will be thrown for invalid options, otherwise they will be ignored and a warning will be issued.