<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def get_wells(self, plate_name=None):
        '''Gets information about wells.

        Parameters
        ----------
        plate_name: str, optional
            name of the parent plate

        Returns
        -------
        List[Dict[str, str]]
            id, name and description of each well

        See also
        --------
        :func:`tmserver.api.well.get_wells`
        :class:`tmlib.models.well.Well`
        '''
        logger.info('get wells of experiment "%s"', self.experiment_name)
        params = dict()
        if plate_name is not None:
            logger.info('filter wells for plate "%s"', plate_name)
            params['plate_name'] = plate_name
        url = self._build_api_url(
            '/experiments/{experiment_id}/wells'.format(
                experiment_id=self._experiment_id
            ),
            params
        )
        res = self._session.get(url)
        res.raise_for_status()
        return res.json()['data']