#!/usr/bin/env python
# -*- coding: utf-8; py-indent-offset:4 -*-
###############################################################################
#
# Copyright (C) 2015, 2016, 2017 Daniel Rodriguez
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from __future__ import (absolute_import, division, print_function,
                        unicode_literals)

from .version import __version__, __btversion__

from .errors import *
from . import errors as errors

from .utils import num2date, date2num, time2num, num2time

from .linebuffer import *
from .functions import *

from .order import *
from .comminfo import *
from .trade import *
from .position import *

from .store import Store

from . import broker as broker
from .broker import *

from .lineseries import *

from .dataseries import *
from .feed import *
from .resamplerfilter import *

from .lineiterator import *
from .indicator import *
from .analyzer import *
from .observer import *
from .sizer import *
from .sizers import SizerFix  # old sizer for compatibility
from .strategy import *

from .writer import *

from .signal import *

from .cerebro import *
from .timer import *
from .flt import *

from . import utils as utils

from . import feeds as feeds
from . import indicators as indicators
from . import indicators as ind
from . import studies as studies
from . import strategies as strategies
from . import strategies as strats
from . import observers as observers
from . import observers as obs
from . import analyzers as analyzers
from . import commissions as commissions
from . import commissions as comms
from . import filters as filters
from . import signals as signals
from . import sizers as sizers
from . import stores as stores
from . import brokers as brokers
from . import timer as timer

from . import talib as talib

# Load contributed indicators and studies
import backtrader.indicators.contrib
import backtrader.studies.contrib
