from __future__ import absolute_import


import abc
import sys

if sys.version_info >= (3,):  # pragma: nocover
    from importlib.abc import MetaPathFinder
else:  # pragma: nocover
    from abc import ABCMeta as MetaPathFinder


class DistributionFinder(MetaPathFinder):
    """
    A MetaPathFinder capable of discovering installed distributions.
    """

    @abc.abstractmethod
    def find_distributions(self, name=None, path=None):
        """
        Return an iterable of all Distribution instances capable of
        loading the metadata for packages matching the name
        (or all names if not supplied) along the paths in the list
        of directories ``path`` (defaults to sys.path).
        """

from __future__ import absolute_import


import abc
import sys

if sys.version_info >= (3,):  # pragma: nocover
    from importlib.abc import MetaPathFinder
else:  # pragma: nocover
    class MetaPathFinder(object):
        __metaclass__ = abc.ABCMeta


class DistributionFinder(MetaPathFinder):
    """
    A MetaPathFinder capable of discovering installed distributions.
    """

    @abc.abstractmethod
    def find_distributions(self, name=None, path=None):
        """
        Return an iterable of all Distribution instances capable of
        loading the metadata for packages matching the name
        (or all names if not supplied) along the paths in the list
        of directories ``path`` (defaults to sys.path).
        """

Fix MetaPathFinder compatibility stub on Python 2.7
Fix MetaPathFinder compatibility stub on Python 2.7

  from __future__ import absolute_import
  
  
  import abc
  import sys
  
  if sys.version_info >= (3,):  # pragma: nocover
      from importlib.abc import MetaPathFinder
  else:  # pragma: nocover
-     from abc import ABCMeta as MetaPathFinder
+     class MetaPathFinder(object):
+         __metaclass__ = abc.ABCMeta
  
  
  class DistributionFinder(MetaPathFinder):
      """
      A MetaPathFinder capable of discovering installed distributions.
      """
  
      @abc.abstractmethod
      def find_distributions(self, name=None, path=None):
          """
          Return an iterable of all Distribution instances capable of
          loading the metadata for packages matching the name
          (or all names if not supplied) along the paths in the list
          of directories ``path`` (defaults to sys.path).
          """
  
Fix MetaPathFinder compatibility stub on Python 2.7
## Code Before:
from __future__ import absolute_import


import abc
import sys

if sys.version_info >= (3,):  # pragma: nocover
    from importlib.abc import MetaPathFinder
else:  # pragma: nocover
    from abc import ABCMeta as MetaPathFinder


class DistributionFinder(MetaPathFinder):
    """
    A MetaPathFinder capable of discovering installed distributions.
    """

    @abc.abstractmethod
    def find_distributions(self, name=None, path=None):
        """
        Return an iterable of all Distribution instances capable of
        loading the metadata for packages matching the name
        (or all names if not supplied) along the paths in the list
        of directories ``path`` (defaults to sys.path).
        """

## Instruction:
Fix MetaPathFinder compatibility stub on Python 2.7
## Code After:
from __future__ import absolute_import


import abc
import sys

if sys.version_info >= (3,):  # pragma: nocover
    from importlib.abc import MetaPathFinder
else:  # pragma: nocover
    class MetaPathFinder(object):
        __metaclass__ = abc.ABCMeta


class DistributionFinder(MetaPathFinder):
    """
    A MetaPathFinder capable of discovering installed distributions.
    """

    @abc.abstractmethod
    def find_distributions(self, name=None, path=None):
        """
        Return an iterable of all Distribution instances capable of
        loading the metadata for packages matching the name
        (or all names if not supplied) along the paths in the list
        of directories ``path`` (defaults to sys.path).
        """
