From: 
Subject: Debian changes

The Debian packaging of python-alpha-vantage is maintained in git, using a workflow
similar to the one described in dgit-maint-merge(7).
The Debian delta is represented by this one combined patch; there isn't a
patch queue that can be represented as a quilt series.

A detailed breakdown of the changes is available from their canonical
representation -- git commits in the packaging repository.
For example, to see the changes made by the Debian maintainer in the first
upload of upstream version 1.2.3, you could use:

    % git clone https://git.dgit.debian.org/python-alpha-vantage
    % cd python-alpha-vantage
    % git log --oneline 1.2.3..debian/1.2.3-1 -- . ':!debian'

(If you have dgit, use `dgit clone python-alpha-vantage`, rather than plain `git clone`.)

We don't use debian/source/options single-debian-patch because it has bugs.
Therefore, NMUs etc. may nevertheless have made additional patches.

---

diff --git a/MANIFEST.in b/MANIFEST.in
index 2744e1e..7c61c56 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,3 +1,3 @@
-include README.rst
-recursive-include images
+include README.md
+recursive-include images *
 include LICENSE.txt
diff --git a/docs/conf.py b/docs/conf.py
index 5397807..06e61cb 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -31,7 +31,7 @@ sys.path.insert(0, os.path.abspath('../alpha_vantage'))
 # Add any Sphinx extension module names here, as strings. They can be
 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
 # ones.
-extensions = ['sphinx.ext.autodoc', 'sphinxcontrib.napoleon']
+extensions = ['sphinx.ext.autodoc', 'sphinx.ext.napoleon']
 
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
@@ -55,16 +55,16 @@ author = u'Romel J. Torres'
 # built documents.
 #
 # The short X.Y version.
-version = u'2.3.1'
+version = u'3.0.0'
 # The full version, including alpha/beta/rc tags.
-release = u'2.3.1'
+release = u'3.0.0'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
 #
 # This is also used if you do content translation via gettext catalogs.
 # Usually you set "language" from the command line for these cases.
-language = None
+language = 'en'
 
 # List of patterns, relative to source directory, that match files and
 # directories to ignore when looking for source files.
@@ -94,7 +94,7 @@ html_theme = 'sphinx_rtd_theme'
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['sphinx_rtd_theme.get_html_theme_path()']
+html_static_path = []
 
 
 # -- Options for HTMLHelp output ------------------------------------------
diff --git a/docs/source/alpha_vantage.rst b/docs/source/alpha_vantage.rst
index fca3e29..baa8759 100644
--- a/docs/source/alpha_vantage.rst
+++ b/docs/source/alpha_vantage.rst
@@ -28,14 +28,6 @@ alpha\_vantage\.foreignexchange module
     :undoc-members:
     :show-inheritance:
 
-alpha\_vantage\.sectorperformance module
-----------------------------------------
-
-.. automodule:: alpha_vantage.sectorperformance
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
 alpha\_vantage\.techindicators module
 -------------------------------------
 
diff --git a/setup.py b/setup.py
index 68ea95c..88a6338 100644
--- a/setup.py
+++ b/setup.py
@@ -1,7 +1,21 @@
 from setuptools import setup, find_packages
+from setuptools.command.build_py import build_py
 from codecs import open
 from os import path
 
+class BuildPy(build_py):
+    """Exclude modules represented by stale, dangling compatibility links."""
+
+    def find_package_modules(self, package, package_dir):
+        modules = super().find_package_modules(package, package_dir)
+        if package == 'alpha_vantage.async_support':
+            modules = [
+                module for module in modules
+                if module[1] != 'sectorperformance'
+            ]
+        return modules
+
+
 here = path.abspath(path.dirname(__file__))
 try:
     with open("README.md", "r") as fh:
@@ -11,7 +25,7 @@ except IOError:
 
 setup(
     name='alpha_vantage',
-    version='2.3.1',
+    version='3.0.0',
     author='Romel J. Torres',
     author_email='romel.torres@gmail.com',
     license='MIT',
@@ -35,12 +49,7 @@ setup(
         'aiohttp',
         'requests'
     ],
-    test_requires=[
-        'aioresponses',
-        'nose',
-        'requests_mock'
-    ],
-    extras_requires={
+    extras_require={
         'pandas': ['pandas'],
     },
     keywords=['stocks', 'market', 'finance', 'alpha_vantage', 'quotes',
@@ -49,5 +58,6 @@ setup(
         exclude=['helpers', 'test_alpha_vantage', 'images']),
     package_data={
         'alpha_vantage': [],
-    }
+    },
+    cmdclass={'build_py': BuildPy},
 )
diff --git a/test_alpha_vantage/test_alphavantage.py b/test_alpha_vantage/test_alphavantage.py
index 9b93600..7c65313 100644
--- a/test_alpha_vantage/test_alphavantage.py
+++ b/test_alpha_vantage/test_alphavantage.py
@@ -1,16 +1,14 @@
 #! /usr/bin/env python
-from ..alpha_vantage.alphavantage import AlphaVantage
-from ..alpha_vantage.timeseries import TimeSeries
-from ..alpha_vantage.techindicators import TechIndicators
-from ..alpha_vantage.sectorperformance import SectorPerformances
-from ..alpha_vantage.foreignexchange import ForeignExchange
-from ..alpha_vantage.fundamentaldata import FundamentalData
+from alpha_vantage.alphavantage import AlphaVantage
+from alpha_vantage.timeseries import TimeSeries
+from alpha_vantage.techindicators import TechIndicators
+from alpha_vantage.foreignexchange import ForeignExchange
+from alpha_vantage.fundamentaldata import FundamentalData
 
 from pandas import DataFrame as df, Timestamp
 
 import unittest
 import sys
-import collections
 from os import path
 import requests_mock
 
@@ -133,20 +131,6 @@ class TestAlphaVantage(unittest.TestCase):
                 "MSFT", interval='1min', outputsize='full')
             assert type(data.index[0]) == int
 
-    @requests_mock.Mocker()
-    def test_time_series_intraday_extended(self, mock_request):
-        """ Test that api call returns a csv-reader as requested
-        """
-        ts = TimeSeries(key=TestAlphaVantage._API_KEY_TEST, output_format='csv')
-        url = "https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY_EXTENDED&symbol=MSFT&interval=1min&slice=year1month1&adjusted=True&apikey=test&datatype=csv"
-        path_file = self.get_file_from_url("mock_time_series_extended")
-        with open(path_file) as f:
-            mock_request.get(url, text=f.read())
-            data, _ = ts.get_intraday_extended(
-                "MSFT", interval='1min')
-            self.assertIsInstance(
-              data, collections.Iterator, 'Result Data must implement Iterator-interface')
-
     @requests_mock.Mocker()
     def test_technical_indicator_sma_python3(self, mock_request):
         """ Test that api call returns a json file as requested
@@ -176,33 +160,6 @@ class TestAlphaVantage(unittest.TestCase):
             self.assertIsInstance(
                 data, df, 'Result Data must be a pandas data frame')
 
-    @requests_mock.Mocker()
-    def test_sector_perfomance_python3(self, mock_request):
-        """ Test that api call returns a json file as requested
-        """
-        sp = SectorPerformances(key=TestAlphaVantage._API_KEY_TEST)
-        url = "https://www.alphavantage.co/query?function=SECTOR&apikey=test"
-        path_file = self.get_file_from_url("mock_sector")
-        with open(path_file) as f:
-            mock_request.get(url, text=f.read())
-            data, _ = sp.get_sector()
-            self.assertIsInstance(
-                data, dict, 'Result Data must be a dictionary')
-
-    @requests_mock.Mocker()
-    def test_sector_perfomance_pandas(self, mock_request):
-        """ Test that api call returns a json file as requested
-        """
-        sp = SectorPerformances(
-            key=TestAlphaVantage._API_KEY_TEST, output_format='pandas')
-        url = "https://www.alphavantage.co/query?function=SECTOR&apikey=test"
-        path_file = self.get_file_from_url("mock_sector")
-        with open(path_file) as f:
-            mock_request.get(url, text=f.read())
-            data, _ = sp.get_sector()
-            self.assertIsInstance(
-                data, df, 'Result Data must be a pandas data frame')
-
     @requests_mock.Mocker()
     def test_foreign_exchange(self, mock_request):
         """ Test that api call returns a json file as requested
diff --git a/test_alpha_vantage/test_alphavantage_async.py b/test_alpha_vantage/test_alphavantage_async.py
index a9853b1..8bd37a5 100644
--- a/test_alpha_vantage/test_alphavantage_async.py
+++ b/test_alpha_vantage/test_alphavantage_async.py
@@ -1,9 +1,8 @@
 #!/usr/bin/env python
-from ..alpha_vantage.async_support.alphavantage import AlphaVantage
-from ..alpha_vantage.async_support.timeseries import TimeSeries
-from ..alpha_vantage.async_support.techindicators import TechIndicators
-from ..alpha_vantage.async_support.sectorperformance import SectorPerformances
-from ..alpha_vantage.async_support.foreignexchange import ForeignExchange
+from alpha_vantage.async_support.alphavantage import AlphaVantage
+from alpha_vantage.async_support.timeseries import TimeSeries
+from alpha_vantage.async_support.techindicators import TechIndicators
+from alpha_vantage.async_support.foreignexchange import ForeignExchange
 
 from pandas import DataFrame as df, Timestamp
 
@@ -18,9 +17,7 @@ import unittest
 def make_async(f):
     @wraps(f)
     def test_wrapper(*args, **kwargs):
-        coro = asyncio.coroutine(f)
-        future = coro(*args, **kwargs)
-        asyncio.get_event_loop().run_until_complete(future)
+        asyncio.run(f(*args, **kwargs))
     return test_wrapper
 
 
@@ -76,7 +73,7 @@ class TestAlphaVantageAsync(unittest.TestCase):
         Test that the rapidAPI key calls the rapidAPI endpoint
         """
         ts = TimeSeries(key=TestAlphaVantageAsync._API_KEY_TEST, rapidapi=True)
-        url = "https://alpha-vantage.p.rapidapi.com/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&outputsize=full&datatype=json"
+        url = "https://alpha-vantage.p.rapidapi.com/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&outputsize=full&adjusted=true&extended_hours=true&datatype=json"
         path_file = self.get_file_from_url("mock_time_series")
         with open(path_file) as f, aioresponses() as m:
             m.get(url, payload=json.loads(f.read()))
@@ -92,7 +89,7 @@ class TestAlphaVantageAsync(unittest.TestCase):
         Test that api call returns a json file as requested
         """
         ts = TimeSeries(key=TestAlphaVantageAsync._API_KEY_TEST)
-        url = "https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&outputsize=full&apikey=test&datatype=json"
+        url = "https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&outputsize=full&adjusted=true&extended_hours=true&apikey=test&datatype=json"
         path_file = self.get_file_from_url("mock_time_series")
         with open(path_file) as f, aioresponses() as m:
             m.get(url, payload=json.loads(f.read()))
@@ -109,7 +106,7 @@ class TestAlphaVantageAsync(unittest.TestCase):
         """
         ts = TimeSeries(key=TestAlphaVantageAsync._API_KEY_TEST,
                         output_format='pandas')
-        url = "https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&outputsize=full&apikey=test&datatype=json"
+        url = "https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&outputsize=full&adjusted=true&extended_hours=true&apikey=test&datatype=json"
         path_file = self.get_file_from_url("mock_time_series")
         with open(path_file) as f, aioresponses() as m:
             m.get(url, payload=json.loads(f.read()))
@@ -126,7 +123,7 @@ class TestAlphaVantageAsync(unittest.TestCase):
         """
         ts = TimeSeries(key=TestAlphaVantageAsync._API_KEY_TEST,
                         output_format='pandas', indexing_type='date')
-        url = "https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&outputsize=full&apikey=test&datatype=json"
+        url = "https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&outputsize=full&adjusted=true&extended_hours=true&apikey=test&datatype=json"
         path_file = self.get_file_from_url("mock_time_series")
         with open(path_file) as f, aioresponses() as m:
             m.get(url, payload=json.loads(f.read()))
@@ -145,7 +142,7 @@ class TestAlphaVantageAsync(unittest.TestCase):
         """
         ts = TimeSeries(key=TestAlphaVantageAsync._API_KEY_TEST,
                         output_format='pandas', indexing_type='integer')
-        url = "https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&outputsize=full&apikey=test&datatype=json"
+        url = "https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&outputsize=full&adjusted=true&extended_hours=true&apikey=test&datatype=json"
         path_file = self.get_file_from_url("mock_time_series")
         with open(path_file) as f, aioresponses() as m:
             m.get(url, payload=json.loads(f.read()))
@@ -187,37 +184,6 @@ class TestAlphaVantageAsync(unittest.TestCase):
                 data, df, 'Result Data must be a pandas data frame')
         await ti.close()
 
-    @make_async
-    async def test_sector_perfomance_python3(self):
-        """
-        Test that api call returns a json file as requested
-        """
-        sp = SectorPerformances(key=TestAlphaVantageAsync._API_KEY_TEST)
-        url = "https://www.alphavantage.co/query?function=SECTOR&apikey=test"
-        path_file = self.get_file_from_url("mock_sector")
-        with open(path_file) as f, aioresponses() as m:
-            m.get(url, payload=json.loads(f.read()))
-            data, _ = await sp.get_sector()
-            self.assertIsInstance(
-                data, dict, 'Result Data must be a dictionary')
-        await sp.close()
-
-    @make_async
-    async def test_sector_perfomance_pandas(self):
-        """
-        Test that api call returns a json file as requested
-        """
-        sp = SectorPerformances(
-            key=TestAlphaVantageAsync._API_KEY_TEST, output_format='pandas')
-        url = "https://www.alphavantage.co/query?function=SECTOR&apikey=test"
-        path_file = self.get_file_from_url("mock_sector")
-        with open(path_file) as f, aioresponses() as m:
-            m.get(url, payload=json.loads(f.read()))
-            data, _ = await sp.get_sector()
-            self.assertIsInstance(
-                data, df, 'Result Data must be a pandas data frame')
-        await sp.close()
-
     @make_async
     async def test_foreign_exchange(self):
         """
