From c1b92c8026793e2ae03bc26a6693290ed022a0f9 Mon Sep 17 00:00:00 2001 From: Kevin Sheppard Date: Tue, 13 Jul 2021 08:26:31 +0100 Subject: [PATCH] MAINT: Add AzureCi and prepare for 0.10 release Add Azure CI run Prepare for 0.10 release by restructuring Remove useless files --- .travis.yml | 77 --------------- README.md | 97 +++++++++++++++++++ README.rst | 94 ------------------ azure-pipelines.yml | 30 ++++++ ci/azure/azure_template_posix.yml | 86 ++++++++++++++++ ci/azure/azure_template_windows.yml | 86 ++++++++++++++++ ...ub_deploy_key_pydata_pandas_datareader.enc | 1 - setup.py | 2 +- test.sh | 3 - 9 files changed, 300 insertions(+), 176 deletions(-) delete mode 100644 .travis.yml create mode 100644 README.md delete mode 100644 README.rst create mode 100644 azure-pipelines.yml create mode 100644 ci/azure/azure_template_posix.yml create mode 100644 ci/azure/azure_template_windows.yml delete mode 100644 github_deploy_key_pydata_pandas_datareader.enc delete mode 100755 test.sh diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ae00d783..00000000 --- a/.travis.yml +++ /dev/null @@ -1,77 +0,0 @@ -dist: bionic -language: python - -env: - global: - - TEST_TYPE="stable and not requires_api_key" - - TEST_INSTALL=false - # Doctr deploy key for pydata/pandas-datareader - - secure: "iGbOAbBSV5y0TKDh2CifRSk6OpLA9GbEEL/hscHFLSDDUCWcdfvYXda3SWJFWyoQ5QUxSigXWd+ukr4u92d7lmB7m3TWj6BAMNuRpatTgnejLNwLvNeYdvLAxPvx39Cq85frd1Rx1beBLn3h/4wm4Ah+dR5W9NH8+x3OuZMH3Eo=" - -matrix: - fast_finish: true - include: - - python: 3.6 - env: PANDAS=0.23 NUMPY=1.16 - - python: 3.7 - env: PANDAS=0.25 NUMPY=1.17 DOCBUILD=true - - python: 3.7 - env: PANDAS=0.25 NUMPY=1.18 - - python: 3.8 - env: PANDAS=1 NUMPY=1.18 - - python: 3.8 - env: PANDAS=1 NUMPY=1.19 TEST_INSTALL=true - - python: 3.7 - env: TEST_TYPE="quandl" PANDAS=1 NUMPY=1.19 - # In allow failures - - python: 3.7 - env: TEST_TYPE="alpha_vantage" PANDAS=1 NUMPY=1.19 - - python: 3.7 - env: TEST_TYPE="not stable and not alpha_vantage and not quandl" PANDAS=1 NUMPY=1.19 - - python: 3.7 - env: PANDAS="MASTER" NUMPY=1.18 - allow_failures: - - python: 3.7 - env: PANDAS="MASTER" NUMPY=1.17 - - python: 3.7 - env: TEST_TYPE="alpha_vantage" PANDAS=1 NUMPY=1.19 - - python: 3.7 - env: TEST_TYPE="not stable and not alpha_vantage and not quandl" PANDAS=1 NUMPY=1.19 - -install: - - source ci/pypi-install.sh; - - pip list - - pip install . --no-build-isolation -v - -script: - - if [[ -n "${TEST_TYPE+x}" ]]; then export MARKERS="-m ${TEST_TYPE}"; fi - - | - if [[ ${TEST_INSTALL} = false ]]; then - pytest -v -s -r xX "${MARKERS}" --cov-config .coveragerc --cov=pandas_datareader --cov-report xml:/tmp/cov-datareader.xml --junitxml=/tmp/datareader.xml - else - mkdir pdr_test - cd pdr_test - python -c "import pandas_datareader; pandas_datareader.test()" - cd .. - fi - - black --version - - black --check pandas_datareader - - flake8 --version - - flake8 pandas_datareader - - | - if [[ "$DOCBUILD" ]]; then - set -e - cd docs - make html - cd .. - if [[ -z "$TRAVIS_TAG" ]]; then - doctr deploy devel --build-tags - else - doctr deploy . --build-tags - fi - set +e - fi - -after_script: - - coveralls - - codecov diff --git a/README.md b/README.md new file mode 100644 index 00000000..035bd9da --- /dev/null +++ b/README.md @@ -0,0 +1,97 @@ +# pandas-datareader + +Up to date remote data access for pandas, works for multiple versions of +pandas. + +[![image][]][1] + +[![image][2]][3] + +[![image][4]][5] + +[![image][6]][7] + +[![image][8]][9] + +[![image][10]][11] + +## Installation + +Install using `pip` + +``` shell +pip install pandas-datareader +``` + +## Usage + +``` python +import pandas_datareader as pdr +pdr.get_data_fred('GS10') +``` + +## Documentation + +[Stable documentation][] is available on +[github.io][Stable documentation]. A second copy of the stable +documentation is hosted on [read the docs][] for more details. + +[Development documentation][] is available for the latest changes in +master. + +### Requirements + +Using pandas datareader requires the following packages: + +- pandas>=0.23 +- lxml +- requests>=2.19.0 + +Building the documentation additionally requires: + +- matplotlib +- ipython +- requests_cache +- sphinx +- pydata_sphinx_theme + +Development and testing additionally requires: + +- black +- coverage +- codecov +- coveralls +- flake8 +- pytest +- pytest-cov +- wrapt + +### Install latest development version + +``` shell +pip install git+https://github.com/pydata/pandas-datareader.git +``` + +or + +``` shell +git clone https://github.com/pydata/pandas-datareader.git +cd pandas-datareader +python setup.py install +``` + + [image]: https://img.shields.io/pypi/v/pandas-datareader.svg + [1]: https://pypi.python.org/pypi/pandas-datareader/ + [2]: https://travis-ci.org/pydata/pandas-datareader.svg?branch=master + [3]: https://travis-ci.org/pydata/pandas-datareader + [4]: https://coveralls.io/repos/pydata/pandas-datareader/badge.svg?branch=master + [5]: https://coveralls.io/r/pydata/pandas-datareader + [6]: https://codecov.io/gh/pydata/pandas-datareader/branch/master/graph/badge.svg + [7]: https://codecov.io/gh/pydata/pandas-datareader + [8]: https://readthedocs.org/projects/pandas-datareader/badge/?version=latest + [9]: https://pandas-datareader.readthedocs.io/en/latest/ + [10]: https://img.shields.io/badge/code%20style-black-000000.svg + [11]: https://github.com/psf/black + [Stable documentation]: https://pydata.github.io/pandas-datareader/ + [read the docs]: https://pandas-datareader.readthedocs.io/ + [Development documentation]: https://pydata.github.io/pandas-datareader/devel/ \ No newline at end of file diff --git a/README.rst b/README.rst deleted file mode 100644 index f3603e79..00000000 --- a/README.rst +++ /dev/null @@ -1,94 +0,0 @@ -pandas-datareader -================= - -Up to date remote data access for pandas, works for multiple versions of pandas. - -.. image:: https://img.shields.io/pypi/v/pandas-datareader.svg - :target: https://pypi.python.org/pypi/pandas-datareader/ - -.. image:: https://travis-ci.org/pydata/pandas-datareader.svg?branch=master - :target: https://travis-ci.org/pydata/pandas-datareader - -.. image:: https://coveralls.io/repos/pydata/pandas-datareader/badge.svg?branch=master - :target: https://coveralls.io/r/pydata/pandas-datareader - -.. image:: https://codecov.io/gh/pydata/pandas-datareader/branch/master/graph/badge.svg - :target: https://codecov.io/gh/pydata/pandas-datareader - -.. image:: https://readthedocs.org/projects/pandas-datareader/badge/?version=latest - :target: https://pandas-datareader.readthedocs.io/en/latest/ - -.. image:: https://img.shields.io/badge/code%20style-black-000000.svg - :target: https://github.com/psf/black - -Installation ------------- - -Install using ``pip`` - -.. code-block:: shell - - pip install pandas-datareader - -Usage ------ - -.. code-block:: python - - import pandas_datareader as pdr - pdr.get_data_fred('GS10') - -Documentation -------------- - -`Stable documentation `__ -is available on -`github.io `__. -A second copy of the stable documentation is hosted on -`read the docs `_ for more details. - -`Development documentation `__ -is available for the latest changes in master. - -Requirements -~~~~~~~~~~~~ - -Using pandas datareader requires the following packages: - -* pandas>=0.23 -* lxml -* requests>=2.19.0 - -Building the documentation additionally requires: - -* matplotlib -* ipython -* requests_cache -* sphinx -* pydata_sphinx_theme - -Development and testing additionally requires: - -* black -* coverage -* codecov -* coveralls -* flake8 -* pytest -* pytest-cov -* wrapt - -Install latest development version -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: shell - - pip install git+https://github.com/pydata/pandas-datareader.git - -or - -.. code-block:: shell - - git clone https://github.com/pydata/pandas-datareader.git - cd pandas-datareader - python setup.py install diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 00000000..cb7a65fb --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,30 @@ +# https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops#passing-parameters +schedules: +- cron: "27 3 * * 0" + # 3:27am UTC every Sunday + displayName: Weekly build + branches: + include: + - main + always: true + +trigger: +- main + +variables: + PYTHONHASHSEED: 12345678 + SETUPTOOLS_USE_DISTUTILS: "stdlib" + coverage: true + RANDOMGEN_CYTHON_COVERAGE: true + +jobs: + +- template: ci/azure/azure_template_posix.yml + parameters: + name: Linux + vmImage: ubuntu-20.04 + +- template: ci/azure/azure_template_windows.yml + parameters: + name: Windows + vmImage: windows-2019 diff --git a/ci/azure/azure_template_posix.yml b/ci/azure/azure_template_posix.yml new file mode 100644 index 00000000..1f74feb9 --- /dev/null +++ b/ci/azure/azure_template_posix.yml @@ -0,0 +1,86 @@ +# Python package +# Create and test a Python package on multiple Python versions. +# Add steps that analyze code, save the dist with the build record, publish to a PyPI-compatible index, and more: +# https://docs.microsoft.com/azure/devops/pipelines/languages/python + +parameters: + # defaults for any parameters that are not specified + name: '' + vmImage: '' + coverage: true + +jobs: + +- job: ${{ parameters.name }}Test + pool: + vmImage: ${{ parameters.vmImage }} + strategy: + matrix: + ${{ if eq(parameters.name, 'Linux') }}: + python36_legacy: + python.version: '3.6' + PANDAS: 1.0.5 + python37_legacy: + python.version: '3.7' + PANDAS: 1.1.5 + python38_recent: + python.version: '3.8' + PANDAS: 1.2.5 + python39_latest: + python.version: '3.9' + + maxParallel: 10 + + steps: + - task: UsePythonVersion@0 + inputs: + versionSpec: '$(python.version)' + displayName: 'Use Python $(python.version)' + + - script: | + python -m pip install pip setuptools -U + python -m pip install -r requirements.txt + python -m pip install -r requirements-dev.txt + + if [[ -n ${PANDAS} ]]; then + python -m pip install pandas==${PANDAS} + fi; + displayName: 'Install dependencies' + + - script: | + python -m pip install -e . -v --no-build-isolation + displayName: 'Install' + + - script: python -m pip list + displayName: 'List Configuration (PyPI)' + + - script: | + black --check pandas_datareader + isort --check pandas_datareader + flake8 pandas_datareader + displayName: 'Check style and formatting' + + - script: | + echo "Testing editable install" + if [[ ${COVERAGE} == "true" ]]; then + export COVERAGE_OPTS="--cov-config .coveragerc --cov=pandas_datareader --cov-report xml:coverage.xml --cov-report term" + fi + echo pytest -m "${PYTEST_PATTERN}" --junitxml=junit/test-results.xml -n auto --durations=25 ${COVERAGE_OPTS} pandas_datareader/tests + pytest -m "${PYTEST_PATTERN}" --junitxml=junit/test-results.xml -n auto --durations=25 ${COVERAGE_OPTS} pandas_datareader/tests + displayName: 'Run tests' + + - task: PublishTestResults@2 + inputs: + testResultsFiles: '**/test-results.xml' + testRunTitle: 'Python $(python.version)' + condition: succeededOrFailed() + + - task: PublishCodeCoverageResults@1 + inputs: + codeCoverageTool: Cobertura + summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml' + condition: eq(variables['coverage'], 'true') + + - bash: bash <(curl -s https://codecov.io/bash) + displayName: 'CodeCov upload' + condition: eq(variables['coverage'], 'true') diff --git a/ci/azure/azure_template_windows.yml b/ci/azure/azure_template_windows.yml new file mode 100644 index 00000000..bb1ff8a0 --- /dev/null +++ b/ci/azure/azure_template_windows.yml @@ -0,0 +1,86 @@ +# Python package +# Create and test a Python package on multiple Python versions. +# Add steps that analyze code, save the dist with the build record, publish to a PyPI-compatible index, and more: +# https://docs.microsoft.com/azure/devops/pipelines/languages/python + +parameters: + # defaults for any parameters that are not specified + name: '' + vmImage: '' + coverage: true + +jobs: + +- job: ${{ parameters.name }}Test + pool: + vmImage: ${{ parameters.vmImage }} + strategy: + matrix: + ${{ if eq(parameters.name, 'Linux') }}: + python37_legacy: + python.version: '3.7' + PANDAS: 1.0.5 + python38_legacy: + python.version: '3.8' + PANDAS: 1.1.5 + python38_recent: + python.version: '3.8' + PANDAS: 1.2.5 + python39_latest: + python.version: '3.9' + + maxParallel: 10 + + steps: + - task: UsePythonVersion@0 + inputs: + versionSpec: '$(python.version)' + displayName: 'Use Python $(python.version)' + + - script: | + python -m pip install pip setuptools -U + python -m pip install -r requirements.txt + python -m pip install -r requirements-dev.txt + + if [[ -n ${PANDAS} ]]; then + python -m pip install pandas==${PANDAS} + fi; + displayName: 'Install dependencies' + + - script: | + python -m pip install -e . -v --no-build-isolation + displayName: 'Install' + + - script: python -m pip list + displayName: 'List Configuration (PyPI)' + + - script: | + black --check pandas_datareader + isort --check pandas_datareader + flake8 pandas_datareader + displayName: 'Check style and formatting' + + - script: | + echo "Testing editable install" + if [[ ${COVERAGE} == "true" ]]; then + export COVERAGE_OPTS="--cov-config .coveragerc --cov=pandas_datareader --cov-report xml:coverage.xml --cov-report term" + fi + echo pytest -m "${PYTEST_PATTERN}" --junitxml=junit/test-results.xml -n auto --durations=25 ${COVERAGE_OPTS} pandas_datareader/tests + pytest -m "${PYTEST_PATTERN}" --junitxml=junit/test-results.xml -n auto --durations=25 ${COVERAGE_OPTS} pandas_datareader/tests + displayName: 'Run tests' + + - task: PublishTestResults@2 + inputs: + testResultsFiles: '**/test-results.xml' + testRunTitle: 'Python $(python.version)' + condition: succeededOrFailed() + + - task: PublishCodeCoverageResults@1 + inputs: + codeCoverageTool: Cobertura + summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml' + condition: eq(variables['coverage'], 'true') + + - bash: bash <(curl -s https://codecov.io/bash) + displayName: 'CodeCov upload' + condition: eq(variables['coverage'], 'true') diff --git a/github_deploy_key_pydata_pandas_datareader.enc b/github_deploy_key_pydata_pandas_datareader.enc deleted file mode 100644 index f4d663c8..00000000 --- a/github_deploy_key_pydata_pandas_datareader.enc +++ /dev/null @@ -1 +0,0 @@ -gAAAAABabbCaFBssI7W4iyKQIbnG4YFykR-6EcWyDMm_jfq9HPiHt-9REL5iiGqwjcTN916i4aZwCY3qE7dJgqnkdhrIp31QyUxMrQHVmIeRHHyWk4E2rnjgnamC54d5wdt_a207NOB5TVwoOQMOtFYvEw5lG5mKttlmFY4gE3Uwf-dYqQCO7a7liOHJl61mQvfh9Q602kcpI1Tlx0u5KCzHGqe_1ia0zaeh5cVo0wp6S462wXi_1hsUOz9QwHlLEtiVzmP6cUNVfd62wWHLJu9jmQnemXKFCXd0y3_YqzuSM0EKY-dK1E9hfBffcrFN8WtDvq10T0a75IQclAeO2FvCbFgSY9Goqzq8goRyFJHUb2jUwwqgB-hPO4kFoIWHV4mmCjVdU5xYfVfjfKar23QV1wLhnyeYA4KCZxuLcFHI0sqIGZU_JGgjxwby10UxyeCdfPlXzcKnreCQ3BqorGYa5bzGatWBqRPIZHUzZxhYmIV8_4gs8e7AetiuvoP9ezJ4z74oKonGNSrh0PQ7FSyj5ph2rVZcvvF0YOOdcF8VlldNToy1cD5ZDnfXVcL7bA6KVqh4ULeUlgQZWbLkRKqsHzjhdGOY68nAapfLn1IMNFObOI2R4UG16oTy6X0Ol4RZyEVjwjnzDf6pW17I-wulXLR4B7SQ8RwUVHFLu8fZurUzMf7Jm5HviW5t0ijLbei2lAX1l85W0dj_YBmABL_iUl5vOzTtmzsjWwQO5fKOlhgI5u4VHYCFHjVj-NwuHllumKsDHf6Y9olbvUzIYSHO7JadJHoO6RplR8_Q2d3fJuRkyaiD6GFSiP8CGg_ENmZ_9RPdPvEMYG5xcbvqJnZKNEMsafbe8Ssk3QRfDEl2n4EJWohq7kWbwx0JrrDIbYx-ZAcWZOHN7fp4AEOD61Mb9oImNJHIYH3JqN1vM2geH3DuyJPdm5zu0nfDQe7fewEgc1Qj2g6WPkCdwwOJ0oLTgiNfZgDlHs6w9iJhNGIgC_OSPmMx6CYlmlrBo0_KBJlAeuXHP3CmShyFLVargKQ6ffoKMQSfObPr4PRHot2_u546OgItSaYw8j7BgrfjxY_k1wZOA6J3xN_WskGTyRZ70OMW-iJDcf3pZHkRt2Th3D2rtCWsh2E2y1xTGpXH3TFTDVYC7NJ6C_vVCV-ZP2vRxH6xxowMvJneW1LNF2XPMtb5qudRDTwO-DNYjOspyHAK_o8hAov4y9reRJtxXJjSQV1Lx-8yfOamqvA4x130tPOE8W3QDauo1Ys-fYAF9luxYWpLyCMzW42SOPyAlJ7YVeyrsf3eQqW2bh4C_ZuppTKJtOQqke0S_Bg1uG4SbYNywFKTglLTYu6PStTxSJn6OUkIBL1PAMnRQ7i4mjNHfCMdpoVpglYxH-UnGMwUjHJxmgCqZNp0Fy4jE853K1FM0a2hmuoCHbPY30qCVTnacAxWkfiROutDrmBqxVjmJzDVgkGECeeHWGyp749WZPOfjGPlY8QdcF0HS_u7F53_GURYPrkEz3BUQmPkEHaFWutXw1kOQJQ_tOESAoy2k5SiOGES0SlWlzJshB0-7EypUSab2ZlYB83p2VZNvlIXGPqiIAe_pcn6wWr-iWIuO5GUCvSN7kuZBWv_TcZPV2AXA2HF4HZdDreq_u4lQDOXAv3Rwi1NnUUt2zA8SegtLONydtJ8mD1LI8da1BDgknEMHSJV3gyHm2OKfYTPL0iLV223Sv5Pj6EHD_x1pzhtorUMh-4BewpKOLp0gTGRZj05DiEUx6BOZe1rTfCRLdPi04ZLox--B6yL5pZYL_rPtxASL0kQaBAvsWo35nwzWmigBGfjRYl2tVT9x_N4jfN5OnxFQO2ht3Wv__9CO_8OrRz8hf6Hmw5gn6XJsdHRsm-FyEAwAP4rBQJqx-z3OYggVIzcFyrMwFE3xibAvdWdeP0GB4MUdwhIYmtPHRpo408yPZMX28N_BbsuOTXUD_qdj0b56JlY5qtm7CbaS_kkzPU6HoDFC6K_Drp5LB7JfW25u5sDi2ajjvHbdT2oN29Nb1gDSXAZf1OaGEGbmFmKW43jfpq_y_fCxQqeI39K-1t4aZhQmHV6eRBXKR6voNIo3dvS0aLXYF2XLq1XpiioySIKMq4hqH9kIZJ7aF7MM-9GaLY3k8lpxymgUno0ynKPZrbf-5zQu8knNDESanMIPslYAWoCjc8cq7NdAMj4fVBvZcSfpOjuZWRbkKHBc5gZ7h_2KSejlMGetD6jetvq95ddAxogZNqNVz-PF5xye6aVUxHnykREXn1mq2QS6rbz2IR0bxhXb2hQ7eBXCpnGU0mNFzgLrP4zslLLFVJAfB32s9NjHsyNwU1iaLxwR7D5zwxh6bVWiagACgJ2jhGzYq_gXAh9BqJ-fUMCzt7C15jFqjoy8aE98ndpKjXd2fQAj2yVXgCL-ProcS3UU2-G4p57YysaL0hlaHj-h26nJX4I6LxptnzAsbHFuuN5wlZlccoJ4odZ_QzPxFLuHpaIbMuCDOSZpcVrLjzFXQ5DT6ZXNirDo6RIxHS3K7UVeB1jzcoulrUl3MlWHfHM_6wqqvSnHAgrfReFvA_UvXIJ_ZXHp2AvW4R_qgp3e9R3FStW0D9YdsmQ2jMZ8n6qcG7SF3O1dh9W4zzx0Epm952-PpoAfm9P-oXoeJKblS7dBgJ_oqN7wd5Kv-ACtQr3KCS_ZvE6Fr0wPUfsL8BK-guYv8s0QD96qS98ph_ZN-6gOPSQgLFJwCu1o-oi-JB9wtw9cQHMESGagrs2cyIqOHayzfpKj2TehSUC4jlSMNMGl-0CneT-HGVZawFL9TLxIozy431Q90T72sYn9kK1jZsdHXNifoNQQIB0Jm6dfzB21WJFZCl4Dcz5veGPjfavPD1Bq0f0DuWX1wNqF6p2UZUKZw-iFqN9VabaWAzjmFN3HnsUgLw2qMp-H6Bc6vmzCAiya_gTN3CRvQpo8RDnusLxBmRbPxXtgONaY5qgSzAnjJtiYrFpnHT3L-7N1HbJPHlbxIjJg-JDfcjyxPUKk9h7Oqz1hzKD1_T4vSHbCiNS74FDpwVRbCCO86ORY4F4lmBc012iybcQFNaRyIA178QOpUPSEjhrUcqPPr84xEveDcg5ba-UyxdXQhlw23Q-byUK33h8K8XVUxLs4gvt7kakEae2PD_He4gMCL7h86cN8TcwK5BJMqDbzji7zSQ3X3ladZV42xp59jPmEcw4hgkq7dy11aHUCrJ9Tm_XwM0dIxybpTRwrZibxuulX30fweSNghaiebAu24-STxIVQIylI6nweKeChk6iI33RFkx4UX_MpgGA6FuvXBS4o8PhibMtOaabG-qVw9SnWzHLz2CP-WVI0qqGWiLZn3Lb2NWa0NrwQ20fKPjlZZCTv7dA43VbW0uYJArZcdbL26K1-KwVWQlcyynx-XNydmMwH-6Vi8nHfQC6jaEi4s48LWfvz39oRMulJPzQomTyGFlMAFjsR3CwvWza-SuBoLoQ3TGwMRw7iZHRf-H_3DhC4PX2rxbbA_rjJE8s05Q-1rSL1QbpR0kueOEqZ8HfucoUiSlANCClCb5eDiwjoXr18EQ1vT_8DHN5N5Jh61-jBHLFhdFg6bXuER1w0mJjchZzfS1oVhMCEnRiafxLPeEUNPGKZDLmM-sAO0csAw_t0yInmytqqgtqQsWbWYlF7e68wF7nlV79nsn5TpYNSJ1trQdSCciQjdXYDpgCq_tGHQ5mGB9ynMZVOxDp1_poozUmPAOeujMgWFolr9U2jQYcRYDRQ4sx3WqbkdeZIoD1t4KXMZtw7rhzXkCBtkpIlcKhnJ3JGvbH0UvpUwmaSpjxTBXw_dl16AnzBRGw28sxCBl6Go089xnoZ_1b0HzXxt6tImhyjhJ0SySNbbbICOxA-DiarNl9VBPS8J2Fk1Ama8uKQ927A7QlUEwFYnBGQoS8eMFCU39m2VHSyH1nx1dy_yWuWDdRtO6RYoMWmZZeBr8VjHeSM8kXBMKbiDas5vSauGR1lWyMAQUFCGCg8YXJgIaHQqMRqnzmrJnXIvuwEK1PTHA4X6FAdAQWnc-qlbcI-Q0xwHKO3Jpqan523wP83U4NQD38OhXkeIzdV-E0Qie4784JJz9XFnOXtvM8NahJtY7ktfYu8FjRSbQ6nH6wwFg6Pnupx-p4hfYQgRCjk3aorcsADJPbUMdFHL0zRJQTbgikf6Mbhe6lch71dkgwP4ZASNEfTzR843nYP1pm-HY9sUGEqr2HsDUSLHGQ7jCCl93JIvwTC-kYsvYTwZtR_IqdXdpG83rKXXpJeI236glkl5jz7rXHZLAsTvi4aKS9M3OkPAaLxAOb5Iple-uky4jxHVKw7wEY2C5HLJIuHuVwqcBF2dzq5v33AKLKCPw= \ No newline at end of file diff --git a/setup.py b/setup.py index 0c47fec9..45cb2c5a 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ def readme(): - with open("README.rst") as f: + with open("README.md") as f: return f.read() diff --git a/test.sh b/test.sh deleted file mode 100755 index 16bb8ef7..00000000 --- a/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -pytest -s -r xX pandas_datareader "$@"