def __init__(self, **options):
self.config = Configuration(**options)<EOL>self.config.validate()<EOL>self.http_client = HttpClient(self.config)<EOL>self.__accounts = basecrm.services.AccountsService(self.http_client)<EOL>self.__associated_contacts = basecrm.services.AssociatedContactsService(self.http_client)<EOL>self.__contacts = basecrm.services.ContactsService(self.http_client)<EOL>self.__deals = basecrm.services.DealsService(self.http_client)<EOL>self.__deal_sources = basecrm.services.DealSourcesService(self.http_client)<EOL>self.__deal_unqualified_reasons = basecrm.services.DealUnqualifiedReasonsService(self.http_client)<EOL>self.__leads = basecrm.services.LeadsService(self.http_client)<EOL>self.__lead_sources = basecrm.services.LeadSourcesService(self.http_client)<EOL>self.__lead_unqualified_reasons = basecrm.services.LeadUnqualifiedReasonsService(self.http_client)<EOL>self.__line_items = basecrm.services.LineItemsService(self.http_client)<EOL>self.__loss_reasons = basecrm.services.LossReasonsService(self.http_client)<EOL>self.__notes = basecrm.services.NotesService(self.http_client)<EOL>self.__orders = basecrm.services.OrdersService(self.http_client)<EOL>self.__pipelines = basecrm.services.PipelinesService(self.http_client)<EOL>self.__products = basecrm.services.ProductsService(self.http_client)<EOL>self.__sources = basecrm.services.SourcesService(self.http_client)<EOL>self.__stages = basecrm.services.StagesService(self.http_client)<EOL>self.__tags = basecrm.services.TagsService(self.http_client)<EOL>self.__tasks = basecrm.services.TasksService(self.http_client)<EOL>self.__text_messages = basecrm.services.TextMessagesService(self.http_client)<EOL>self.__users = basecrm.services.UsersService(self.http_client)<EOL>self.__visits = basecrm.services.VisitsService(self.http_client)<EOL>self.__visit_outcomes = basecrm.services.VisitOutcomesService(self.http_client)<EOL>self.__sync = basecrm.sync.SyncService(self.http_client)<EOL>
Usage::

  >>> import os
  >>> import basecrm
  >>> client = basecrm.Client(access_token=os.environ.get('BASECRM_ACCESS_TOKEN'))
  <basecrm.Client>


:param str access_token: Personal access token.
:param str base_url: (optional) Base url for the api. Default: ``https://api.getbase.com``.
:param str user_agent: (optional) Client user agent. Default: ``BaseCRM/v2 Python/{basecrm.VERSION}``.
:param bool verbose: (optional) Verbose/debug mode. Default: ``False``.
:param int timeout: (optional) Connection and response timeout. Default: **30** seconds.
:param bool verify_ssl: (optional) Whether to verify ssl or not. Default: ``True``.

:raises ConfigurationError: if no ``access_token`` provided.
:raises ConfigurationError: if provided ``access_token`` is invalid - contains disallowed characters.
:raises ConfigurationError: if provided ``access_token`` is invalid - has invalid length.
:raises ConfigurationError: if provided ``base_url`` is invalid.