# Path: hypebot/core/params_lib.py
# def _ParseChannel(channel):
# def _ParseChannels(channels):
#   def __init__(self, defaults=None):
#   def __str__(self):
#   def Override(self, params):
#   def _AssignValueConvertDict(self, key, value):
#   def _ParseDict(self, params):
#   def __setattr__(self, key, value):
#   def get(self, key, default_value=None):  # pylint: disable=invalid-name
#   def AsDict(self):
#   def Lock(self):
#   def _RaiseIfLocked(self):
# def MergeParams(defaults, *overrides):
# class HypeParams(object):
#   SPECIAL_ATTRS = ['_locked']
#   HAS_DYNAMIC_ATTRIBUTES = True


import abc
import re
from collections import namedtuple
from typing import Dict, List, Text
from six import with_metaclass
from hypebot.core import params_lib
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Monitor your networth in almost real time."""

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals





class StockQuote(namedtuple('StockQuote', 'price change percent')):
  """Current stock quote value.

  Fields:
    price: float Latest price for stock in USD.
    change: float Price change since opening in USD.
    percent: float Percent change of stock price since opening. 0-100 scale.
  """


class StockLib(with_metaclass(abc.ABCMeta)):
  """Base class for getting stock information."""

  DEFAULT_PARAMS = params_lib.HypeParams({})

  def __init__(self, params):

# Path: hypebot/core/params_lib.py
# def _ParseChannel(channel):
# def _ParseChannels(channels):
#   def __init__(self, defaults=None):
#   def __str__(self):
#   def Override(self, params):
#   def _AssignValueConvertDict(self, key, value):
#   def _ParseDict(self, params):
#   def __setattr__(self, key, value):
#   def get(self, key, default_value=None):  # pylint: disable=invalid-name
#   def AsDict(self):
#   def Lock(self):
#   def _RaiseIfLocked(self):
# def MergeParams(defaults, *overrides):
# class HypeParams(object):
#   SPECIAL_ATTRS = ['_locked']
#   HAS_DYNAMIC_ATTRIBUTES = True


# Path: hypebot/stocks/stock_lib.py
import abc
import re
from collections import namedtuple
from typing import Dict, List, Text
from six import with_metaclass
from hypebot.core import params_lib

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Monitor your networth in almost real time."""

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals





class StockQuote(namedtuple('StockQuote', 'price change percent')):
  """Current stock quote value.

  Fields:
    price: float Latest price for stock in USD.
    change: float Price change since opening in USD.
    percent: float Percent change of stock price since opening. 0-100 scale.
  """


class StockLib(with_metaclass(abc.ABCMeta)):
  """Base class for getting stock information."""

  DEFAULT_PARAMS = params_lib.HypeParams({})

  def __init__(self, params):

    self._params = params_lib.HypeParams(self.DEFAULT_PARAMS)