def METHOD_NAME(cls, id, name, description, groups=None, parameters=None, active=True):  # pylint: disable=redefined-builtin, invalid-name, unused-argument
    """
    Create a custom UserPartition to support dynamic groups.
    A Partition has an id, name, scheme, description, parameters, and a list
    of groups. The id is intended to be unique within the context where these
    are used. (e.g., for partitions of users within a course, the ids should
    be unique per-course). The scheme is used to assign users into groups.
    The parameters field is used to save extra parameters e.g., location of
    the course ID for this partition scheme.
    Partitions can be marked as inactive by setting the "active" flag to False.
    Any group access rule referencing inactive partitions will be ignored
    when performing access checks.
    """
    return EnrollmentTrackUserPartition(
        id,
        str(name),
        str(description),
        [],
        cls,
        parameters,
        active
    )