def get_field(
        self,
        path,
        ftype=None,
        embedded_doc_type=None,
        subfield=None,
        read_only=None,
        include_private=False,
        leaf=False,
    ):
        """Returns the field instance of the provided path, or ``None`` if one
        does not exist.

        Args:
            path: a field path
            ftype (None): an optional field type or iterable of types to
                enforce. Must be subclass(es) of
                :class:`fiftyone.core.fields.Field`
            embedded_doc_type (None): an optional embedded document type or
                iterable of types to enforce. Must be subclass(es) of
                :class:`fiftyone.core.odm.BaseEmbeddedDocument`
            subfield (None): an optional subfield type or iterable of subfield
                types to enforce. Must be subclass(es) of
                :class:`fiftyone.core.fields.Field`
            read_only (None): whether to optionally enforce that the field is
                read-only (True) or not read-only (False)
            include_private (False): whether to include fields that start with
                ``_`` in the returned schema
            leaf (False): whether to return the subfield of list fields

        Returns:
            a :class:`fiftyone.core.fields.Field` instance or ``None``

        Raises:
            ValueError: if the field does not match provided constraints
        """
        fof.validate_constraints(
            ftype=ftype,
            embedded_doc_type=embedded_doc_type,
            subfield=subfield,
            read_only=read_only,
        )

        _, field, _ = self._parse_field(
            path, include_private=include_private, leaf=leaf
        )

        fof.validate_field(
            field,
            path=path,
            ftype=ftype,
            embedded_doc_type=embedded_doc_type,
            subfield=subfield,
            read_only=read_only,
        )

        return field
Returns the field instance of the provided path, or ``None`` if one
        does not exist.

        Args:
            path: a field path
            ftype (None): an optional field type or iterable of types to
                enforce. Must be subclass(es) of
                :class:`fiftyone.core.fields.Field`
            embedded_doc_type (None): an optional embedded document type or
                iterable of types to enforce. Must be subclass(es) of
                :class:`fiftyone.core.odm.BaseEmbeddedDocument`
            subfield (None): an optional subfield type or iterable of subfield
                types to enforce. Must be subclass(es) of
                :class:`fiftyone.core.fields.Field`
            read_only (None): whether to optionally enforce that the field is
                read-only (True) or not read-only (False)
            include_private (False): whether to include fields that start with
                ``_`` in the returned schema
            leaf (False): whether to return the subfield of list fields

        Returns:
            a :class:`fiftyone.core.fields.Field` instance or ``None``

        Raises:
            ValueError: if the field does not match provided constraints
        
fiftyone/core/collections.py