pandas (1.1.5+dfsg-2) unstable; urgency=medium
authorRebecca N. Palmer <rebecca_palmer@zoho.com>
Tue, 12 Jan 2021 21:06:04 +0000 (21:06 +0000)
committerRebecca N. Palmer <rebecca_palmer@zoho.com>
Tue, 12 Jan 2021 21:06:04 +0000 (21:06 +0000)
  * Remove dead URL from tests/examples.  (Closes: #979621)
  * Mark autopkgtest needs-internet.
  * Revert "Print uname etc during build".
  * Mark matplotlib nocheck/nodoc and allow building on ports without
    matplotlib or numexpr.  (Closes: #977470)
  * Add python3-tabulate build/test-depends.
  * Add bottleneck and numexpr test-depends.
  * Tests: don't require warnings that jedi no longer produces.

[dgit import unpatched pandas 1.1.5+dfsg-2]

48 files changed:
1  2 
debian/README.source
debian/changelog
debian/contributors_list.txt
debian/control
debian/copyright
debian/gbp.conf
debian/patches/35080_plot_tests.patch
debian/patches/968208_rounding.patch
debian/patches/979621_dead_url.patch
debian/patches/contributor_list_not_in_tarball.patch
debian/patches/deb_disable_googleanalytics.patch
debian/patches/deb_doc_donotoverride_PYTHONPATH.patch
debian/patches/deb_no_strict_data.patch
debian/patches/deb_nonversioneer_version.patch
debian/patches/find_test_data.patch
debian/patches/fix_random_seeds.patch
debian/patches/fsspec_version.patch
debian/patches/hurd_compat.patch
debian/patches/i386_time_overflow.patch
debian/patches/jedi018_compat.patch
debian/patches/mathjax-path.patch
debian/patches/matplotlib33_compat.patch
debian/patches/numba_fail_32bit.patch
debian/patches/privacy.patch
debian/patches/python39_compat.patch
debian/patches/remove_ccbysa_snippets.patch
debian/patches/series
debian/patches/skip_noencoding_locales.patch
debian/patches/skip_test_missing_required_dependency.patch
debian/patches/sphinx_no_pandas_theme.patch
debian/patches/stable_test_urls.patch
debian/patches/tests_dont_assume_endian.patch
debian/patches/use_system_intersphinx.patch
debian/patches/xfail_c_locale.patch
debian/patches/xfail_tests_nonintel_io.patch
debian/patches/xfail_tests_nonintel_nannat.patch
debian/patches/xlrd_976620.patch
debian/python-pandas-doc.doc-base
debian/python-pandas-doc.docs
debian/python-pandas-doc.links
debian/rules
debian/source/format
debian/source/lintian-overrides
debian/source/options
debian/tests/control
debian/tests/unittests3
debian/upstream/metadata
debian/watch

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aa04e75ed876acadc8da054eb4836e60e1c98399
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,16 @@@
++New upstream and contributors_list update (warning: assumes my directory layout):
++
++#update this: export version=1.1.2
++GBP_CONF_FILES=~/.gbp.conf gbp import-orig --upstream-branch=23dfsg  --debian-branch=debian --uscan --pristine-tar
++echo "Current to version ${version} (generated by git shortlog -ns)" > debian/contributors_list.txt
++echo "There may be multiple entries for the same person if they have used more than one (form of their) name" >> debian/contributors_list.txt
++echo "https://github.com/pandas-dev/pandas/graphs/contributors" >> debian/contributors_list.txt
++echo "" >> debian/contributors_list.txt
++cd ~/Debian/upstreams/pandas
++git pull
++git checkout v${version}
++git shortlog -ns >> ~/Debian/sourcepkgs/pandas/debian/contributors_list.txt
++cd ~/Debian/sourcepkgs/pandas
++echo "" >> debian/contributors_list.txt
++echo "Debian packaging" >> debian/contributors_list.txt
++git shortlog -ns -- debian >> debian/contributors_list.txt
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..38054fbfa9c54741c4b6888d7c8ba9f7e892646a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1277 @@@
++pandas (1.1.5+dfsg-2) unstable; urgency=medium
++
++  * Remove dead URL from tests/examples.  (Closes: #979621)
++  * Mark autopkgtest needs-internet.
++  * Revert "Print uname etc during build".
++  * Mark matplotlib nocheck/nodoc and allow building on ports without
++    matplotlib or numexpr.  (Closes: #977470)
++  * Add python3-tabulate build/test-depends.
++  * Add bottleneck and numexpr test-depends.
++  * Tests: don't require warnings that jedi no longer produces.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Tue, 12 Jan 2021 21:06:04 +0000
++
++pandas (1.1.5+dfsg-1) unstable; urgency=medium
++
++  * Upstream bugfix release.  Refresh patches, contributors_list.
++  * Default to openpyxl not xlrd in read_excel, and skip xlrd tests,
++    as xlrd fails if defusedxml is installed (#976620).
++  * Skip numba tests, and not other rolling.apply tests, on s390x.
++    (LP: #1901860)
++  * Tests: on 32 bit systems, avoid time input that overflows.
++  * Print uname etc during build (test for #973854).
++  * Bump Standards-Version to 4.5.1 (no changes needed).
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Mon, 07 Dec 2020 23:06:28 +0000
++
++pandas (1.1.4+dfsg-1) unstable; urgency=medium
++
++  * Upstream bugfix release.  Refresh patches, contributors_list.
++  * Remove numba test-depends (skips tests).  (Closes: #973589)
++  * Loosen pandas-lib->pandas Depends versioning.  (Closes: #973289)
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Wed, 04 Nov 2020 18:36:11 +0000
++
++pandas (1.1.3+dfsg-2) unstable; urgency=medium
++
++  * Tests: re-xfail an intermittent instance of #877419.
++  * Remove no longer needed test_statsmodels xfail.
++  * Fix invalid test skips.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Thu, 22 Oct 2020 07:14:29 +0100
++
++pandas (1.1.3+dfsg-1) unstable; urgency=medium
++
++  * Upstream bugfix release.  Refresh patches, contributors_list.
++  * Remove outdated README.source,
++    add contributors_list update process.
++  * Fix invalid test xfail.
++  * Re-add mistakenly removed non-x86 test xfails.
++  * Declare transition Breaks (see #969650).
++  * Skip another test if multiprocessing is not available.
++  * Update cython3 Depends.
++  * Fix pytables expression bug with Python 3.9.  (Closes: #972015)
++  * Allow test_statsmodels to fail on 3.9 to break bootstrap cycle.
++  * Upload to unstable.  (Closes: #969650)
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Sun, 18 Oct 2020 16:22:36 +0100
++
++pandas (1.1.1+dfsg-3) experimental; urgency=medium
++
++  * Remove no longer needed test xfails.
++  * Xfail some more non-x86 numba tests and a new instance of #877419.
++  * Skip test_register_entrypoint during build.
++  * Tests: don't assume little-endian.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Thu, 03 Sep 2020 08:01:24 +0100
++
++pandas (1.1.1+dfsg-2) experimental; urgency=medium
++
++  * Unconditionally build-depend on sphinx-common (for dh_sphinxdoc).
++  * Re-enable but ignore another potentially crashing non-x86 test.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Tue, 01 Sep 2020 08:17:32 +0100
++
++pandas (1.1.1+dfsg-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Upload to experimental.
++  * Drop/refresh patches.  Update d/copyright and contributors_list.
++  * Re-enable asyncio tests.
++  * Skip fsspec tests while it is too old a version.
++  * Fix plot test cleanup (upstream bug 35080).
++  * Skip test that is expected to fail in our setup.
++  * Update minimum dependency versions.
++  * Use dh_sphinxdoc.
++  * Re-enable but ignore potentially crashing non-x86 tests.
++  * Simplify d/rules, mostly by using pybuild more.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Mon, 31 Aug 2020 18:44:39 +0100
++
++pandas (1.0.5+dfsg-3) unstable; urgency=medium
++
++  * Remove pytest-asyncio test-depends.
++  * Remove numba test-depends on non-x86: at least s390x crashes.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Wed, 26 Aug 2020 22:34:50 +0100
++
++pandas (1.0.5+dfsg-2) unstable; urgency=medium
++
++  * Fix missing import and update numba submodule name in patches.
++  * Disable asyncio tests (workaround for #969050).
++  * Warn that numba may give wrong answers on non-x86,
++    and remove test-depends on mipsel.
++  * Skip a crashing test on s390x.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Wed, 26 Aug 2020 20:19:16 +0100
++
++pandas (1.0.5+dfsg-1) unstable; urgency=medium
++
++  * Upstream bugfix release.  Refresh patches, contributors_list.
++  * Fix invalid test xfails.
++  * Only Recommend numba on amd64, to reduce the risk of bugs.
++  * Don't test-depend on numba on ppc64el (where it crashes, #863511?)
++    or on ports architectures (where it mostly isn't available).
++  * Remove no longer needed test xfails/skips.
++  * Upload to unstable.  (Closes: #950430)
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Tue, 25 Aug 2020 20:07:50 +0100
++
++pandas (0.25.3+dfsg2-5) unstable; urgency=medium
++
++  * Tests: ignore rounding difference on i386.  (Closes: #968208)
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Sun, 16 Aug 2020 20:09:14 +0100
++
++pandas (0.25.3+dfsg2-4) unstable; urgency=medium
++
++  * Be compatible with matplotlib 3.3.  (Closes: #966393)
++  * Docs: fix broken remote->local Javascript replacement.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Sun, 09 Aug 2020 22:11:25 +0100
++
++pandas (0.25.3+dfsg2-3) unstable; urgency=medium
++
++  * Nested DataFrames may raise ValueError with numpy 1.19
++    (upstream bug 32289).  Clarify error message and xfail tests.
++  * Stop using a no-longer-existing numpy constant.
++  * Tests: ignore deprecations/rewordings and avoid setup exception
++    with numpy 1.19.  (Together, the above Closes: #963817)
++  * Bump debhelper compat to 13.
++  * Fix HDFStore.flush (part of #877419) on s390x.
++  * Add NEWS.html.gz for Standards-Version 4.5.0.
++    (Choosing not to also add NEWS.gz as it would be large.)
++  * Tests: accept Hurd's errno and lack of multiprocessing.
++  * Docs: replace embedded Javascript copies with links.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Sun, 28 Jun 2020 21:47:22 +0100
++
++pandas (1.0.4+dfsg-1) experimental; urgency=medium
++
++  * Upstream bugfix release.  (Closes: #962335)
++  * Refresh patches, update contributors_list.
++  * Fix broken tests.
++  * Tests: allow numba to raise an error on 32 bit systems.
++  * Don't test-depend on numba on armel (where it crashes,
++    possibly #863508) or ppc64/riscv64 (where it isn't available).
++  * Xfail some more HDF5 tests on big-endian architectures.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Tue, 09 Jun 2020 22:19:23 +0100
++
++pandas (0.25.3+dfsg2-2) unstable; urgency=medium
++
++  * Tests: don't fail on jedi deprecation warnings.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Thu, 07 May 2020 11:57:06 +0100
++
++pandas (1.0.3+dfsg2-1) experimental; urgency=medium
++
++  * Upstream bugfix release, update contributors_list.
++  * Merge packaging from unstable,
++    but omit no longer needed clipboard warn/xfail.
++  * Only show the NaN -> datetime warning from float dtypes
++    (to avoid an exception while trying to check).
++  * Recommend numba, as we now have a recent enough version.
++  * Re-add dask test-dependency.
++  * Clarify non-x86 warnings, remove no longer needed xfails / ignores.
++  * Clean up whitespace and patch names/descriptions.
++  * Remove patches no longer needed.
++  * Network tests: use more stable URLs.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Wed, 06 May 2020 17:07:44 +0100
++
++pandas (0.25.3+dfsg2-1) unstable; urgency=medium
++
++  * Remove inconveniently licensed (CC-BY-SA) snippets.
++  * Fix (harmless) SyntaxWarning on install.  (Closes: #956021)
++  * Fix NaT sort order and test failures with numpy 1.18.
++    (Closes: #958531)
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Wed, 06 May 2020 12:18:23 +0100
++
++pandas (0.25.3+dfsg-9) unstable; urgency=medium
++
++  * Don't raise on import without matplotlib installed.  Add test of this.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Fri, 03 Apr 2020 21:56:02 +0100
++
++pandas (0.25.3+dfsg-8) unstable; urgency=medium
++
++  * Tests: don't fail on harmless changes in dependencies.  (Closes: #954647)
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Thu, 02 Apr 2020 18:53:32 +0100
++
++pandas (0.25.3+dfsg-7) unstable; urgency=medium
++
++  * Fix another test failure due to our warnings.
++  * Skip rather than xfail crashing tests.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Wed, 26 Feb 2020 18:45:58 +0000
++
++pandas (0.25.3+dfsg-6) unstable; urgency=medium
++
++  * Don't fail tests on our own warnings.
++  * Xfail some more HDF tests on non-x86 architectures.
++  * Warn that clipboard I/O is broken on big-endian architectures
++    and xfail test.
++  * Use pytest-forked to isolate (already xfailed) crashing test.
++  * Xfail tests that use no-longer-existing URLs.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Wed, 26 Feb 2020 07:40:25 +0000
++
++pandas (0.25.3+dfsg-5) unstable; urgency=medium
++
++  * Backport packaging from experimental:
++    - Remove unnecessary test skips, and reorganize remaining ones.
++    - Use xfails instead of skips.
++    - Add warnings for the known non-x86 breakages
++      (NaN -> datetime #877754, HDF and Stata I/O #877419).
++    - Tell I/O tests where to find the source tree's test data
++      instead of skipping them.
++    - Stop using deprecated envvar/tag names.
++    - Use https for links where available.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Mon, 24 Feb 2020 22:38:26 +0000
++
++pandas (1.0.1+dfsg-1) experimental; urgency=medium
++
++  * Upstream bugfix release.
++  * Refresh patches.
++  * Update and sort d/copyright, update contributors_list.
++  * Re-enable checking the test suite.
++  * Declare transition Breaks (see #950430).
++  * Add jinja2 recommends/test-depends.
++  * Fix test_to_numpy failure on big-endian systems.
++  * Register documentation in doc-base.  (Closes: #879226)
++  * Remove no longer needed test xfails/skips,
++    and reorganize the remaining ones.
++  * Tell I/O tests where to find the source tree's test data
++    instead of skipping them.
++  * Enable multiarch.
++  * Temporarily drop dask test-dependency to avoid uninstallability.
++  * Add warnings for the known non-x86 breakages
++    (NaN -> datetime #877754, HDF and Stata I/O #877419).
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Sun, 23 Feb 2020 17:13:08 +0000
++
++pandas (1.0.0+dfsg-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Upload to experimental, as this is an API break (see #950430).
++  * Drop patches applied upstream, refresh others.
++  * Update and improve d/copyright, update contributors_list.
++  * Xfail a test that fails in the C locale.
++  * Update and organize depends/recommends.
++  * Docs: use a sphinx theme we have, fix spelling,
++    link to rather than embed remote resource,
++    use https links where available.
++  * Stop using deprecated envvar/tag names.
++  * Xfail rather than skip previously broken tests,
++    and put the condition in the patch not d/rules or d/tests.
++  * Remove no longer used patch-stamp.
++  * Temporarily ignore the test suite to get a first build.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Sun, 02 Feb 2020 21:04:36 +0000
++
++pandas (0.25.3+dfsg-4) unstable; urgency=medium
++
++  * No-change upload to unstable.  (Closes: #937236, #931557)
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Sun, 10 Nov 2019 16:35:41 +0000
++
++pandas (0.25.3+dfsg-3) experimental; urgency=medium
++
++  * Fix autopkgtest.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Sat, 09 Nov 2019 10:29:47 +0000
++
++pandas (0.25.3+dfsg-2) experimental; urgency=medium
++
++  * Split up the test suite to fit in memory on mipsel,
++    and stop ignoring it there.  (Closes: #943732)
++  * Reproducibility: use correct path for stripping docs.
++  * Declare transition Breaks (see #931557).
++  * Tests: ignore warning from Python 3.8.
++  * Update d/copyright (some files have moved).
++  * Use local requirejs.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Fri, 08 Nov 2019 07:56:16 +0000
++
++pandas (0.25.3+dfsg-1) experimental; urgency=medium
++
++  * Upstream bugfix release.
++  * Drop patch no longer needed.
++  * Update autopkgtest dependencies, drop unused link.
++  * Better document test skips, remove unnecessary ones.
++  * Reproducibility: strip timestamps and build paths,
++    use fixed random seeds for building documentation.
++  * Ignore test suite on mipsel.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Sat, 02 Nov 2019 22:26:31 +0000
++
++pandas (0.25.2+dfsg-2) experimental; urgency=medium
++
++  * Correct path for contributors list, and don't fail when
++    not building the -doc package.
++  * Try again to fix test failure due to deb_nonversioneer_version.
++  * Skip some failing tests on non-Intel (see #943732),
++    require other tests to pass.
++  * Fix another typo.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Mon, 28 Oct 2019 22:06:10 +0000
++
++pandas (0.25.2+dfsg-1) experimental; urgency=medium
++
++  [ Graham Inggs ]
++  * Skip python2 test_register_by_default on s390x
++  * Fix python2 test failures in certain locales
++
++  [ Yaroslav Halchenko ]
++  * Recent upstream release
++  * Updated patches
++  * Adjusted for the gone ci/print_versions
++  * d/control
++    - added python{,3}-hypothesis to b-depends
++
++  [ Rebecca N. Palmer ]
++  * New upstream release.
++  * Upload to experimental, as this is an API break (see #931557).
++  * Drop patches fixed upstream, refresh others.
++  * Remove Python 2 packages (see #937236).
++  * Use Python 3 in shebangs and subprocess calls.
++  * Re-enable building on Python 3.8.
++  * Use the new location of print_versions.
++  * Skip feather tests and remove build-dependency:
++    they now need pyarrow.feather, which isn't in Debian.
++  * Don't fail tests for our versioneer removal
++    or a differently worded error message.
++  * Add/update minimum dependency versions.
++  * Add numpydoc, nbconvert and pytest-xdist build-depends.
++  * Update d/copyright.
++  * Pre-generate a contributor list to avoid needing the git log
++    at build time (when it won't exist).
++  * Allow tests to fail for now.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Mon, 28 Oct 2019 07:53:21 +0000
++
++pandas (0.23.3+dfsg-8) unstable; urgency=medium
++
++  * Examples dependencies: re-add statsmodels and xarray;
++    also add rpy2 and feather.
++  * Use packaged intersphinx indexes.  (Closes: #876417)
++  * Use https for intersphinx links.
++  * Remove cythonized-files*.  (They are regenerated on each build.)
++  * Remove test xfail, as statsmodels has now been fixed.
++  * Set Rules-Requires-Root: no.
++  * Make documentation Suggest the Python 3 version.
++  * Suggest statsmodels.
++  * Only use Python 3 sphinx, and mark it -Indep/nodoc.
++  * Bump debhelper compat to 12 and use debhelper-compat and pybuild.
++  * Remove pycompat and X-Python*-Version.
++  * Add missing d/copyright item.
++  * Remove obsolete TODOs.
++  * Clarify descriptions.
++  * Stop referring to examples that no longer exist.
++  * Fix typos.
++  * Remove old (no longer used) EXCLUDE_TESTS*.
++  * Deduplicate documentation files.
++  * Use Python 3 shebangs, and fix broken shebang.
++  * Add python3-ipykernel, -ipywidgets, -seaborn to
++    Build-Depends-Indep.
++  * Disable dh_auto_test: it fails, and we run the tests elsewhere.
++  * Mark test dependencies nocheck/nodoc.
++  * Remove old minimum versions / alternative dependencies.
++  * Build-depend on dh-python.
++  * Don't build on python3.8, as it will fail tests (see #931557).
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Sun, 27 Oct 2019 11:38:37 +0000
++
++pandas (0.23.3+dfsg-7) unstable; urgency=medium
++
++  * Revert test patch and use an xfail instead.
++  * Temporarily drop statsmodels+xarray Build-Depends, as they are
++    uninstallable until this is built.
++  * Add python3-xarray to autopkgtest Depends.
++  * Drop Python 2 autopkgtest (but keep build-time test).
++  * Remove duplicate Recommends.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Fri, 20 Sep 2019 08:01:37 +0100
++
++pandas (0.23.3+dfsg-6) unstable; urgency=medium
++
++  * Team upload
++  * Avoid FTBFS with statsmodels 0.9.0
++  * Add python3-statsmodels to autopkgtest Depends
++
++ -- Graham Inggs <ginggs@debian.org>  Wed, 18 Sep 2019 13:46:01 +0000
++
++pandas (0.23.3+dfsg-5) unstable; urgency=medium
++
++  * Team upload
++  * Add locales-all to Build-Depends and autopkgtest Depends in order to
++    consistently test in all avalable locales
++  * Add crh_UA to skip_noencoding_locales.patch
++  * Fix wrong debian/source/options exclude, thanks Steve Langasek
++
++ -- Graham Inggs <ginggs@debian.org>  Wed, 18 Sep 2019 05:57:44 +0000
++
++pandas (0.23.3+dfsg-4) unstable; urgency=medium
++
++  * Add self to Uploaders.
++  * Recommend .xls format support also in Python 3.  (Closes: #880125)
++  * Tests: don't call fixtures, as this is an error in pytest 4+.
++  * Don't test datetime in locales with no encoding.
++    (These are broken by a Python stdlib bug.)
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Sat, 14 Sep 2019 16:37:43 +0100
++
++pandas (0.23.3+dfsg-3) unstable; urgency=medium
++
++  * Team upload.
++  * Make np.array @ Series act the right way round.  (Closes: #923708)
++  * Replace #918206 fix with a fix that doesn't change the return type
++    and inplace-ness of np.array += DataFrame.  (Closes: #923707)
++  * Fix missing page in documentation.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Wed, 06 Mar 2019 22:19:34 +0000
++
++pandas (0.23.3+dfsg-2) unstable; urgency=medium
++
++  * Team upload.
++  * Don't fail the build on +dfsg versions.
++  * Fix another d/copyright issue.
++  * Add d/upstream/metadata.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Sat, 02 Mar 2019 14:57:12 +0000
++
++pandas (0.23.3+dfsg-1) unstable; urgency=medium
++
++  * Team upload.
++  * Fix DataFrame @ np.array matrix multiplication.  (Closes: #918206)
++  * Fix documentation build (Sphinx now defaults to Python 3).
++    (Closes: #804552, LP: #1803018)
++  * Add documentation examples dependencies.
++  * Update d/copyright.
++  * Remove unlicensed files.
++
++ -- Rebecca N. Palmer <rebecca_palmer@zoho.com>  Fri, 01 Mar 2019 23:02:18 +0000
++
++pandas (0.23.3-1) unstable; urgency=medium
++
++  * New upstream release
++  * debian/patches
++    - many upstreamed patches are removed and others refreshed
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sat, 28 Jul 2018 00:39:32 -0400
++
++pandas (0.22.0-8) unstable; urgency=medium
++
++  * Team Upload.
++  * patches:
++    + Add patch: deb_dont_call_py2_in_py3_test.patch
++      During python3 unit test, command 'python' is called by one of
++      the tests.  When there is no python2 installation, tests such as
++      autopkgtest would fail.
++    * Put the conditionally applied patch to series' comment to avoid
++      lintianW: patch-file-present-but-not-mentioned-in-series.
++  * Trying to fix the autopkgtest:
++    + Leave a comment about the way to run unittest in the test control file.
++    + Synchronize B-D and autopkgtest depends.
++    + Allow output to stderr during test.
++    * Switch from nosetest to pytest.
++    * Synchronize pytest argument for rules and autopkgtest.
++    - Replace tests/unittest with the symlink pointed to tests/unittest3.
++      That scripts is smart enough to tell from py2 and py3, so we won't
++      need to write the same thing twice.
++    - Filter out intel tests on non-x86 architectures.
++    - Only enable "slow" tests on (Debian + x86) tester. "slow" tests may
++      consume too much memory to cause memory error or trigger OOM killer.
++  * control:
++    + Add missing python3 dependencies and sort the B-D list.
++    * Point Vcs-* fields to Salsa.
++    * Update Homepage to https://pandas.pydata.org/ .
++  * rules:
++    * Reverse the architecture filtering logic.
++    * Disable "slow" tests during build for non-x86 architectures.
++      This may significantly reduce the build time on those weak architectures.
++    * Don't specify the pytest marker expression twice.
++      The first expression will be overridden.
++    * Fix hardening flags.
++    - Cleanup the mess of unused nosetest exclusion expressions.
++  * Update lintian overrides.
++    + Override source-is-missing error, which is a false-positive triggered
++      by insane-line-length-in-source-file.
++    + Override insane-line-length-in-source-file because we have nothing
++      todo with lenghy lines in html.
++  * TODO: Point out that the unittest speed can be boosted with pytest-xdist.
++
++ -- Mo Zhou <cdluminate@gmail.com>  Sun, 17 Jun 2018 16:01:16 +0000
++
++pandas (0.22.0-7) unstable; urgency=medium
++
++  * Team Upload.
++
++  [ Mo Zhou ]
++  * Remove patch: deb_fix_test_failure_test_basic_indexing, which is
++    unneeded for pandas >= 0.21 . (Closes: #900061)
++
++  [ Graham Inggs ]
++  * Add riscv64 to the list of "not intel" architectures
++  * Update mark_tests_working_on_intel_armhf.patch
++
++ -- Graham Inggs <ginggs@debian.org>  Tue, 29 May 2018 13:50:59 +0000
++
++pandas (0.22.0-6) unstable; urgency=medium
++
++  * Team upload
++  * Fix FTBFS with Sphinx 1.7, thanks Dmitry Shachnev!
++
++ -- Graham Inggs <ginggs@debian.org>  Tue, 24 Apr 2018 19:09:20 +0000
++
++pandas (0.22.0-5) unstable; urgency=medium
++
++  * Team upload
++  * Add compatibility with Matplotlib 2.2 (Closes: #896673)
++
++ -- Graham Inggs <ginggs@debian.org>  Mon, 23 Apr 2018 13:56:12 +0000
++
++pandas (0.22.0-4) unstable; urgency=medium
++
++  * Team upload
++  * Fix more tests expecting little-endian results
++  * Fix heap corruption in read_csv on 32-bit, big-endian architectures
++    (Closes: #895890)
++
++ -- Graham Inggs <ginggs@debian.org>  Sun, 22 Apr 2018 21:48:27 +0000
++
++pandas (0.22.0-3) unstable; urgency=medium
++
++  * Team upload
++  * Refresh and re-enable mark_tests_working_on_intel.patch
++  * Fix test__get_dtype tests expecting little-endian results
++
++ -- Graham Inggs <ginggs@debian.org>  Thu, 12 Apr 2018 11:04:21 +0000
++
++pandas (0.22.0-2) unstable; urgency=medium
++
++  * debian/patches
++    - as upstream moved over to pytest from nose, no more nose imports were
++      in the code. Just adjusted patches to import nose where needed
++  * debian/rules
++    - specify LC_ALL=C locale to avoid crash while building docs
++    - add the 0001-TST-pytest-deprecation-warnings-GH17197-17253-reversed.patch
++      to the series if building on a system with an old pytest
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Wed, 21 Feb 2018 23:44:58 -0500
++
++pandas (0.22.0-1) unstable; urgency=medium
++
++  * Upstream release
++  * debian/patches
++    - refreshed many
++    - updated some
++    - added
++      - up_moto_optional  to skip tests requiring moto (#777089)
++      - deb_skip_difffailingtests to skip  two failing tests
++        (see https://github.com/pandas-dev/pandas/issues/19774)
++      - up_xlwt_optional to skip a test requiring xlwt
++      - deb_ndsphinx_optional to make nbsphinx optional.
++        Make nbsphinx not required in build-depends on systems with
++        older python-sphinx
++      - mark_tests_failing_on_386.patch
++        see https://github.com/pandas-dev/pandas/issues/19814
++    - removed adopted upstream:
++        - dateutil-2.6.1-fixed-ambiguous-tz-dst-be.patch
++      - up_tst_np_argsort_comparison2
++    - disabled for now:
++      - mark_tests_working_on_intel.patch
++      - up_tst_dont_assert_that_a_bug_exists_in_numpy
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Wed, 21 Feb 2018 10:30:06 -0500
++
++pandas (0.20.3-11) unstable; urgency=medium
++
++  * Team upload.
++  * Cherry-pick upstream commit 5f2b96bb637f6ddeec169c5ef8ad20013a03c853
++    to workaround a numpy bug. (Closes: #884294)
++    + patches/up_tst_dont_assert_that_a_bug_exists_in_numpy
++  * Cherry-pick upstream commits to fix test failure caused by test_argsort().
++    + patches/up_tst_np_argsort_comparison2
++  * Workaround test failure of test_basic_indexing() in file
++    pandas/tests/series/test_indexing.py .
++    + patches/deb_fix_test_failure_test_basic_indexing
++
++ -- Mo Zhou <cdluminate@gmail.com>  Sat, 20 Jan 2018 09:00:31 +0000
++
++pandas (0.20.3-10) unstable; urgency=medium
++
++  * Team upload.
++  * Exclude more tests failing on mips, armhf and powerpc
++
++ -- Andreas Tille <tille@debian.org>  Tue, 24 Oct 2017 21:26:02 +0200
++
++pandas (0.20.3-9) unstable; urgency=medium
++
++  * Team upload.
++  * Add missing "import pytest" to two patched tests
++  * Secure URI in watch file
++
++ -- Andreas Tille <tille@debian.org>  Tue, 24 Oct 2017 08:18:54 +0200
++
++pandas (0.20.3-8) unstable; urgency=medium
++
++  * Team upload.
++  * Exclude one more test and de-activate non-working ignore of test errors
++
++ -- Andreas Tille <tille@debian.org>  Mon, 23 Oct 2017 21:32:24 +0200
++
++pandas (0.20.3-7) unstable; urgency=medium
++
++  * Team upload.
++  * debhelper 9
++  * Use Debian packaged mathjax
++  * Do not Recommends python3-six since it is mentioned in Depends
++  * Remove redundant/outdated XS-Testsuite: autopkgtest
++  * Exclude one more test and de-activate non-working ignore of test errors
++
++ -- Andreas Tille <tille@debian.org>  Mon, 23 Oct 2017 17:33:55 +0200
++
++pandas (0.20.3-6) unstable; urgency=medium
++
++  * Team upload.
++  * Ignore test errors on some architectures
++    (Concerns bug #877419)
++  * Remove __pycache__ remainings from testing
++  * Standards-Version: 4.1.1
++  * DEP3 for Google Analytics patch
++  * Complete Google Analytics patch
++
++ -- Andreas Tille <tille@debian.org>  Mon, 23 Oct 2017 09:05:27 +0200
++
++pandas (0.20.3-5) unstable; urgency=medium
++
++  * Make sure remainings of nose tests will not fail. That's a pretty stupid
++    patch since the tests are not using nose any more only some remaining
++    exceptions.  Hope it will work anyway.
++    (Concerns bug #877419)
++
++ -- Andreas Tille <tille@debian.org>  Mon, 16 Oct 2017 21:57:45 +0200
++
++pandas (0.20.3-4) unstable; urgency=medium
++
++  * Mark those tests @pytest.mark.intel that pass only on Intel architectures
++  * d/rules: try to exclude tests that were marked "intel"
++    (Concerns bug #877419)
++
++ -- Andreas Tille <tille@debian.org>  Sat, 14 Oct 2017 19:49:01 +0200
++
++pandas (0.20.3-3) unstable; urgency=medium
++
++  * Team upload.
++  * Moved packaging from pkg-exppsy to Debian Science
++  * Exclude certain tests on certain architectures
++    (Concerns bug #877419)
++
++ -- Andreas Tille <tille@debian.org>  Fri, 13 Oct 2017 20:52:53 +0200
++
++pandas (0.20.3-2) unstable; urgency=medium
++
++  * debian/control
++    - boosted policy to 4.0.0 (I think we should be ok)
++    - drop statsmodels from build-depends to altogether avoid the circular
++      build-depends (Closes: #875805)
++  * Diane Trout:
++    - Add dateutil-2.6.1-fixed-ambiguous-tz-dst-be.patch (Closes: #875807)
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Thu, 21 Sep 2017 16:11:29 -0400
++
++pandas (0.20.3-1) unstable; urgency=medium
++
++  * Fresh upstream release
++  * debian/patches
++    - updated some, removed changeset*, and disabled possibly fixed upstream
++      ones
++  * debian/{control,rules}
++    - upstream switched to use pytest instead of nose
++    - enabled back all the tests for now
++    - added python-nbsphinx for b-depends, needed for docs
++  * debian/*.install
++    - no .so at the first level of subdirectories, now present on the third
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Mon, 10 Jul 2017 20:00:59 -0400
++
++pandas (0.19.2-5.1) unstable; urgency=medium
++
++  * Non-maintainer upload.
++  * Apply patch by Rebecca N. Palmer
++    Closes: #858260
++
++ -- Andreas Tille <tille@debian.org>  Sun, 02 Apr 2017 07:06:36 +0200
++
++pandas (0.19.2-5) unstable; urgency=medium
++
++  * And one more test to skip on non-amd64 -- test_round_trip_valid_encodings
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Thu, 12 Jan 2017 13:10:11 -0500
++
++pandas (0.19.2-4) unstable; urgency=medium
++
++  * Exclude few more "plotting" tests on non-amd64 which cause FTBFS
++    on s390
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Thu, 12 Jan 2017 11:43:13 -0500
++
++pandas (0.19.2-3) unstable; urgency=medium
++
++  * Brought back changeset_0699c89882133a41c250abdac02796fec84512e8.diff
++    which should resolve tests failures on BE platforms (wasn't yet
++    upstreamed within 0.19.x releases)
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Thu, 12 Jan 2017 09:44:52 -0500
++
++pandas (0.19.2-2) unstable; urgency=medium
++
++  * Exclude a number of tests while running on non-amd64 platforms
++    due to bugs in numpy/pandas
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Wed, 11 Jan 2017 12:13:05 -0500
++
++pandas (0.19.2-1) unstable; urgency=medium
++
++  * Fresh upstream minor release -- supposed to be bugfix but interacts
++    with current beta (1:1.12.0~b1-1) numpy leading to various failed tests
++  * debian/patches
++    - changeset_ae6a0a51cf41223394b7ef1038c210045d486cc8.diff
++      to guarantee the same Series dtype as of cut regardless of architecture
++    - up_buggy_overflows
++      workaround for inconsistent overflows while doing pow operation on big
++      ints
++  * debian/rules
++    - exclude more tests which are due to known issues in numpy beta and thus
++      not to be addressed directly in pandas
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Wed, 04 Jan 2017 10:19:52 -0500
++
++pandas (0.19.1+git174-g81a2f79-1) experimental; urgency=medium
++
++  * New upstream snapshot from v0.19.0-174-g81a2f79
++    - lots of bugfixes since 0.19.1, so decided to test snapshot
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sat, 10 Dec 2016 22:43:19 -0500
++
++pandas (0.19.1-3) unstable; urgency=medium
++
++  * Require cython >= 0.23 or otherwise use pre-cythoned sources
++    (should resolve https://github.com/pandas-dev/pandas/issues/14699
++    on jessie)
++  * debian/control
++    - Build-Conflicts with python-tables 3.3.0-4 since that one leads to FTBFS
++    - boosted policy to 3.9.8
++  * debian/rules
++    - Exclude few more tests which fail on big endian and other platforms
++      test_(msgpack|read_dta18)
++  * debian/patches
++    - changeset_0699c89882133a41c250abdac02796fec84512e8.diff
++      to compare in the tests against native endianness
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Fri, 09 Dec 2016 15:49:50 -0500
++
++pandas (0.19.1-2) unstable; urgency=medium
++
++  * debian/control
++    - Moved statsmodels build-depend (optional) under build-depends-indep
++      to break circular dependency.  Thanks Stuart Prescott for the analysis
++  * debian/patches/
++    - changeset_1309346c08945cd4764a549ec63cf51089634a45.diff
++      to not mask problem reading json leading to use of undefined variable
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sun, 27 Nov 2016 21:49:40 -0500
++
++pandas (0.19.1-1) unstable; urgency=medium
++
++  * Fresh upstream release
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Fri, 18 Nov 2016 12:19:54 -0500
++
++pandas (0.19.0+git14-ga40e185-1) unstable; urgency=medium
++
++  * New upstream post-release (includes some bugfixes) snapshot
++  * debian/patches
++    - dropped changeset_ and up_ patches adopted upstream, refreshed the rest
++  * debian/rules,patches
++    - save debian-based version into __version.py, so doesn't conflict with
++      upstream tests of public API
++    - exclude for now test_expressions on python3
++      (see https://github.com/pydata/pandas/issues/14269)
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Thu, 13 Oct 2016 10:26:18 -0400
++
++pandas (0.18.1-1) unstable; urgency=medium
++
++  * Fresh upstream release
++  * debian/patches/
++    - changeset_46af7cf0f8e0477f6cc7454aa786a573228f0ac3.diff
++      to allow also AttributeError exception being thrown in the tests
++      (Closes: #827938)
++    - debian/patches/deb_skip_test_precision_i386
++      removed (upstreamed)
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Wed, 13 Jul 2016 10:42:00 -0400
++
++pandas (0.18.0+git114-g6c692ae-1) unstable; urgency=medium
++
++  * debian/control
++    - added python{,3}-pkg-resources to direct Depends for the packages
++      (Closes: #821076)
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sun, 17 Apr 2016 20:49:25 -0400
++
++pandas (0.17.1-3) unstable; urgency=medium
++
++  * debian/tests/unittest*
++    - set LC_ALL=C.UTF-8 for the tests run to prevent failure of test_set_locale
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Tue, 08 Dec 2015 08:31:30 -0500
++
++pandas (0.17.1-2) unstable; urgency=medium
++
++  * debian/control
++    - make -statsmodels and -tables optional build-depends on those platforms
++      where they are N/A atm.  Added bdepends on python3-tables since available
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sun, 06 Dec 2015 12:58:26 -0500
++
++pandas (0.17.1-1) unstable; urgency=medium
++
++  * Fresh upstream bugfix release
++  * debian/rules
++    - fixed deletion of moved away .so files
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Fri, 27 Nov 2015 10:52:49 -0500
++
++pandas (0.17.0+git8-gcac4ad2-2) unstable; urgency=medium
++
++  * Bug fix: install also msgpack/*.so extensions to -lib packages
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sat, 10 Oct 2015 13:52:54 -0400
++
++pandas (0.17.0+git8-gcac4ad2-1) unstable; urgency=medium
++
++  * New upstream snapshot post release to pick up few bugfixes
++    - Started to trigger failures of test_constructor_compound_dtypes and
++      test_invalid_index_types -- disabled those for now, see
++      https://github.com/pydata/pandas/issues/11169
++  * debian/rules
++    - Generate pandas/version.py if not present out of debian/changelog
++      upstream version information (versioneer wouldn't know since relies on
++      git)
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Fri, 09 Oct 2015 21:35:23 -0400
++
++pandas (0.16.2+git65-g054821d-1) unstable; urgency=medium
++
++  * Fresh upstream post-release snapshot (to pick up recent fixes etc)
++    (Closes: #787432)
++  * debian/{control,rules}
++    - build -doc package (Closes: #660900)
++    - add ipython (or alternative new ones from neurodebian) into
++      Build-Depends-Indep to build docs
++    - add python{,3}-{lxml,html5lib} to Build-Depends and Recommends
++    - use LC_ALL=C.UTF-8 while running tests
++    - exclude also test_set_locale since it fails ATM
++      see https://github.com/pydata/pandas/issues/10471
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Tue, 30 Jun 2015 17:26:54 -0400
++
++pandas (0.16.0~rc1-1) experimental; urgency=medium
++
++  * New upstream release candidate
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Fri, 13 Mar 2015 14:21:39 -0400
++
++pandas (0.15.2-1) unstable; urgency=medium
++
++  * Fresh upstream release
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Thu, 11 Dec 2014 09:51:57 -0500
++
++pandas (0.15.1+git125-ge463818-1) unstable; urgency=medium
++
++  * New upstream snapshot from v0.15.1-125-ge463818.
++  * Upload to unstable during freeze since previous one in sid didn't make it
++    to jessie anyways
++  * debian/control
++    - remove versioning demand for cython (it would use pre-cythonized code on
++      older ones and there is no longer need in sid/jessie to enforce version).
++      As a consecuence -- removed all dsc patches pointing to
++      nocython3-dsc-patch, since no longer needed
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sun, 30 Nov 2014 21:09:36 -0500
++
++pandas (0.15.0-2) unstable; urgency=medium
++
++  * debian/control
++    - specify minimal numpy to be 1.7
++  * debian/patches
++    - deb_skip_stata_on_bigendians   skip test_stata again on BE platforms
++    - deb_skip_test_precision_i386   skip test_precision_conversion on 32bit
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Thu, 30 Oct 2014 23:09:13 -0400
++
++pandas (0.15.0-1) unstable; urgency=medium
++
++  * New upstream release
++  * debian/control
++    - restrict statsmodels and matplotlib from being required on the ports
++      which do not have them
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sun, 26 Oct 2014 11:30:23 -0400
++
++pandas (0.14.1-2) unstable; urgency=medium
++
++  * debian/patches/changeset_314012d.diff
++    - Fix converter test for MPL1.4 (Closes: #763709)
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Mon, 06 Oct 2014 11:53:42 -0400
++
++pandas (0.14.1-1) unstable; urgency=medium
++
++  * New upstream release
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Thu, 10 Jul 2014 23:38:49 -0400
++
++pandas (0.14.0+git393-g959e3e4-1) UNRELEASED; urgency=medium
++
++  * New upstream snapshot from v0.14.0-345-g8cd3dd6
++  * debian/rules
++    - disable running disabled tests to prevent clipboard tests failures
++      under kfreebsd kernels
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Mon, 07 Jul 2014 12:29:50 -0400
++
++pandas (0.14.0+git213-g741b2fa-1) experimental; urgency=medium
++
++  * New upstream snapshot from v0.14.0-213-g741b2fa.
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Thu, 19 Jun 2014 10:30:42 -0400
++
++pandas (0.14.0+git17-g3849d5d-1) unstable; urgency=medium
++
++  * New upstream snapshot from v0.14.0-17-g3849d5d -- has resolved a number
++    of bugs sneaked into 0.14.0 release, and caused FTBFS on some platforms
++    and backports
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sun, 01 Jun 2014 00:54:34 -0400
++
++pandas (0.14.0-1) unstable; urgency=medium
++
++  * New upstream release
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Fri, 30 May 2014 08:45:35 -0400
++
++pandas (0.14.0~rc1+git79-g1fa5dd4-1) experimental; urgency=medium
++
++  * New upstream snapshot from v0.14.0rc1-73-g8793356
++  * debian/patches:
++    - dropped CPed changeset_*s
++    - added deb_disable_googleanalytics
++  * debian/control:
++    - boosted policy compliance to 3.9.5
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Tue, 27 May 2014 16:00:00 -0400
++
++pandas (0.13.1-2) unstable; urgency=low
++
++  * debian/patches/changeset_6d56e7300d66d3ba76684334bbb44b6cd0ea9f61.diff
++    to fix FTBFS of statsmodels due to failing tests (Closes: #735804)
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sat, 08 Feb 2014 12:46:42 -0500
++
++pandas (0.13.1-1) unstable; urgency=low
++
++  * Fresh upstream release
++  * debian/patches
++    - deb_skip_test_pytables_failure to mitigate error while testing on
++      amd64 wheezy and ubuntu 12.04
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Tue, 04 Feb 2014 12:09:29 -0500
++
++pandas (0.13.0+git464-g15a8ff7-1) experimental; urgency=low
++
++  * Fresh pre-release snapshot
++  * debian/patches
++    - removed all cherry-picked patches (should have been upstreamed)
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Wed, 29 Jan 2014 21:27:45 -0500
++
++pandas (0.13.0-2) unstable; urgency=low
++
++  * debian/patches
++    - 0001-BLD-fix-cythonized-msgpack-extension-in-setup.py-GH5.patch
++      to resolve issue with building C++ Cython extension using
++      pre-generated sources
++    - 0001-Add-division-future-import-everywhere.patch
++      0002-remove-explicit-truediv-kwarg.patch
++      to resolve compatibility issues with elderly Numexpr
++    - 0001-BUG-Yahoo-finance-changed-ichart-url.-Fixed-here.patch
++    - deb_skip_sequencelike_on_armel to prevent FTBFS on armel due to failing
++      test: https://github.com/pydata/pandas/issues/4473
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Fri, 03 Jan 2014 23:13:48 -0500
++
++pandas (0.13.0-1) unstable; urgency=low
++
++  * Fresh upstream release
++    - resolved compatibility with matplotlib 1.3 (Closes: #733848)
++  * debian/{control,rules}
++    - use xvfb (added to build-depends together with xauth, and xclip)
++      for tests
++    - define http*_proxy to prevent downloads
++    - install .md files not .rst for docs -- were renamed upstream
++    - include .cpp Cython generated files into debian/cythonized-files*
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Wed, 01 Jan 2014 18:08:22 -0500
++
++pandas (0.12.0-2) unstable; urgency=low
++
++  [ Dmitry Shachnev ]
++  * DEP-8 tests improvements:
++    - Use Xvfb for running tests.
++    - Increase verbosity using -v flag.
++    - Fix printing interpreter version in unittests3.
++  * Fix indentaion in debian/control.
++
++  [ Yaroslav Halchenko ]
++  * debian/control
++    - place python3-matplotlib ahead of elderly python-matplotlib without
++      python3 support since now we have python3-matplotlib in sid
++  * debian/copyright
++    - go through reported missing copyright/license statements (Closes:
++      #700564) Thanks Luca Falavigna for the report
++  * debian/rules,patches
++    - exclude test test_bar_log due to incompatibility with matplotlib 1.3.0 (test
++      adjusted upstream and would be re-enabled for the new release).
++    - debian/patches/changeset_952c5f0bc433622d21df20ed761ee4cb728370eb.diff
++      adds matplotlib 1.3.0 compatibility
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sat, 14 Sep 2013 20:02:58 -0400
++
++pandas (0.12.0-1) unstable; urgency=low
++
++  * New upstream release:
++    - should address failed tests on 32bit platforms
++  * debian/patches
++    - neurodebian: allow to build for jessie with outdated cython
++  * debian/control
++    - build for Python2 >= 2.7 due to some (probably temporary) incompatibilities
++      in tests with 2.6
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Wed, 24 Jul 2013 23:29:03 -0400
++
++pandas (0.12.0~rc1+git127-gec8920a-1) experimental; urgency=low
++
++  * New upstream snapshot from origin/master at v0.12.0rc1-127-gec8920a
++    - should address FTBFS due to failing tests on big endians
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sat, 20 Jul 2013 09:23:04 -0400
++
++pandas (0.12.0~rc1+git112-gb79996c-1) experimental; urgency=low
++
++  * Fresh git snapshot of upstream candidate release. Experimental build
++    to verify functioning across the ports.
++  * debian/control
++    - dedented last "paragraph" to break it away from the 2nd one.
++      Thanks Beatrice Torracca for the detailed report (Closes: #712260)
++    - Depends on python-six now
++  * debian/{,tests/}control
++    - added python{,3}-bs4, python-html5lib to Build-Depends for more
++      thorough testing
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Thu, 18 Jul 2013 13:15:19 -0400
++
++pandas (0.11.0-2) unstable; urgency=low
++
++  [ Yaroslav Halchenko ]
++  * Upload to unstable -- this upstream release addressed Cython 0.19
++    compatibility issue (Closes: #710608)
++  * Recommends numexpr
++  * Re-cythonized using Cython 0.19
++
++  [ Dmitry Shachnev ]
++  * debian/tests/unittests3: use nosetests3 instead of nosetests-3.x.
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Mon, 03 Jun 2013 11:57:43 -0400
++
++pandas (0.11.0-1) experimental; urgency=low
++
++  * New upstream release
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Tue, 23 Apr 2013 22:40:15 -0400
++
++pandas (0.10.1-1) experimental; urgency=low
++
++  * New upstream release
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Tue, 22 Jan 2013 13:07:31 -0500
++
++pandas (0.10.0-1) experimental; urgency=low
++
++  * New upstream release
++    - drops python 2.5 support (we are dropping pyversions in favor of
++      X-Python-Version)
++  * debian/patches:
++    - all previous are in upstream now, dropped locally
++    - added -dsc-patch'es for systems without cython3
++  * debian/control:
++    - added python-statsmodels for the extended tests coverage
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Mon, 17 Dec 2012 12:27:25 -0500
++
++pandas (0.9.1-2) unstable; urgency=low
++
++  [ Julian Taylor ]
++  * Provide python3 packages
++  * Add autopkgtests
++  * debian/patches:
++    - relax-float-tests.patch:
++      replace float equality tests with almost equal
++    - fix-endian-tests.patch:
++      patch from upstream to fix the test failure on big endian machines
++
++  [ Yaroslav Halchenko ]
++  * Upload to unstable
++  * Dropping pysupport
++  * debian/rules:
++    - slight reduction of code duplication between python 2 and 3
++    - cythonize for both python 2 and 3 into separate directories
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sat, 01 Dec 2012 22:57:47 -0500
++
++pandas (0.9.1-1) experimental; urgency=low
++
++  * New upstream release
++  * Boosted policy to 3.9.3 (no due changes)
++  * debian/rules
++    - Fixed up cleaning up of cythonized files
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Wed, 14 Nov 2012 09:44:14 -0500
++
++pandas (0.9.0-1) experimental; urgency=low
++
++  * New upstream release
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sun, 07 Oct 2012 21:26:23 -0400
++
++pandas (0.9.0~rc2-1) experimental; urgency=low
++
++  * New upstream release candidate
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Fri, 21 Sep 2012 10:27:52 -0400
++
++pandas (0.8.1-1) unstable; urgency=low
++
++  * Primarily a bugfix upstream release.
++  * up_tag_yahoo_test_requiring_network patch removed.
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sun, 22 Jul 2012 20:13:16 -0400
++
++pandas (0.8.0-2) unstable; urgency=medium
++
++  * up_tag_yahoo_test_requiring_network patch cherry-picked from upstream
++    GIT so that tests would not be excercised at package build time
++    (Closes: #681449)
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Fri, 13 Jul 2012 08:54:41 -0400
++
++pandas (0.8.0-1) unstable; urgency=low
++
++  * Fresh upstream release
++  * debian/control
++    - drop python-statsmodels from Build-Depends since it might not be yet
++      available on some architectures and is not critical for the test
++    - recommend python-statsmodels instead of deprecated
++      python-scikits.statsmodels
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Fri, 29 Jun 2012 13:02:28 -0400
++
++pandas (0.8.0~rc2+git26-g76c6351-1) experimental; urgency=low
++
++  * Fresh upstream release candidate
++    - all patches dropped (upstreamed)
++    - requires numpy >= 1.6
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Tue, 12 Jun 2012 13:23:27 -0400
++
++pandas (0.7.3-1) unstable; urgency=low
++
++  * Fresh upstream release
++    - few post-release patches (submitted upstream) to exclude unittests
++        requiring network access
++  * debian/control:
++    - python-openpyxl, python-xlwt, python-xlrd into Build-Depends
++      and Recommends
++  * debian/rules:
++    - exclude running tests marked with @network
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Thu, 12 Apr 2012 11:27:31 -0400
++
++pandas (0.7.1+git1-ga2e86c2-1) unstable; urgency=low
++
++  * New upstream release with a bugfix which followed
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Thu, 01 Mar 2012 22:28:10 -0500
++
++pandas (0.7.0-1) unstable; urgency=low
++
++  * New upstream release
++  * Updated pre-cythoned .c files for older Debian/Ubuntu releases.
++    Added a stamp file with upstream version to assure up-to-dateness
++    of the generated files
++  * Dropped all exclusions of unittests and patches -- shouldn't be necessary
++    any longer
++  * Build only for requested versions (not all supported) of Python
++  * Do nothing for build operation, rely on overloaded install
++    (to avoid undesired re-cythonization on elderly Ubuntus)
++  * Adjusted url in watch due to migration of repository under pydata
++    organization
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Mon, 16 Jan 2012 19:31:50 -0500
++
++pandas (0.6.1-1) UNRELEASED; urgency=low
++
++  * New upstream release
++  * python-tk into Build-Depends
++  * Create matplotlibrc with backend: Agg to allow tests run without $DISPLAY
++  * Carry pre-cythonized .c files for systems with older Cython
++  * Skip few tests known to fail
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Tue, 13 Dec 2011 18:36:11 -0500
++
++pandas (0.5.0+git7-gcf32be2-1) unstable; urgency=low
++
++  * New upstream release with post-release fixes
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Tue, 01 Nov 2011 21:15:06 -0400
++
++pandas (0.4.3-1) unstable; urgency=low
++
++  * New upstream release(s): primarily bugfixes and optimizations but also
++    with some minor API changes and new functionality
++  * Adjusted debian/watch to match new layout on github
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Tue, 18 Oct 2011 11:27:50 -0400
++
++pandas (0.4.1-1) unstable; urgency=low
++
++  * New upstream bugfix release
++    - incorporated all debian/patches
++  * debian/rules: 'clean' removes generated pandas/version.py
++  * debian/copyright: adjusted to become DEP-5 compliant
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Sun, 25 Sep 2011 21:48:30 -0400
++
++pandas (0.4.0-1) unstable; urgency=low
++
++  * Initial Debian release (Closes: #641464)
++
++ -- Yaroslav Halchenko <debian@onerussian.com>  Tue, 13 Sep 2011 12:24:05 -0400
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a32627a97898bdba2a9d9a41ac8c077123ede95f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2304 @@@
++Current to version 1.1.5 (generated by git shortlog -ns)
++There may be multiple entries for the same person if they have used more than one (form of their) name
++https://github.com/pandas-dev/pandas/graphs/contributors
++
++  3130        Wes McKinney
++  3043        jreback
++  2027        jbrockmendel
++  1689        Jeff Reback
++  1032        Joris Van den Bossche
++   943        y-p
++   743        Tom Augspurger
++   630        Chang She
++   607        Phillip Cloud
++   463        gfyoung
++   356        Simon Hawkins
++   344        sinhrks
++   327        Adam Klein
++   282        Matthew Roeschke
++   236        William Ayd
++   196        MomIsBestFriend
++   169        Marc Garcia
++   160        Andy Hayden
++   148        topper-123
++   128        Jeff Tratner
++   122        Jeffrey Tratner
++   119        MeeseeksMachine
++   109        Vytautas Jancauskas
++   106        Daniel Saxton
++    93        Jeremy Schendel
++    92        Pietro Battiston
++    89        Skipper Seabold
++    88        Terji Petersen
++    86        alimcmaster1
++    85        h-vetinari
++    84        Stephan Hoyer
++    81        Kaiqi Dong
++    76        Wouter Overmeire
++    70        jschendel
++    65        Sinhrks
++    62        Kevin Sheppard
++    62        Martin Winkel
++    61        TomAugspurger
++    58        Mortada Mehyar
++    57        Christopher Whelan
++    55        Chris
++    54        Thomas Kluyver
++    54        behzad nouri
++    49        Ka Wo Chen
++    45        Marco Gorelli
++    43        Kieran O'Mahony
++    42        Dieter Vandenbussche
++    38        Paul Reidy
++    34        chris-b1
++    33        Evan Wright
++    32        bwignall
++    31        Jan Schulz
++    31        Mak Sze Chun
++    29        Yaroslav Halchenko
++    29        immerrr
++    28        David Stephens
++    26        Gábor Lipták
++    26        Justin Zheng
++    25        Stephen Lin
++    25        Thein Oo
++    25        rockg
++    23        Fabian Haase
++    22        Licht Takeuchi
++    22        Ming Li
++    22        ganevgv
++    21        Ryan Nazareth
++    21        Thierry Moisan
++    20        Dan Birken
++    20        lexual
++    19        Abraham Flaxman
++    19        Artemy Kolchinsky
++    19        DSM
++    18        Farhan Reynaldo
++    18        Kerby Shedden
++    18        pilkibun
++    18        unutbu
++    17        Anthonios Partheniou
++    17        Nicolas Bonnotte
++    16        Matt Roeschke
++    16        Robert de Vries
++    16        Saurav Chakravorty
++    16        danielballan
++    16        onesandzeroes
++    15        Abdullah İhsan Seçer
++    15        Alex Kirko
++    15        Jiaxiang
++    15        Tobias Brandt
++    15        seth-p
++    14        Christopher C. Aycock
++    14        Dr. Irv
++    14        Gregory Rome
++    14        Irv Lustig
++    14        Maximilian Roos
++    14        Roy Hyunjin Han
++    14        Spencer Lyon
++    14        locojaydev
++    13        Alex Rothberg
++    13        John W. O'Brien
++    13        Jonathan Chambers
++    13        Todd Jennings
++    13        Vaibhav Vishal
++    13        patrick
++    13        rhshadrach
++    13        willpeppo
++    12        Alex Rychyk
++    12        Luca Beltrame
++    12        PKEuS
++    12        Richard T. Guy
++    12        Tommy
++    12        Wenhuan
++    11        Andrew Rosenfeld
++    11        Bharat Raghunathan
++    11        Daniel Himmelstein
++    11        Joe Jevnik
++    11        Keith Hughitt
++    11        Uwe L. Korn
++    11        anmyachev
++    11        proost
++    11        terrytangyuan
++    10        Aaron Critchley
++    10        Alexander Ponomaroff
++    10        Anjali2019
++    10        Dale Jung
++    10        Garrett Drapala
++    10        John McNamara
++    10        K.-Michael Aye
++    10        Kendall Masse
++    10        Martin Blais
++    10        Nick Eubank
++    10        Sam Foo
++    10        Tim Swast
++    10        cbertinato
++     9        3vts
++     9        Albert Villanova del Moral
++     9        Damien Garaud
++     9        Guillaume Gay
++     9        Jacob Schaer
++     9        Tong SHEN
++     9        Viktor Kerkez
++     8        Aly Sivji
++     8        Andrew Wieteska
++     8        Brandon Bradley
++     8        Dr-Irv
++     8        Hugh Kelley
++     8        Kalyan Gokhale
++     8        Michael Marino
++     8        Mike Kelly
++     8        Pandas Development Team
++     8        RaisaDZ
++     8        Shawn Heide
++     8        Varun
++     8        Vasily Litvinov
++     8        himanshu awasthi
++     8        jnmclarty
++     7        Adam J. Stewart
++     7        Benedikt Sauer
++     7        Dan Allan
++     7        Derek McCammond
++     7        Francis T. O'Donovan
++     7        Jason Sexauer
++     7        Joel Nothman
++     7        Kernc
++     7        Michael Mueller
++     7        OlivierLuG
++     7        Quang Nguyễn
++     7        Rushabh Vasani
++     7        Samesh Lakhotia
++     7        Takafumi Arakaki
++     7        Winterflower
++     7        Younggun Kim
++     7        cleconte987
++     7        dsm054
++     7        nipunreddevil
++     7        scls19fr
++     7        themien
++     6        ArtinSarraf
++     6        Benjamin Rowell
++     6        Brad Buran
++     6        Bran Yang
++     6        Brian Wignall
++     6        Chris Whelan
++     6        Chuanzhu Xu
++     6        David Bew
++     6        Fangchen Li
++     6        Garrett-R
++     6        Graham Inggs
++     6        HH-MWB
++     6        Jeff Carey
++     6        Kelsey Jordahl
++     6        Mateusz Woś
++     6        Matt Kirk
++     6        Neil Parley
++     6        Nicholaus E. Halecky
++     6        Piotr Jucha
++     6        Robin to Roxel
++     6        Rouz Azari
++     6        Stephen Hoover
++     6        Steve
++     6        Thomas A Caswell
++     6        Thomas Grainger
++     6        Tola A
++     6        Uddeshya Singh
++     6        Vincent Arel-Bundock
++     6        Wes Turner
++     6        ZhuBaohe
++     6        agijsberts
++     6        agraboso
++     6        ajcr
++     6        clham
++     6        ischwabacher
++     6        kernc
++     6        mproszewska
++     6        rbenes
++     6        rebecca-palmer
++     6        timmie
++     6        tmnhat2001
++     5        Adam Obeng
++     5        Addison Lynch
++     5        Ajay Saxena
++     5        Alan Velasco
++     5        Andrew
++     5        Ben Kandel
++     5        Chapman Siu
++     5        Clark Fitzgerald
++     5        Clemens Brunner
++     5        DataOmbudsman
++     5        David Cottrell
++     5        Deepyaman Datta
++     5        Douglas McNeil
++     5        Galuh Sahid
++     5        Gjelt
++     5        Janelle Zoutkamp
++     5        Jon Mease
++     5        Joris Vankerschaver
++     5        Josh
++     5        Ksenia
++     5        Lars Buitinck
++     5        LeakedMemory
++     5        Marc Abramowitz
++     5        Mark Wiebe
++     5        Matti Picus
++     5        Max Chen
++     5        Nicholas Musolino
++     5        Oğuzhan Öğreden
++     5        Pauli Virtanen
++     5        Prabakaran Kumaresshan
++     5        Prakhar Pandey
++     5        Roman Yurchak
++     5        Sangwoong Yoon
++     5        Scott E Lasley
++     5        Stijn Van Hoey
++     5        Sumanau Sareen
++     5        Tao He
++     5        Tarbo Fukazawa
++     5        Ted Petrou
++     5        Tomaz Berisa
++     5        TrigonaMinima
++     5        Troels Nielsen
++     5        WANG Aiyong
++     5        William Blan
++     5        Yuichiro Kaneko
++     5        avinashpancham
++     5        benjamin
++     5        dieterv77
++     5        dilex42
++     5        donK23
++     5        nrebena
++     5        pv8493013j
++     5        realead
++     5        tshauck
++     5        yui-knk
++     4        Adam Greenhall
++     4        Ali McMaster
++     4        Alvaro Tejero-Cantero
++     4        Andreas Würl
++     4        Armin Varshokar
++     4        Avi Sen
++     4        Benjamin Thyreau
++     4        Blake Hawkins
++     4        Bob Haffner
++     4        Brenda Moon
++     4        Brett Naul
++     4        Chalmer Lowe
++     4        Cheuk Ting Ho
++     4        Chris Billington
++     4        Chris Warth
++     4        Chris Zimmerman
++     4        Christian Hudon
++     4        DaanVanHauwermeiren
++     4        Dan Miller
++     4        Daniel Waeber
++     4        Dave Hughes
++     4        David Adrián Cañones Castellano
++     4        Dražen Lučanin
++     4        Erfan Nariman
++     4        Erik
++     4        Gianluca Rossi
++     4        Giftlin Rajaiah
++     4        Goyo
++     4        Gregg Lind
++     4        Guilherme Beltramini
++     4        Henning Sperr
++     4        Jacques Kvam
++     4        James Myatt
++     4        JennaVergeynst
++     4        Jev Kuznetsov
++     4        Jiang Yue
++     4        Jim Crist
++     4        John Zwinck
++     4        Junya Hayashi
++     4        Kevin Stone
++     4        Krishna
++     4        Kyle Meyer
++     4        Laura Collard, PhD
++     4        Loïc Estève
++     4        Mabel Villalba
++     4        Matias Heikkilä
++     4        Matt Wittmann
++     4        Matthew Gilbert
++     4        Max van Deursen
++     4        Nathan Abel
++     4        Nicholas Ver Halen
++     4        OXPHOS
++     4        Olivier Grisel
++     4        Oluokun Adedayo
++     4        Paul Ivanov
++     4        Ram Rachum
++     4        Robert Gieseke
++     4        Roger Thomas
++     4        Samuel Sinayoko
++     4        Shane Conway
++     4        Shivam Rana
++     4        Sofiane Mahiou
++     4        Srinivas Reddy Thatiparthy (శ్రీనివాస్  రెడ్డి తాటిపర్తి)
++     4        Stephen Rauch
++     4        Stéphan Taljaard
++     4        Thomas Li
++     4        Trent Hauck
++     4        Vincent La
++     4        Vladimir Filimonov
++     4        Vyomkesh Tripathi
++     4        Will Holmgren
++     4        akosel
++     4        cel4
++     4        cgohlke
++     4        chapman siu
++     4        gliptak
++     4        hugo
++     4        kota matsuoka
++     4        luzpaz
++     4        robbuckley
++     4        waitingkuo
++     4        wcwagner
++     3        Aaditya Panikath
++     3        Abhijeet Krishnan
++     3        Adam Hooper
++     3        Aleksey Bilogur
++     3        Alex Alekseyev
++     3        Alexander Buchkovsky
++     3        Alfonso MHC
++     3        Alp Arıbal
++     3        Andreas Winkler
++     3        Angelos Evripiotis
++     3        Aniruddha Bhattacharjee
++     3        Anjana S
++     3        Anthony Milbourne
++     3        Anton I. Sipos
++     3        Baurzhan Muftakhidinov
++     3        Ben Welsh
++     3        Benjamin Beier Liu
++     3        Bhavani Ravi
++     3        Big Head
++     3        Brandon M. Burroughs
++     3        Brock Mendel
++     3        Caleb Epstein
++     3        Carlos Souza
++     3        Chris Bertinato
++     3        Chris Mazzullo
++     3        Christoph Gohlke
++     3        Dave Hirschfeld
++     3        David Krych
++     3        Dillon Niederhut
++     3        Doug Latornell
++     3        Eric Chea
++     3        Francesc Via
++     3        Giacomo Ferroni
++     3        Giftlin
++     3        Grant Smith
++     3        Guillaume Lemaitre
++     3        Guillaume Poulin
++     3        Hammad Mashkoor
++     3        Haochen Wu
++     3        Harshavardhan Bachina
++     3        Hielke Walinga
++     3        Hubert
++     3        Hugues Valois
++     3        Hyukjin Kwon
++     3        Iain Barr
++     3        Ingolf Becker
++     3        Israel Saeta Pérez
++     3        Ivan Nazarov
++     3        Jack Bicknell
++     3        Jake VanderPlas
++     3        James Cobon-Kerr
++     3        Jan Rudolph
++     3        Jan-Philip Gehrcke
++     3        Jared Groves
++     3        Jean Helie
++     3        Jean-Mathieu Deschenes
++     3        Jeroen Kant
++     3        Jesper Dramsch
++     3        Jesse Farnham
++     3        Joel Ostblom
++     3        John Freeman
++     3        Joon Ro
++     3        Josh Dimarsky
++     3        Josh Klein
++     3        Josiah Baker
++     3        Karmel Allison
++     3        Kate Surta
++     3        Keshav Ramaswamy
++     3        Kyle Barron
++     3        Liam3851
++     3        Louis Huynh
++     3        MBrouns
++     3        Marian Denes
++     3        Markus Meier
++     3        Martina Oefelein
++     3        Mateusz
++     3        Mathis Felardos
++     3        Matt Braymer-Hayes
++     3        Matteo Santamaria
++     3        Matthew Brett
++     3        Maximiliano Greco
++     3        Mike Kutzma
++     3        Mitar
++     3        Myles Braithwaite
++     3        Naomi Bonnin
++     3        Nate Yoder
++     3        Nick Pentreath
++     3        Noam Hershtig
++     3        Pamela Wu
++     3        Patrick O'Brien
++     3        Paul
++     3        Piotr Niełacny
++     3        Prasanjit Prakash
++     3        Pulkit Maloo
++     3        Randy Carnevale
++     3        Riccardo Magliocchetti
++     3        Richard Höchenberger
++     3        Rik-de-Kort
++     3        Robin
++     3        Robin Wilson
++     3        Ryan
++     3        Safia Abdalla
++     3        Sahil Dua
++     3        SatheeshKumar Mohan
++     3        Sebastian Bank
++     3        Shorokhov Sergey
++     3        Simon Gibbons
++     3        Souvik Mandal
++     3        Sparkle Russell-Puleri
++     3        Stefania Delprete
++     3        Stefano Cianciulli
++     3        Thijs Damsma
++     3        Tjerk Santegoeds
++     3        Toby Dylan Hocking
++     3        Tom Ajamian
++     3        Tom Bird
++     3        Victoria Zdanovskaya
++     3        Yian
++     3        Yoshiki Vázquez Baeza
++     3        Zac Hatfield-Dodds
++     3        adneu
++     3        alphaCTzo7G
++     3        anomrake
++     3        davidshinn
++     3        dengemann
++     3        duozhang
++     3        fjetter
++     3        jdeschenes
++     3        jen w
++     3        joshuaar
++     3        linebp
++     3        lukasbk
++     3        mcjcode
++     3        miker985
++     3        nathalier
++     3        ogiaquino
++     3        partev
++     3        prossahl
++     3        rekcahpassyla
++     3        ri938
++     3        smartvinnetou
++     3        stonebig
++     3        thatneat
++     3        tv3141
++     3        unknown
++     3        za
++     3        zach powers
++     2        Aaron Staple
++     2        Achmad Syarif Hidayatullah
++     2        Adam Bull
++     2        Adam Marcus
++     2        Adrian Mastronardi
++     2        Aidan Montare
++     2        Alex Chase
++     2        Alex Gaudio
++     2        Alex Hall
++     2        Alex Volkov
++     2        Alex Watt
++     2        Alexander Michael Schade
++     2        Allen Downey
++     2        Andrew Burrows
++     2        Andy
++     2        Andy R. Terrel
++     2        Angela Ambroz
++     2        Anna Daglis
++     2        Antoine Mazières
++     2        Artem Bogachev
++     2        Atsushi Nukariya
++     2        Ayla Khan
++     2        Batalex
++     2        Ben Alex
++     2        Ben Schiller
++     2        Ben Thayer
++     2        Benjamin Adams
++     2        Bernard Willers
++     2        Bhuvana KA
++     2        Bill Letson
++     2        Bobae Kim
++     2        Camilo Cota
++     2        Carol Willing
++     2        Chamoun Saoma
++     2        Charalampos Papaloizou
++     2        Charles David
++     2        Chris Grinolds
++     2        Chris Reynolds
++     2        Chris Stadler
++     2        Chris Stoafer
++     2        Christer van der Meeren
++     2        Christian Chwala
++     2        Christos Petropoulos
++     2        CloseChoice
++     2        Cody
++     2        Dan Ringwalt
++     2        Daniel Grady
++     2        DanielFEvans
++     2        Data & Code Expert Experimenting with Code on Data
++     2        DavaIlhamHaeruzaman
++     2        Dave Willmer
++     2        David Arcos
++     2        David Cook
++     2        David Gwynne
++     2        David Stansby
++     2        Devin Petersohn
++     2        Devjeet Roy
++     2        Diane Trout
++     2        Diego Argueta
++     2        Dom
++     2        Doran Deluz
++     2        Douglas Rudd
++     2        Dražen Lučanin
++     2        Drew Seibert
++     2        Dror Atariah
++     2        EdAbati
++     2        Eduardo Schettino
++     2        Egor
++     2        Egor Panfilov
++     2        Elle
++     2        Elliott Sales de Andrade
++     2        Emiliano Jordan
++     2        Eric Chlebek
++     2        Fabian Retkowski
++     2        Fabian Rost
++     2        Fabio Zanini
++     2        Fred Reiss
++     2        Fábio Rosado
++     2        Gabriel Corona
++     2        Gabriel Tutui
++     2        George Hartzell
++     2        Geraint Duck
++     2        Gina
++     2        Gioia Ballin
++     2        Giovanni Lanzani
++     2        Graham Jeffries
++     2        Grant Roch
++     2        Guillaume Horel
++     2        Hamed Saljooghinejad
++     2        Hannah Ferchland
++     2        Hassan Kibirige
++     2        Henry Kleynhans
++     2        How Si Wei
++     2        HubertKl
++     2        HyunTruth
++     2        Hyungtae Kim
++     2        Ian Eaves
++     2        Ian Henriksen
++     2        Iblis Lin
++     2        Ignacio Santolin
++     2        Ilya V. Schurov
++     2        Ivan Smirnov
++     2        JDkuba
++     2        JMBurley
++     2        Jack Kelly
++     2        Jacopo Rota
++     2        Jaehoon Hwang
++     2        Jaidev Deshpande
++     2        James Draper
++     2        Jan Koch
++     2        Jan Škoda
++     2        Jaume Bonet
++     2        Javad Noorbakhsh
++     2        Jay Parlar
++     2        Jeff Knupp
++     2        Jeff Mellen
++     2        Jeffrey Gerard
++     2        Jethro Cao
++     2        Jimmy Callin
++     2        Jing Qiang Goh
++     2        Joao Victor Martinelli
++     2        Joaq Almirante
++     2        Joe Bradish
++     2        John David Reaver
++     2        John G Evans
++     2        John Liekezer
++     2        John-Colvin
++     2        Jon M. Mease
++     2        Jonas Abernot
++     2        Jonathan deWerd
++     2        Jordi Contestí
++     2        Jose Quinones
++     2        Juarez Bochi
++     2        Julia Evans
++     2        Julia Signell
++     2        Julien Danjou
++     2        Jung Dong Ho
++     2        Justin Bozonier
++     2        Justin Lecher
++     2        KOBAYASHI Ittoku
++     2        Kamil Kisiel
++     2        Kang Yoosam
++     2        Kara de la Marck
++     2        Karthigeyan
++     2        Katrin Leinweber
++     2        Kee Chong Tan
++     2        Kevin Bowey
++     2        Koustav Samaddar
++     2        Kunal Gosar
++     2        Kyle Kelley
++     2        Kyle Prestel
++     2        LJ
++     2        Leif Johnson
++     2        Leif Walsh
++     2        Leo Razoumov
++     2        Luca Scarabello
++     2        Lucas Kushner
++     2        Lucas Scarlato Astur
++     2        Luke
++     2        Mabroor Ahmed
++     2        Mahmoud Lababidi
++     2        Manan Pal Singh
++     2        Manraj Singh
++     2        Marc
++     2        Marco Hemken
++     2        Marco Neumann
++     2        Margaret Sy
++     2        Martina G. Vilas
++     2        Mason Gallo
++     2        Mats Maiwald
++     2        Matt Maybeno
++     2        Matthias Bussonnier
++     2        Max Bolingbroke
++     2        Maxim Veksler
++     2        Michael
++     2        Michael Charlton
++     2        Michael Odintsov
++     2        Michael Penkov
++     2        Michael Schatzow
++     2        Michael W Schatzow
++     2        Miguel
++     2        Min RK
++     2        Mitch Negus
++     2        Mohamed Amine ZGHAL
++     2        Mohammad Hasnain Mohsin Rajan
++     2        Monson Shao
++     2        Natalie Jann
++     2        Nathalie Rud
++     2        Nathan Pinger
++     2        Naveen Michaud-Agrawal
++     2        Nick Chmura
++     2        Nico Cernek
++     2        Nicolas Dickreuter
++     2        Nikhil Kumar Mengani
++     2        Nipun Batra
++     2        Oleg Shteynbuk
++     2        Oliver Hofkens
++     2        Ondrej Kokes
++     2        Ondřej Čertík
++     2        Paddy Mullen
++     2        Pankaj Pandey
++     2        Patrick Cando
++     2        Patrick O'Keeffe
++     2        Paul Ganssle
++     2        Paul Lee
++     2        Paul Sanders
++     2        Pawel Kordek
++     2        Pedro Reys
++     2        Peter Prettenhofer
++     2        Phan Duc Nhat Minh
++     2        Philipp A
++     2        Pierre Haessig
++     2        Piotr Chromiec
++     2        Piyush Aggarwal
++     2        Rafal Skolasinski
++     2        Rajib Mitra
++     2        Ravi Kumar Nimmi
++     2        Rick
++     2        Rinoc Johnson
++     2        Rob Levy
++     2        Robert Meyer
++     2        Roei.r
++     2        Roger Erens
++     2        Rohit Sanjay
++     2        Roman Pekar
++     2        Ronan Lamy
++     2        Roshni
++     2        RuiDC
++     2        Ruijing Li
++     2        Ryan Rehman
++     2        Sam Cohan
++     2        SanthoshBala18
++     2        Sarah Donehower
++     2        Saul Shanabrook
++     2        Sašo Stanovnik
++     2        Scott Sanderson
++     2        Seb
++     2        Sebastián Vanrell
++     2        Shadi Akiki
++     2        Shahul Hameed
++     2        Shantanu Gontia
++     2        Sheppard, Kevin
++     2        Sietse Brouwer
++     2        Simon-Martin Schröder
++     2        Simone Basso
++     2        SleepingPills
++     2        Soyoun(Rose) Kim
++     2        Stefaan Lippens
++     2        Stephen Childs
++     2        Stephen Pascoe
++     2        Stephen Simmons
++     2        Steve Cook
++     2        Suvayu Ali
++     2        Tan Tran
++     2        Tanya Jain
++     2        Thiviyan Thanapalasingam
++     2        Thomas J Fan
++     2        Thomas Smith
++     2        Tiago Antao
++     2        Tiago Requeijo
++     2        Tim D. Smith
++     2        Tim Hoffmann
++     2        Tobias Pitters
++     2        Todd DeLuca
++     2        Tomoyuki Suzuki
++     2        Tony Lorenzo
++     2        Tony Tao
++     2        Travis N. Vaught
++     2        Tushar Gupta
++     2        Tushar Mittal
++     2        Tux1
++     2        Tyler Reddy
++     2        Valentin Haenel
++     2        Varad Gunjal
++     2        Victor Villas
++     2        Vikram Bhandoh
++     2        Vipul Rai
++     2        Vu Le
++     2        Vytautas Jančauskas
++     2        WBare
++     2        Wilfred Hughes
++     2        Will Ayd
++     2        Will Furnass
++     2        WillAyd
++     2        Wuraola Oyewusi
++     2        Xbar
++     2        Yan Facai
++     2        Yimeng Zhang
++     2        Yoav Ram
++     2        Yuecheng Wu
++     2        Zach Angell
++     2        adatasetaday
++     2        akittredge
++     2        alm
++     2        andresmcneill
++     2        ante328
++     2        bashtage
++     2        bjonen
++     2        bolkedebruin
++     2        broessli
++     2        cgangwar11
++     2        charalampos papaloizou
++     2        conquistador1492
++     2        csfarkas
++     2        dahlbaek
++     2        dan1261
++     2        danielplawrence
++     2        dannyhyunkim
++     2        david-liu-brattle-1
++     2        davidwales
++     2        deflatSOCO
++     2        discort
++     2        dlovell
++     2        dwkenefick
++     2        elpres
++     2        fjdiod
++     2        froessler
++     2        gabrielvf1
++     2        gdex1
++     2        ghasemnaddaf
++     2        iamshwin
++     2        ianzur
++     2        jaimefrio
++     2        jlamborn324
++     2        jmorris0x0
++     2        jonaslb
++     2        keitakurita
++     2        killerontherun1
++     2        kpapdac
++     2        krsnik93
++     2        llllllllll
++     2        louispotok
++     2        mattip
++     2        michaelws
++     2        msund
++     2        mtrbean
++     2        neilkg
++     2        nlepleux
++     2        nsuresh
++     2        nullptr
++     2        ohad83
++     2        ottiP
++     2        pedrooa
++     2        phaebz
++     2        priyankjain
++     2        qudade
++     2        reidy-p
++     2        rjfs
++     2        roch
++     2        rvernica
++     2        s-scherrer
++     2        scotthavard92
++     2        springcoil
++     2        srib
++     2        ssikdar1
++     2        svenharris
++     2        taeold
++     2        tim smith
++     2        tobycheese
++     2        tolhassianipar
++     2        tomneep
++     2        tonywu1999
++     2        tsdlovell
++     2        tzinckgraf
++     2        westurner
++     2        xpvpc
++     2        yogendrasoni
++     1        1_x7
++     1        3553x
++     1        A Brooks
++     1        A. Flaxman
++     1        AJ Dyka
++     1        AJ Pryor, Ph.D
++     1        ARF
++     1        Aaron Barber
++     1        Aaron Schumacher
++     1        Aaron Toth
++     1        Abbie Popa
++     1        AbdealiJK
++     1        Acanthostega
++     1        Adam Chainz
++     1        Adam Gleave
++     1        Adam Kim
++     1        Adam Klaum
++     1        Adam Klimont
++     1        Adam Smith
++     1        Adam W Bagaskarta
++     1        AdamShamlian
++     1        Adrian
++     1        Adrian Liaw
++     1        Adrien Emery
++     1        Agustín Herranz
++     1        Aivengoe
++     1        Akash Tandon
++     1        Akbar Septriyan
++     1        Akos Furton
++     1        Alan Du
++     1        Alan Hogue
++     1        Alan Yee
++     1        Alastair James
++     1        Alejandro Giacometti
++     1        Alejandro Hall
++     1        Alejandro Hohmann
++     1        Aleksandr Drozd
++     1        Alessandro Amici
++     1        Alex B
++     1        Alex Itkes
++     1        Alex Lubbock
++     1        Alex Marchenko
++     1        Alex Radu
++     1        Alex Strick van Linschoten
++     1        Alex Vig
++     1        AlexTereshenkov
++     1        Alexander Hendorf
++     1        Alexander Hess
++     1        Alexander Lenail
++     1        Alexander Nordin
++     1        Alexandre Batisse
++     1        Alexandre Decan
++     1        Alexis Mignon
++     1        Alfredo Granja
++     1        Allen Riddell
++     1        AllenDowney
++     1        Allison Browne
++     1        Alok Singhal
++     1        Alvaro Aleman
++     1        Alyssa Fu Ward
++     1        Aman Thakral
++     1        Amol
++     1        Amol Agrawal
++     1        Amol K
++     1        Amol Kahat
++     1        Amy Graham
++     1        Andrea Bedini
++     1        Andreas Buhr
++     1        Andreas H.
++     1        Andreas Klostermann
++     1        Andreas Költringer
++     1        Andrew Bui
++     1        Andrew Fiore-Gartland
++     1        Andrew Gaspari
++     1        Andrew Gross
++     1        Andrew Kittredge
++     1        Andrew McPherson
++     1        Andrew Munch
++     1        Andrew Schonfeld
++     1        Andrew Shumanskiy
++     1        Andrew Spott
++     1        Andrew Wood
++     1        Andrew 亮
++     1        András Novoszáth
++     1        André Jonasson
++     1        Andy Craze
++     1        Andy Li
++     1        Anh Le
++     1        Aniket uttam
++     1        Anil Kumar Pallekonda
++     1        Anjali Singh
++     1        Ankit Dhankhar
++     1        Anthony O'Brien
++     1        Antoine Pitrou
++     1        Antoine Viscardi
++     1        Antonio Andraues Jr
++     1        Antonio Gutierrez
++     1        Antonio Linde
++     1        Antonio Molina
++     1        Antonio Quinonez
++     1        Antony Lee
++     1        Antti Kaihola
++     1        Anudeep Tubati
++     1        Arash Rouhani
++     1        Arco Bast
++     1        Arda Kosar
++     1        Ari Sosnovsky
++     1        Arjun Sharma
++     1        Arkadeep Adhikari
++     1        Arno Veenstra
++     1        Arunim Samudra
++     1        Ashish Singal
++     1        Ashkan
++     1        Ashwin Prakash Nalwade
++     1        Ashwin Srinath
++     1        Ashwini Chaudhary
++     1        Asish Mahapatra
++     1        Austin Hackett
++     1        Avi Kelman
++     1        Ayappan
++     1        AyowoleT
++     1        Azeez Oluwafemi
++     1        Barry Fitzgerald
++     1        Bart
++     1        Bart Aelterman
++     1        Bart Broere
++     1        Bas Nijholt
++     1        Bastiaan
++     1        Bayle Shanks
++     1        Becky Sweger
++     1        Ben
++     1        Ben Auffarth
++     1        Ben James
++     1        Ben Nelson
++     1        Ben North
++     1        Benjamin Fischer
++     1        Benjamin Gross
++     1        Benjamin Grove
++     1        Benjamin M. Gross
++     1        Benoit Paquet
++     1        Benoit Pointet
++     1        Benoît Vinot
++     1        Berkay
++     1        Bernhard Thiel
++     1        Bhavesh Poddar
++     1        BielStela
++     1        Bill Chambers
++     1        Bjorn Arneson
++     1        Blair
++     1        Bob Baxley
++     1        Boris Lau
++     1        BorisVerk
++     1        Bradley Dice
++     1        Brandon Rhodes
++     1        BrenBarn
++     1        Brendan Sullivan
++     1        Brett Randall
++     1        Brett Rosen
++     1        Brian
++     1        Brian Choi
++     1        Brian Granger
++     1        Brian J. McGuirk
++     1        Brian Jacobowski
++     1        Brian McFee
++     1        Brian Quistorff
++     1        Brian Strand
++     1        Brian Tu
++     1        Bruno P. Kinoshita
++     1        Bryan Cutler
++     1        Bryant Moscon
++     1        Bryce Guinta
++     1        C John Klehm
++     1        C.A.M. Gerlach
++     1        Caleb Braun
++     1        Carl Johan
++     1        Carlos Eduardo Moreira dos Santos
++     1        Carlos García Márquez
++     1        Carsten van Weelden
++     1        Carter Green
++     1        Cecilia
++     1        Cesar H
++     1        Chankey Pathak
++     1        Charlie Clark
++     1        Chase Albert
++     1        Chau Hoang
++     1        Chitrank Dixit
++     1        Chris Burr
++     1        Chris Carroux
++     1        Chris Catalfo
++     1        Chris Filo Gorgolewski
++     1        Chris Gilmer
++     1        Chris Ham
++     1        Chris Kerr
++     1        Chris M
++     1        Chris Mulligan
++     1        Chris Roberts
++     1        Chris Withers
++     1        ChrisRobo
++     1        Christian Berendt
++     1        Christian Geier
++     1        Christian Haege
++     1        Christian Perez
++     1        Christian Prinoth
++     1        Christian Stade-Schuldt
++     1        Christoph Moehl
++     1        Christoph Paulik
++     1        Christopher Scanlin
++     1        Chu Qing Hao
++     1        Cihan Ceyhan
++     1        Clearfield Christopher
++     1        Clemens Tolboom
++     1        Clément Robert
++     1        Cody Piersall
++     1        Colin
++     1        Connor Charles
++     1        Constantine Glen Evans
++     1        Cornelius Riemenschneider
++     1        Crystal Gong
++     1        CuylenE
++     1        D.S. McNeil
++     1        Da Cheezy Mobsta
++     1        Da Wang
++     1        DaCoEx
++     1        Damian Kula
++     1        Damini Satya
++     1        Dan Davison
++     1        Dan Dixey
++     1        DanBasson
++     1        Daniel Chen
++     1        Daniel Frank
++     1        Daniel Garrido
++     1        Daniel Hrisca
++     1        Daniel Hähnke
++     1        Daniel Julius Lasiman
++     1        Daniel Luis Costa
++     1        Daniel Ni
++     1        Daniel Sakuma
++     1        Daniel Shapiro
++     1        Daniel Siladji
++     1        Danilo Horta
++     1        Darcy Meyer
++     1        Darin Plutchok
++     1        Dav Clark
++     1        Dave Lewis
++     1        David BROCHART
++     1        David C Hall
++     1        David Fischer
++     1        David Hirschfeld
++     1        David Hoese
++     1        David Hoffman
++     1        David John Gagne
++     1        David Jung
++     1        David Kelly
++     1        David Liu
++     1        David Lutz
++     1        David Polo
++     1        David Rasch
++     1        David Read
++     1        David Rouquet
++     1        David S
++     1        David Wolever
++     1        David Zaslavsky
++     1        DavidRosen
++     1        Dean
++     1        Dean Langsam
++     1        Deepan Das
++     1        Denis Belavin
++     1        Dennis Bakhuis
++     1        Dennis Kamau
++     1        Diego Fernandez
++     1        Diego Torres
++     1        Dimitri
++     1        Dimitris Spathis
++     1        Dina
++     1        Dmitry L
++     1        Dobatymo
++     1        Dody Suria Wijaya
++     1        Dominik Stanczak
++     1        Donald Curtis
++     1        DorAmram
++     1        Dorothy Kabarozi
++     1        Dorozhko Anton
++     1        Doug Coleman
++     1        Dr. Leo
++     1        DrIrv
++     1        Drew Fustin
++     1        Drew Heenan
++     1        Drewrey Lupton
++     1        Dylan Dmitri Gray
++     1        ETF
++     1        Eduardo Blancas Reyes
++     1        Ehsan Azarnasab
++     1        Eliza Mae Saret
++     1        Elliot Marsden
++     1        Elliot S
++     1        Endre Mark Borza
++     1        Ennemoser Christoph
++     1        Enrico Rotundo
++     1        Eric Boxer
++     1        Eric Brassell
++     1        Eric Groszman
++     1        Eric Kisslinger
++     1        Eric O. LEBIGOT (EOL)
++     1        Eric Stein
++     1        Eric Wieser
++     1        Eric Wong
++     1        Erik Fredriksen
++     1        Erik Hasse
++     1        Erik M. Bray
++     1        Erik Nilsson
++     1        Erkam Uyanik
++     1        Ernesto Freitas
++     1        EternalLearner42
++     1        Eunseop Jeong
++     1        Evan
++     1        Evan D
++     1        Evan Kanter
++     1        Evan Livelo
++     1        Eyden Villanueva
++     1        FAN-GOD
++     1        Fabien Aulaire
++     1        Fabrizio Pollastri
++     1        Fakabbir Amin
++     1        Fei Phoon
++     1        Felix Divo
++     1        Felix Lawrence
++     1        Felix Marczinowski
++     1        Fer Sar
++     1        Fernando Margueirat
++     1        Fernando Perez
++     1        Filip Ter
++     1        Flavien Lambert
++     1        Florian Jetter
++     1        Florian Müller
++     1        Florian Rathgeber
++     1        Florian Wilhelm
++     1        Floris Kint
++     1        ForTimeBeing
++     1        Forbidden Donut
++     1        FragLegs
++     1        Francesc Alted
++     1        Francesco Brundu
++     1        Francesco Truzzi
++     1        Frank Cleary
++     1        Frank Hoang
++     1        Frank Pinter
++     1        Frans van Dunné
++     1        Fumito Hamamura
++     1        GYHHAHA
++     1        Gabe F
++     1        Gabe Fernando
++     1        Gabi Davar
++     1        Gabriel Araujo
++     1        Gabriel Monteiro
++     1        Gabriel Moreira
++     1        Gabriel Reid
++     1        Gabriel de Maeztu
++     1        Gaibo Zhang
++     1        Gaurav Chauhan
++     1        Gaëtan de Menten
++     1        George Kuan
++     1        Georgi Baychev
++     1        German Gomez-Herrero
++     1        Gianpaolo Macario
++     1        Gilberto Olimpio
++     1        Gim Seng
++     1        GiuPassarelli
++     1        Giulio Pepe
++     1        Giuseppe Romagnuolo
++     1        Gordon Blackadder
++     1        Gordon Chen
++     1        Gosuke Shibahara
++     1        Gouthaman Balaraman
++     1        Graham R. Jeffries
++     1        Graham Taylor
++     1        Graham Wetzler
++     1        Greg Reda
++     1        Greg Williams
++     1        Gregory Livschitz
++     1        Grigorios Giannakopoulos
++     1        Grzegorz Konefał
++     1        Guilherme Leite
++     1        Guilherme Salomé
++     1        Guilherme Samora
++     1        Guillem Borrell
++     1        Guillem Sánchez
++     1        Gyeongjae Choi
++     1        HHest
++     1        HagaiHargil
++     1        Haleemur Ali
++     1        Hamish Pitkeathly
++     1        Hanmin Qin
++     1        Hans
++     1        Hao Wu
++     1        Harsh Nisar
++     1        Harshit Patni
++     1        Harutaka Kawamura
++     1        Hassan Shamim
++     1        Hatem Nassrat
++     1        Hendrik Makait
++     1        Henry Hammond
++     1        Hissashi Rocha
++     1        Hsiaoming Yang
++     1        Huan Li
++     1        Hugo Herter
++     1        Huize Wang
++     1        Hussain Tamboli
++     1        Ian Dunn
++     1        Ian Hoegen
++     1        Ibrahim Sharaf ElDen
++     1        Ignacio Vergara Kausel
++     1        Ignasi Fosch
++     1        Igor Conrado Alves de Lima
++     1        Igor Filippov
++     1        Igor Shelvinskyi
++     1        Illia Polosukhin
++     1        Imanflow
++     1        Inevitable-Marzipan
++     1        Iqrar Agalosi Nureyza
++     1        Isaac Schwabacher
++     1        Isaac Slavitt
++     1        Isaac Virshup
++     1        IsvenC
++     1        Iulius Curt
++     1        Iva Koevska
++     1        Iva Laginja
++     1        Iva Miholic
++     1        Ivan Bessarabov
++     1        Iván Vallés Pérez
++     1        JElfner
++     1        Jack Greisman
++     1        Jackie Leng
++     1        Jacob Austin
++     1        Jacob Buckheit
++     1        Jacob Bundgaard
++     1        Jacob Deppen
++     1        Jacob Howard
++     1        Jacob Peacock
++     1        Jacob Wasserman
++     1        Jake Tae
++     1        Jake Torcasso
++     1        Jake Vanderplas
++     1        Jakob Jarmar
++     1        Jakub Nowacki
++     1        James Bourbeau
++     1        James Casbon
++     1        James Goppert
++     1        James Hiebert
++     1        James McBride
++     1        James Santucci
++     1        James Winegar
++     1        Jan F-F
++     1        Jan Novotný
++     1        Jan Pipek
++     1        Jan Wagner
++     1        Jan Werkmann
++     1        Jan Červenka
++     1        Jane Chen
++     1        Jarrod Millman
++     1        Jason Bandlow
++     1        Jason Kiley
++     1        Jason Swails
++     1        Jason Wolosonovich
++     1        Jasper J.F. van den Bosch
++     1        Javad
++     1        Jay Alammar
++     1        Jay Bourque
++     1        Jay Offerdahl
++     1        Jayanth Katuri
++     1        Jean-Baptiste Schiratti
++     1        Jean-Francois Zinque
++     1        Jeanderson Barros Candido
++     1        Jeff Blackburne
++     1        Jeff Hammerbacher
++     1        Jeffrey Starr
++     1        Jenn Olsen
++     1        Jeongmin Yu
++     1        Jered Dominguez-Trujillo
++     1        Jeremy Wagner
++     1        Jerod Estapa
++     1        Jesse Pardue
++     1        Jihwan Song
++     1        Jihyung Moon
++     1        Jim
++     1        Jim Jeon
++     1        JimStearns206
++     1        Jimmy Woo
++     1        Jinyang Zhou
++     1        Joachim Wagner
++     1        Joan Martin Miralles
++     1        Joaquim L. Viegas
++     1        Joerg Rittinger
++     1        Joeun Park
++     1        Johan von Forstner
++     1        John
++     1        John Bodley
++     1        John Cant
++     1        John Evans
++     1        John Fremlin
++     1        John Paton
++     1        John Tucker
++     1        John Ward
++     1        Johnny
++     1        Johnny Chiu
++     1        Johnny Gill
++     1        Johnny Metz
++     1        Jon Crall
++     1        Jon Thielen
++     1        Jonas
++     1        Jonas Buyl
++     1        Jonas Hoersch
++     1        Jonas Schulze
++     1        Jonathan J. Helmus
++     1        Jonathan Larkin
++     1        Jonathan Whitmore
++     1        Jonathan de Bruin
++     1        Jonathon Vandezande
++     1        Jongwony
++     1        Joost Kranendonk
++     1        Jop Vermeer
++     1        Jordan Erenrich
++     1        Jorge López Fueyo
++     1        Joschka zur Jacobsmühlen
++     1        Jose Manuel Martí
++     1        Jose Rivera-Rubio
++     1        Joseph Gulian
++     1        JosephWagner
++     1        Josh Friedlander
++     1        Josh Howes
++     1        Josh Levy-Kramer
++     1        Josh Owen
++     1        Joshua Bradt
++     1        Joshua Leahy
++     1        Joshua Smith
++     1        Joshua Storck
++     1        José F. R. Fonseca
++     1        Jovixe
++     1        Joy Bhalla
++     1        Jozef Brandys
++     1        João Veiga
++     1        Julian Kuhlmann
++     1        Julian Santander
++     1        Julien Marrec
++     1        Julio Martinez
++     1        Jun
++     1        Jun Kim
++     1        Juraj Niznan
++     1        Justin Berka
++     1        Justin C Johnson
++     1        Justin Cole
++     1        Justin Essert
++     1        Justin Lin
++     1        Justin Solinsky
++     1        Jörg Döpfert
++     1        Júlio
++     1        KD-dev-lab
++     1        Kacawi
++     1        Kamal Kamalaldin
++     1        Kamil Sindi
++     1        Kane
++     1        Kapil Patel
++     1        Karel De Brabandere
++     1        Karl Dunkle Werner
++     1        Karmanya Aggarwal
++     1        Karrie Kehoe
++     1        Karthik Mathur
++     1        Kassandra Keeton
++     1        Katherine Surta
++     1        Katherine Younglove
++     1        Katie Atkinson
++     1        Kaushal Rohit
++     1        Keiron Pizzey
++     1        Keith Kraus
++     1        Keith Webber
++     1        Keming Zhang
++     1        Ken Mankoff
++     1        Ken Van Haren
++     1        Kenneth
++     1        Kenny Huynh
++     1        Ketan
++     1        Kevin Anderson
++     1        Kevin Kuhl
++     1        Kevin Markham
++     1        Kevin Nguyen
++     1        Kilian Lieret
++     1        Kimi Li
++     1        Kirk Hansen
++     1        Kisekka David
++     1        Kodi Arfer
++     1        Koki Nishihara
++     1        Koushik
++     1        Krishna Chivukula
++     1        Kristian Holsheimer
++     1        Krzysztof Chomski
++     1        Ksenia Bobrova
++     1        Ksenia Gueletina
++     1        Kurtis Kerstein
++     1        Kyle
++     1        Kyle Boone
++     1        Kyle Hausmann
++     1        Kyle Kosic
++     1        Kyle McCahill
++     1        Laksh Arora
++     1        Larry Ren
++     1        Laurens Geffert
++     1        Laurent Gautier
++     1        Leon Yin
++     1        Lewis Cowles
++     1        Li Jin
++     1        Liam Marshall
++     1        Linda Chen
++     1        Line Pedersen
++     1        Linxiao Wu
++     1        LiuSeeker
++     1        Liudmila
++     1        Lorenzo Bolla
++     1        Lorenzo Cestaro
++     1        Lorenzo Stella
++     1        Loïc Séguin-C
++     1        Luca Donini
++     1        Lucca Delchiaro Costabile
++     1        Luciano Viola
++     1        Ludovico Russo
++     1        Luis Ortiz
++     1        Luiz Gustavo
++     1        Lukasz
++     1        Luke Lee
++     1        Luke Shepard
++     1        Luo Yicheng
++     1        MKhalusova
++     1        Maarten Rietbergen
++     1        Mac
++     1        Maciej J
++     1        Madhuri Palanivelu
++     1        Magnus Jöud
++     1        Mahdi Ben Jelloul
++     1        Makarov Andrey
++     1        Malcolm
++     1        Malgorzata Turzanska
++     1        Manu NALEPA
++     1        Manuel Leonhardt
++     1        Manuel Riel
++     1        Maoyuan Liu
++     1        Marco Farrugia
++     1        Maria del Mar Bibiloni
++     1        Mario Corchero
++     1        Marius Potgieter
++     1        Mark Mandel
++     1        Mark O'Leary
++     1        Mark Roth
++     1        Mark Sikora
++     1        Mark Woodbridge
++     1        Marlene Silva Marchena
++     1        MarsGuy
++     1        Martin Babka
++     1        Martin Bjeldbak Madsen
++     1        Martin Durant
++     1        Martin Fleischmann
++     1        Martin Jones
++     1        Martin Journois
++     1        Marvzinc
++     1        María Marino
++     1        MasonGallo
++     1        MatanCohe
++     1        Matheus Cardoso
++     1        Mathew Topper
++     1        Matt Bark
++     1        Matt Boggess
++     1        Matt Cooper
++     1        Matt Gambogi
++     1        Matt Savoie
++     1        Matt Suggit
++     1        Matt Williams
++     1        MattRijk
++     1        Matteo Felici
++     1        Matthew Kirk
++     1        Matthew Lurie
++     1        Matthew Rocklin
++     1        Matthew Tan
++     1        Matthias Kuhn
++     1        Matthieu Brucher
++     1        Matti Airas
++     1        Max Chang
++     1        Max Grender-Jones
++     1        Max Halford
++     1        Max Kanter
++     1        Max Kovalovs
++     1        Max Mikhaylov
++     1        MaxU
++     1        Mayank Asthana
++     1        Mayank Bisht
++     1        Megan Thong
++     1        Mehmet Ali "Mali" Akmanalp
++     1        Michael Davis
++     1        Michael Droettboom
++     1        Michael E. Gruen
++     1        Michael Felt
++     1        Michael Gasvoda
++     1        Michael Lamparski
++     1        Michael P. Moran
++     1        Michael Röttger
++     1        Michael Scherer
++     1        Michael Selik
++     1        Michael Silverstein
++     1        Michael Waskom
++     1        Michael-J-Ward
++     1        Michelangelo D'Agostino
++     1        Michiel Stock
++     1        Mickaël Schoentgen
++     1        Mie~~~
++     1        Miguel Marques
++     1        Miguel Sánchez de León Peque
++     1        Mike Cramblett
++     1        Mike Graham
++     1        Mikolaj Chwalisz
++     1        Milo
++     1        Min ho Kim
++     1        MinGyo Jung
++     1        MinRK
++     1        Miroslav Šedivý
++     1        Misha Veldhoen
++     1        Mohammad Jafar Mashhadi
++     1        Mohit Anand
++     1        Monica
++     1        Montana Low
++     1        Moonsoo Kim
++     1        Morgan Stuart
++     1        Morgan243
++     1        Moritz Münst
++     1        Morton Fox
++     1        Moussa Taifi
++     1        Muhammad Haseeb Tariq
++     1        Mukul Ashwath Ram
++     1        MusTheDataGuy
++     1        Mykola Golubyev
++     1        Nanda H Krishna
++     1        Nate Armstrong
++     1        Nate George
++     1        Nathan Ford
++     1        Nathan Sanders
++     1        Nathan Typanski
++     1        Nathanael
++     1        Navreet Gill
++     1        Nehil Jain
++     1        Nicholas Stahl
++     1        Nicholas Ursa
++     1        Nick Burns
++     1        Nick Foti
++     1        Nick Garvey
++     1        Nick Newman
++     1        Nick Stahl
++     1        Nico Schlömer
++     1        Nigel Markey
++     1        Niklas Weber
++     1        Nikoleta Glynatsi
++     1        Nikos Karagiannakis
++     1        Nipun Sadvilkar
++     1        Nis Martensen
++     1        Noah
++     1        Noah Spies
++     1        Nolan Nichols
++     1        Noora Husseini
++     1        Noritada Kobayashi
++     1        Noémi Éltető
++     1        ObliviousParadigm
++     1        Oktay Sabak
++     1        Olga Lyashevska
++     1        Olivier Bilodeau
++     1        Olivier Harris
++     1        Onno Eberhard
++     1        Osman
++     1        P-Tillmann
++     1        Pablo Ambrosio
++     1        Pan Deng / Zora
++     1        Parfait G
++     1        Pastafarianist
++     1        Patrick
++     1        Patrick Luo
++     1        Patrick O'Melveny
++     1        Patrick Park
++     1        Patrik Hlobil
++     1        Paul Lilley
++     1        Paul Mannino
++     1        Paul Masurel
++     1        Paul Mestemaker
++     1        Paul Reiners
++     1        Paul Siegel
++     1        Paul van Mulbregt
++     1        Paula
++     1        Paulo Roberto de Oliveira Castro
++     1        Pav A
++     1        Pearcekieser
++     1        Pedro Larroy
++     1        Peng Yu
++     1        Pepe Flores
++     1        Pete Huang
++     1        Peter
++     1        Peter Bull
++     1        Peter Csizsek
++     1        Peter Hoffmann
++     1        Peter Quackenbush
++     1        Peter Steinbach
++     1        Peter Waller
++     1        Peter Yanovich
++     1        Petio Petrov
++     1        Petr Baev
++     1        Petra Chong
++     1        Phil Kirlin
++     1        Phil Ngo
++     1        Phil Ruffwind
++     1        Phil Schaf
++     1        Philip Gura
++     1        Philippe Ombredanne
++     1        Pierre-Yves Bourguignon
++     1        Piotr Kasprzyk
++     1        Prabhjot Singh
++     1        Pradyumna Reddy Chinthala
++     1        Pranav Suri
++     1        Prashant Anand
++     1        Pratap Vardhan
++     1        Priyanka Ojha
++     1        Puneeth K
++     1        Puneetha Pai
++     1        Pyry Kovanen
++     1        README Bot
++     1        Rafael Jaimes III
++     1        Rafif
++     1        Raghav
++     1        RahulHP
++     1        Rajat
++     1        Rajhans Jadhao
++     1        Rajiv Bharadwaj
++     1        Rakshit Naidu
++     1        Ralph Bean
++     1        Ray Bell
++     1        Red
++     1        Redonnet Louis
++     1        RenzoBertocchi
++     1        Rhys Parry
++     1        Ricardo Alanis
++     1        Richard Eames
++     1        Richard Lewis
++     1        Richard Shadrach
++     1        Ridhwan Luthra
++     1        Rishipuri
++     1        Rob Forgione
++     1        Rob deCarvalho
++     1        Robert
++     1        Robert Bradshaw
++     1        Robert Gibboni
++     1        Robert Kern
++     1        Robin Kiplang'at
++     1        RobinFiveWords
++     1        Rodolfo Fernandez
++     1        Rohan Pandit
++     1        Rohith295
++     1        Rok Mihevc
++     1        RomainSa
++     1        Roman Imankulov
++     1        Roman Khomenko
++     1        Ror
++     1        Ross Petchler
++     1        Roy Keyes
++     1        Roymprog
++     1        Rupert Thompson
++     1        Russell Smith
++     1        Ryan Grout
++     1        Ryan Hendrickson
++     1        Ryan Joyce
++     1        Ryszard T. Kaleta
++     1        Rémy Léone
++     1        Rüdiger Busche
++     1        SAI SRAVAN MEDICHERLA
++     1        SEUNG HOON, SHIN
++     1        SHUBH CHATTERJEE
++     1        Sakar Panta
++     1        Sam Zhang
++     1        Sami Salonen
++     1        Samir Musali
++     1        Samira-g-js
++     1        Samuel Denny
++     1        Samyak Jain
++     1        Sandeep Pathak
++     1        Sandrine Pataut
++     1        Sandu Ursu
++     1        Sanghee Kim
++     1        Sangmin Park
++     1        Sanjiv Lobo
++     1        Santosh Kumar
++     1        Sarah Bird
++     1        Sarah Masud
++     1        SarahJessica
++     1        Sarma Tangirala
++     1        Sasidhar Kasturi
++     1        Saumitra Shahapure
++     1        Schaer, Jacob C
++     1        Scott Cole
++     1        Scott Gigante
++     1        Scott Lasley
++     1        Scott McAllister
++     1        Scott Talbert
++     1        SdgJlbl
++     1        Sean Chan
++     1        Sebastian Berg
++     1        Sebastian Gsänger
++     1        Sebastian Pölsterl
++     1        Sebastian Rubbert
++     1        Senthil Palanisami
++     1        Sereger13
++     1        Sergei Chipiga
++     1        Sergei Ivko
++     1        Sergey
++     1        Sergey Kopylov
++     1        Sergio Pascual
++     1        Shannon Wang
++     1        Sharad Vijalapuram
++     1        Shashank Agarwal
++     1        Shengpu Tang
++     1        ShilpaSugan
++     1        Shirish Kadam
++     1        Shubham Chaudhary
++     1        Shyam Saladi
++     1        SiYoungOh
++     1        Siddhesh Poyarekar
++     1        Sidharthan Nair
++     1        Simon Legner
++     1        Simon Riddell
++     1        SimonBaron
++     1        Siu Kwan Lam
++     1        Soham Tiwari
++     1        Song Wenhao
++     1        Sourav kumar
++     1        Soyoun Kim
++     1        Spencer Carrucciu
++     1        Spencer Clark
++     1        SplashDance
++     1        Stefan van der Walt
++     1        Stefano Miccoli
++     1        Steffen Rehberg
++     1        Steffen Schmitz
++     1        Sten
++     1        Stephen Cowley
++     1        Stephen Kappel
++     1        StephenVoland
++     1        Sterling Paramore
++     1        Steve Baker
++     1        Steve Choi
++     1        Steve Dower
++     1        Steven
++     1        Steven Cutting
++     1        Stewart Henderson
++     1        Stuart Berg
++     1        Sudarshan Konge
++     1        Sudeep
++     1        SultanOrazbayev
++     1        Sumin Byeon
++     1        SurajH1
++     1        Sven
++     1        Sylvain Corlay
++     1        Sylvia
++     1        Szymon Bednarek
++     1        Sébastien de Menten
++     1        Sören
++     1        T N
++     1        Taavi Burns
++     1        Takuya N
++     1        Talitha Pumar
++     1        Tamas Nagy
++     1        Tambe Tabitha Achere
++     1        Tang Heyi
++     1        Tanmay Daripa
++     1        Tara Adiseshan
++     1        Telt
++     1        Terry Santegoeds
++     1        Thiago Cordeiro da Fonseca
++     1        Thiago Serafim
++     1        ThibTrip
++     1        Thomas Kluiters
++     1        Thomas Lentali
++     1        Thomas Wiecki
++     1        Thoralf Gutierrez
++     1        Thouis (Ray) Jones
++     1        Thrasibule
++     1        Tilen Kusterle
++     1        Tim Akinbo
++     1        Tim Cera
++     1        Tim Gates
++     1        Tim Hopper
++     1        Tim McNamara
++     1        Tirth Jain
++     1        Tobias Gustafsson
++     1        Tom
++     1        Tom Farnbauer
++     1        Tom Neep
++     1        Tomasz Kluczkowski
++     1        Tommy Lynch
++     1        Tomáš Chvátal
++     1        Tong Shen
++     1        Travis
++     1        Triple0
++     1        Tuan
++     1        Tuhin Mahmud
++     1        Tulio Casagrande
++     1        Unprocessable
++     1        Upkar Lidder
++     1        Utkarsh Upadhyay
++     1        Uwe
++     1        Uwe Hoffmann
++     1        Vadym Barda
++     1        Valentin Iovene
++     1        Vandana Iyer
++     1        Vibhu Agarwal
++     1        Victor Chaves
++     1        Victor Maryama
++     1        Victor Salgado
++     1        Vijay Sai Mutyala
++     1        Vijayant
++     1        Vikas Pandey
++     1        Vikram Shirgur
++     1        Vikramjeet Das
++     1        Vince W
++     1        Vincent Davis
++     1        Vinícius Figueiredo
++     1        Vipin Kumar
++     1        Vishwak Srinivasan
++     1        Vishwam Pandya
++     1        Vitória Helena
++     1        Vivek
++     1        Vladimir Berkutov
++     1        Vladislav
++     1        Vyom Jain
++     1        Víctor Moron Tejero
++     1        Weiwen Gu
++     1        Weston Renoud
++     1        Wieland Hoffmann
++     1        Wiktor Tomczak
++     1        Wil Tan
++     1        Will Thompson
++     1        William
++     1        William Hogman
++     1        Wilson Lin
++     1        Winand
++     1        Wouter De Coster
++     1        XF
++     1        Xiang Zhang
++     1        YG-Riku
++     1        YaOzI
++     1        Yadunandan
++     1        Yago González
++     1        Yash Shukla
++     1        Yasin A
++     1        Yee Mey
++     1        Yeojin Kim
++     1        Yeongseon Choe
++     1        Yevgeniy Grechka
++     1        Yi Liu
++     1        Yitzhak Andrade
++     1        Yoann Goular
++     1        Yoong Kang Lim
++     1        Yosuke KOBAYASHI
++     1        Yosuke Nakabayashi
++     1        Young Joong Kim
++     1        Yu Wang
++     1        Yuan Tang (Terry)
++     1        Yuliya Dovzhenko
++     1        Yulong Yang
++     1        Yury Bayda
++     1        Yusei Tahara
++     1        Yuval Langer
++     1        Zach Dwiel
++     1        Zachary Lawrence
++     1        Zaky Bilfagih
++     1        Zeb Nicholls
++     1        Zeke
++     1        Zihao Zhao
++     1        aaron315
++     1        abaldenko
++     1        abarber4gh
++     1        aberres
++     1        acorbe
++     1        adrian-stepien
++     1        aeltanawy
++     1        aernlund
++     1        agustín méndez
++     1        ailchau
++     1        ajenkins-cargometrics
++     1        akielbowicz
++     1        alex argunov
++     1        alex arsenovic
++     1        alexander135
++     1        alexandercbooth
++     1        alinde1
++     1        amphy
++     1        amuta
++     1        andhikayusup
++     1        andymaheshw
++     1        ankostis
++     1        anton-d
++     1        araraonline
++     1        atbd
++     1        austinc
++     1        avelineg
++     1        aviolov
++     1        azuranski
++     1        azure-pipelines[bot]
++     1        babakkeyvani
++     1        bastewart
++     1        benabel
++     1        benarthur91
++     1        bernie gray
++     1        bertrandhaut
++     1        bganglia
++     1        biddwan09
++     1        bk521234
++     1        bkandel
++     1        bmagnusson
++     1        bmu
++     1        boombard
++     1        bpraggastis
++     1        bravech
++     1        brian-pantano
++     1        c123w
++     1        carlosdanielcsantos
++     1        cclauss
++     1        chaimdemulder
++     1        chappers
++     1        charlie0389
++     1        chebee7i
++     1        chernrick
++     1        chinhwee
++     1        chinskiy
++     1        chromy
++     1        claudiobertoldi
++     1        cmazzullo
++     1        conmai
++     1        cr3
++     1        cruzzoe
++     1        cxl923cc
++     1        cyrusmaher
++     1        d10genes
++     1        dajcs
++     1        dalgarno
++     1        daniel
++     1        daniellebrown
++     1        darke-spirits
++     1        david
++     1        david-cortes
++     1        davidjameshumphreys
++     1        davidmvalente
++     1        davidovitch
++     1        daydreamt
++     1        dequadras
++     1        derestle-htwg
++     1        dgram0
++     1        dhuettenmoser
++     1        dickreuter
++     1        dkamm
++     1        dmanikowski-reef
++     1        doosik_bae
++     1        dr-leo
++     1        dubourg
++     1        dylanchase
++     1        economy
++     1        eduardo naufel schettino
++     1        ejnens
++     1        elmonsomiat
++     1        elrubio
++     1        emilydolson
++     1        endenis
++     1        engstrom
++     1        enisnazif
++     1        epizzigoni
++     1        est271
++     1        euri10
++     1        evangelineliu
++     1        ezcitron
++     1        fabriziop
++     1        faic
++     1        fding253
++     1        fengyqf
++     1        fivemok
++     1        fl4p
++     1        fleimgruber
++     1        floydsoft
++     1        flying-sheep
++     1        francisco souza
++     1        funnycrab
++     1        gabrielclow
++     1        ganego
++     1        garanews
++     1        gfr
++     1        goldenbull
++     1        guru kiran
++     1        guygoldberg
++     1        gwrome
++     1        h-vishal
++     1        hack-c
++     1        haison
++     1        hannah-c
++     1        harisbal
++     1        harshul1610
++     1        hasnain2808
++     1        hcontrast
++     1        heckeop
++     1        helger
++     1        henriqueribeiro
++     1        herrfz
++     1        hesham.shabana@hotmail.com
++     1        hhuuggoo
++     1        hironow
++     1        hongshaoyang
++     1        hshimizu77
++     1        hsperr
++     1        huashuai
++     1        hunterowens
++     1        iamsimha
++     1        ian
++     1        ignamv
++     1        igorfassen
++     1        iulia
++     1        jackieleng
++     1        jalazbe
++     1        jalbritt
++     1        jamesoliverh
++     1        jamin-aws-ospo
++     1        jaredsnyder
++     1        jayfoad
++     1        jazzmuesli
++     1        jebob
++     1        jeps-journal
++     1        jeschwar
++     1        jfcorbett
++     1        jfoo
++     1        jh-wu
++     1        jjames34
++     1        jkovacevic
++     1        jnecus
++     1        jniznan
++     1        joaoavf
++     1        joders
++     1        jojomdt
++     1        josham
++     1        joy-rosie
++     1        jsexauer
++     1        juan huguet
++     1        juricast
++     1        justinchan23
++     1        kaustuv deolal
++     1        kdiether
++     1        kiwirob
++     1        kjford
++     1        klonuo
++     1        knuu
++     1        kotrfa
++     1        kpflugshaupt
++     1        krey
++     1        ksanghai
++     1        kylekeppler
++     1        l736x
++     1        larvian
++     1        leandermaben
++     1        leerssej
++     1        lenolib
++     1        lexy-lixinyu
++     1        lgautier
++     1        link2xt
++     1        lloydkirk
++     1        lodagro
++     1        lrjball
++     1        lucas
++     1        lucyleeow
++     1        maheshbapatu
++     1        majiang
++     1        manikbhandari
++     1        manoj_koneni
++     1        manu
++     1        manuels
++     1        marcosrullan
++     1        marydmit
++     1        masterpiga
++     1        matthiashuschle
++     1        mattrijk
++     1        maxalbert
++     1        maximilianr
++     1        maxwasserman
++     1        mazayo
++     1        mck619
++     1        mcocdawc
++     1        mdeboc
++     1        mgilbert
++     1        mglasder
++     1        miguelmorin
++     1        mikebailey
++     1        miquelcamprodon
++     1        mjlove12
++     1        moaraccounts
++     1        monicaBee
++     1        mpuels
++     1        mschmohl
++     1        mwaskom
++     1        naveenkaushik2504
++     1        nicolab100
++     1        nileracecrew
++     1        nmartensen
++     1        nprad
++     1        nuffe
++     1        ojdo
++     1        omtinez
++     1        orereta
++     1        ossdev07
++     1        paihu
++     1        pajachiet
++     1        pallav-fdsi
++     1        pan Jacek
++     1        pandas-docs-bot
++     1        parchd-1
++     1        paul-mannino
++     1        pbreach
++     1        peadarcoyle
++     1        peterpanmj
++     1        philipphanemann
++     1        pijucha
++     1        pizzathief
++     1        pmaxey83
++     1        pqzx
++     1        ptype
++     1        pvanhauw
++     1        rafarui
++     1        raguiar2
++     1        ranarag
++     1        raph-m
++     1        ratijas
++     1        rdk1024
++     1        readyready15728
++     1        rhstanton
++     1        ribonoous
++     1        rmihael
++     1        rmunjal29
++     1        robertzk
++     1        rs2
++     1        ruiann
++     1        s-weigand
++     1        sage
++     1        sagungrp
++     1        sakkemo
++     1        salem3358
++     1        saloni30
++     1        samghelms
++     1        sangarshanan
++     1        sanguineturtle
++     1        sardonick
++     1        saskakarsi
++     1        saurav2608
++     1        scriptomation
++     1        seales
++     1        sfoo
++     1        shaido987
++     1        shawnbrown
++     1        sideeye
++     1        silentquasar
++     1        skwbc
++     1        smartswdeveloper
++     1        someben
++     1        stahlous
++     1        stas-sl
++     1        stefansimik
++     1        step4me
++     1        stephenwlin
++     1        steveayers124
++     1        stijnvanhoey
++     1        sudhir mohanraj
++     1        surveymedia.ca
++     1        svaksha
++     1        syutbai
++     1        tadashigaki
++     1        tadeja
++     1        tamuhey
++     1        testvinder
++     1        thauck
++     1        the-nose-knows
++     1        theandygross
++     1        themrmax
++     1        thuske
++     1        timcera
++     1        timhunderwood
++     1        tlaytongoogle
++     1        tom-alcorn
++     1        tomascassidy
++     1        tomrod
++     1        tworec
++     1        venkateshdatta1993
++     1        verakai
++     1        vivikelapoutre
++     1        vkk800
++     1        vytas
++     1        wandersoncferreira
++     1        watercrossing
++     1        wavedatalab
++     1        willbowditch
++     1        willweil
++     1        winlu
++     1        xgdgsc
++     1        yehia67
++     1        yelite
++     1        yhaque1213
++     1        ym-pett
++     1        yrhooke
++     1        ysau
++     1        ywpark1
++     1        zachcp
++     1        zaki-indra
++     1        zertrin
++     1        zhanghui
++     1        zhangjinjie
++     1        zhezherun
++     1        znmean
++     1        zys5945
++     1        zzgao
++     1        Åsmund Hjulstad
++     1        Øystein S. Haaland
++     1        颜发才(Yan Facai)
++
++Debian packaging
++   323        Yaroslav Halchenko
++   256        Rebecca N. Palmer
++    49        Mo Zhou
++    25        Andreas Tille
++    25        Graham Inggs
++     4        Dmitry Shachnev
++     2        Julian Taylor
++     2        Yaroslav O Halchenko
++     1        Diane Trout
++     1        Ole Streicher
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0a36ce7f2bd237a956d4c568cd9444d1bae76b3a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,179 @@@
++Source: pandas
++Section: python
++Priority: optional
++Maintainer: Debian Science Team <debian-science-maintainers@lists.alioth.debian.org>
++Uploaders: Yaroslav Halchenko <debian@onerussian.com>,
++           Michael Hanke <michael.hanke@gmail.com>,
++           Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Build-Depends: debhelper-compat (= 13),
++               dh-python,
++               locales-all,
++               python3-all-dev,
++               cython3 (>= 0.29.21~),
++               python3-bottleneck (>= 1.2.1~) <!nocheck> <!nodoc>,
++               python3-bs4 <!nocheck> <!nodoc>,
++               python3-dask (>= 2.10.1~) <!nocheck> <!nodoc>,
++               python3-dateutil (>= 2.7.3~),
++               python3-html5lib <!nocheck> <!nodoc>,
++               python3-hypothesis <!nocheck> <!nodoc>,
++               python3-jinja2 <!nocheck> <!nodoc>,
++               python3-lxml <!nocheck> <!nodoc>,
++               python3-matplotlib [!ia64 !sh4 !x32] <!nocheck> <!nodoc>,
++# armel, s390x numba crash, mipsel gives wrong answer, most ports don't have numba
++# re-add when #972246 is fixed               python3-numba (>= 0.46.0~) [amd64 arm64 armhf i386 mips64el mipsel ppc64el s390x] <!nocheck> <!nodoc>,
++               python3-numexpr (>= 2.6.2~) [!kfreebsd-any !sparc64] <!nocheck> <!nodoc>,
++               python3-numpy,
++               python3-odf <!nocheck> <!nodoc>,
++               python3-openpyxl <!nocheck> <!nodoc>,
++# upstream actually want pytest >= 5.0.1 but we don't have that in testing
++               python3-pytest (>= 4.0.2~) <!nocheck> <!nodoc>,
++               python3-pytest-asyncio <!nocheck> <!nodoc>,
++               python3-pytest-forked <!nocheck> <!nodoc>,
++               python3-pytest-xdist (>= 1.21~) <!nocheck> <!nodoc>,
++               python3-scipy,
++               python3-setuptools,
++               python3-six,
++               python3-tables (>= 3.4.3~) <!nocheck> <!nodoc>,
++               python3-tabulate (>= 0.8.3~) <!nocheck> <!nodoc>,
++               python3-tk <!nocheck> <!nodoc>,
++               python3-tz <!nocheck> <!nodoc>,
++# broken - #976620               python3-xlrd <!nocheck> <!nodoc>,
++               python3-xlsxwriter <!nocheck> <!nodoc>,
++               python3-xlwt <!nocheck> <!nodoc>,
++               sphinx-common,
++               xvfb <!nocheck>,
++               xauth <!nocheck>,
++               xclip <!nocheck>,
++Build-Depends-Indep:
++ python3-sphinx <!nodoc>,
++ python3-ipykernel <!nodoc>,
++ python3-nbconvert (>= 5.4.1~) <!nodoc>,
++ python3-nbsphinx <!nodoc>,
++ python3-numpydoc <!nodoc>,
++ ipython3 (>= 7.11.1~) <!nodoc>,
++ jdupes <!nodoc>,
++# for style.ipynb
++ pandoc <!nodoc>,
++# for intersphinx inventories
++ python3-doc <!nodoc>,
++ python-numpy-doc <!nodoc>,
++ python-scipy-doc <!nodoc>,
++ python-matplotlib-doc <!nodoc>,
++ python-statsmodels-doc <!nodoc>,
++# these are for not having (as many) exception messages in documentation examples
++# so may be temporarily removed if they are broken or to break bootstrap cycles
++# not in Debian (not to be confused with python3-arrow) python3-pyarrow <!nodoc>,
++ python3-ipywidgets <!nodoc>,
++ python3-rpy2 <!nodoc>,
++ python3-seaborn <!nodoc>,
++ python3-sqlalchemy <!nodoc>,
++ python3-statsmodels <!nodoc>,
++ python3-xarray <!nodoc>,
++Standards-Version: 4.5.1
++Rules-Requires-Root: no
++Homepage: https://pandas.pydata.org/
++Vcs-Browser: https://salsa.debian.org/science-team/pandas
++Vcs-Git: https://salsa.debian.org/science-team/pandas.git
++
++Package: python3-pandas
++Architecture: all
++Depends: ${misc:Depends}, ${python3:Depends},
++         python3-numpy (>= 1:1.15~),
++         python3-dateutil (>= 2.7.3~),
++         python3-pandas-lib (>= ${source:Upstream-Version}),
++# should maybe have a python3-pandas-lib (<< ${source:Upstream-Version}.0), as well, but that leaves arch:all BD-Uninstallable if arch:amd64 builds first
++         python3-pkg-resources,
++         python3-six,
++Recommends: python3-scipy,
++            python3-matplotlib,
++            python3-tz,
++# for faster processing
++# see -lib for python3-numba
++            python3-bottleneck,
++            python3-numexpr,
++# for spreadsheet I/O
++            python3-odf,
++            python3-openpyxl,
++# broken - #976620            python3-xlrd,
++            python3-xlwt,
++# for HTML table I/O
++            python3-bs4,
++            python3-html5lib,
++            python3-lxml,
++# for HDF5 I/O
++            python3-tables,
++# for styled output
++            python3-jinja2,
++Suggests: python-pandas-doc,
++          python3-statsmodels
++Breaks:
++# 0.23 -> 0.25 API breaks, #931557
++        cnvkit (<< 0.9.6-2~),
++# 0.25 -> 1.0 API breaks, #950430
++        python3-biom-format (<< 2.1.8+dfsg-3.1~),
++        python3-feather-format (<< 0.3.1+dfsg1-4~),
++        python3-statsmodels (<< 0.11.0~),
++        python3-seaborn (<< 0.9.1~),
++        q2-demux (<< 2019.10.0-1.1~),
++        q2templates (<< 2019.10.0+dfsg-1.1~),
++        q2-types (<< 2019.10.0-1.1~),
++# 1.0 -> 1.1 API breaks, #969650
++        python3-dask (<< 2.11.0+dfsg-1.1~),
++        python3-skbio (<< 0.5.6-3~)
++Description: data structures for "relational" or "labeled" data
++ pandas is a Python package providing fast, flexible, and expressive
++ data structures designed to make working with "relational" or
++ "labeled" data both easy and intuitive. It aims to be the fundamental
++ high-level building block for doing practical, real world data
++ analysis in Python. pandas is well suited for many different kinds of
++ data:
++ .
++  - Tabular data with heterogeneously-typed columns, as in an SQL
++    table or Excel spreadsheet
++  - Ordered and unordered (not necessarily fixed-frequency) time
++    series data.
++  - Arbitrary matrix data (homogeneously typed or heterogeneous) with
++    row and column labels
++  - Any other form of observational / statistical data sets. The data
++    actually need not be labeled at all to be placed into a pandas
++    data structure
++ .
++ This package contains the Python 3 version.
++
++Package: python-pandas-doc
++Architecture: all
++Section: doc
++Depends: ${misc:Depends},
++         ${sphinxdoc:Depends}
++Suggests: python3-pandas
++Description: data structures for "relational" or "labeled" data - documentation
++ pandas is a Python package providing fast, flexible, and expressive
++ data structures designed to make working with "relational" or
++ "labeled" data both easy and intuitive. It aims to be the fundamental
++ high-level building block for doing practical, real world data
++ analysis in Python. pandas is well suited for many different kinds of
++ data:
++ .
++  - Tabular data with heterogeneously-typed columns, as in an SQL
++    table or Excel spreadsheet
++  - Ordered and unordered (not necessarily fixed-frequency) time
++    series data.
++  - Arbitrary matrix data (homogeneously typed or heterogeneous) with
++    row and column labels
++  - Any other form of observational / statistical data sets. The data
++    actually need not be labeled at all to be placed into a pandas
++    data structure
++ .
++ This package contains the documentation.
++
++Package: python3-pandas-lib
++Architecture: any
++Multi-Arch: same
++Depends: ${misc:Depends}, ${shlibs:Depends}, ${python3:Depends}, python3-numpy (>=1:1.15~)
++# this is here to allow it to be arch-specific, to avoid numba bugs on other architectures
++Recommends: python3-numba [amd64]
++Description: low-level implementations and bindings for pandas
++ This is a low-level package for python3-pandas providing
++ architecture-dependent extensions.
++ .
++ Users should not need to install it directly.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..75838faedbbe9fe0cef830f74adfd492e69d2509
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,733 @@@
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: pandas
++Upstream-Contact: pandas-dev@python.org
++Source: https://github.com/pandas-dev/pandas
++Files-Excluded: doc/source/user_guide/cookbook.rst
++Comment: cookbook has around 100 Stack Overflow snippets (CC-BY-SA with possibly inadequate attribution), the Google pandas/io/auth.py referred to in LICENSES/OTHER was removed in upstream commit 1bad601
++
++Files: *
++Copyright: 2008-2011 AQR Capital Management, LLC
++           2011 Wes McKinney and pandas developers
++           2011-2020 Lambda Foundry, Inc. and PyData Development Team
++License: BSD-3
++Comment: The original source contains some CC-BY-SA snippets by Stack Overflow users (https://stackoverflow.com/users/1114/jeremy-banks, https://stackoverflow.com/users/387251/oliver, https://stackoverflow.com/users/3297752/noah-motion, https://stackoverflow.com/users/925671/bill, https://stackoverflow.com/users/1082349/foobar, https://stackoverflow.com/users/3089209/crantila, https://stackoverflow.com/users/2375855/ojdo, https://stackoverflow.com/users/487339/dsm, https://stackoverflow.com/users/2677943/swenzel), but these may be too small to be copyrightable, and the less trivial ones are patched out in this package
++
++Files: doc/sphinxext/*
++Copyright: 2008, Stefan van der Walt <stefan@mentat.za.net>, Pauli Virtanen <pav@iki.fi>
++License: BSD-2
++
++Files: doc/sphinxext/announce.py
++Copyright: 2001-2017 Enthought, Inc. and SciPy Developers.
++           2017-2020 Lambda Foundry, Inc. and PyData Development Team
++License: BSD-3
++Comment: it is possible that other code was also taken from Scipy
++
++Files: pandas/_libs/src/headers/portable.h
++Copyright: 2005-2014 Rich Felker and contributors
++           2008-2019, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
++License: Expat and BSD-3
++Origin: musl (partly)
++Comment: this might or might not be from a public domain part of musl
++
++Files: pandas/_libs/src/headers/ms_*
++Copyright: 2006-2008 Alexander Chemeris
++License: BSD-3
++
++Files: pandas/_libs/src/klib/*
++Copyright: 2008, 2009, 2011 by Attractive Chaos <attractor@live.co.uk>
++License: Expat
++
++Files: pandas/_libs/src/parser/tokenizer.*
++Copyright: 2002 Michael Ringgaard
++           2011-2012 Warren Weckesser
++           2001-2012 Python Software Foundation and Python contributors
++           2012-2020 Lambda Foundry, Inc. and PyData Development Team
++License: Python and BSD-3
++Origin: csv (Python standard library), github.com/WarrenWeckesser/textreader
++
++Files: pandas/_libs/src/skiplist.h
++Copyright: 2009, Raymond Hettinger
++           2011-2020 Wes McKinney and PyData Development Team
++License: Expat and BSD-3
++Origin: http://code.activestate.com/recipes/576930/
++Comment: it is a Cython code "inspired" by the original Python code by Raymond
++
++Files: pandas/_libs/src/ujson/*
++Copyright: 1988-1993 The Regents of the University of California
++           1994 Sun Microsystems, Inc.
++           2007 Nick Galbreath
++           2011-2013 ESN Social Software AB and Jonas Tarnstrom
++           2012-2020 Lambda Foundry, Inc. and PyData Development Team
++License: BSD-3 and Expat
++Origin: ultrajson
++
++Files: pandas/_libs/tslibs/parsing.pyx
++Copyright: 2003-2011 - Gustavo Niemeyer <gustavo@niemeyer.net>
++           2012-2014 - Tomi Pieviläinen <tomi.pievilainen@iki.fi>
++           2014-2016 - Yaron de Leeuw <me@jarondl.net>
++           2015-2017 - Paul Ganssle <paul@ganssle.io>
++           2015-2017 - dateutil contributors (see AUTHORS file)
++           2008-2020, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
++License: BSD-3
++Origin: dateutil (partly)
++
++Files: pandas/_libs/tslibs/src/datetime/*
++Copyright: 2005-2013, NumPy Developers
++License: BSD-3
++Origin: numpy
++Comment: Listed as derived from Numpy 1.7
++
++Files: pandas/_libs/window/aggregations.pyx
++       pandas/tests/window/moments/test_moments_rolling.py
++Copyright: 2010-2012 Archipel Asset Management AB
++           2011-2020 Lambda Foundry, Inc. and PyData Development Team
++License: BSD-3
++Origin: bottleneck (partly)
++Comment: Original was BSD-2, but BSD-2 and BSD-3 = BSD-3
++
++Files: pandas/compat/*
++Copyright: 2010-2013 Benjamin Peterson
++           2012-2020 Lambda Foundry, Inc. and PyData Development Team
++License: Expat and BSD-3
++Origin: six
++
++Files: pandas/core/accessor.py
++Copyright: 2014-2018 xarray developers
++           2018-2020 Lambda Foundry, Inc. and PyData Development Team
++License: Apache-2.0 and BSD-3
++Origin: xarray (partly)
++
++Files: pandas/io/clipboard/*
++Copyright: 2010-2017 Albert Sweigart and Pyperclip contributors
++           2016-2020 Lambda Foundry, Inc. and PyData Development Team
++License: BSD-3
++Origin: Pyperclip
++
++Files: pandas/io/sas/sas7bdat.py
++Copyright: 2015 Jared Hobbs
++           2016-2020 Lambda Foundry, Inc. and PyData Development Team
++Origin: https://bitbucket.org/jaredhobbs/sas7bdat
++License: Expat
++
++Files: pandas/tests/io/data/html/banklist.html
++       pandas/tests/io/data/csv/banklist.csv
++       pandas/tests/io/data/html/spam.html
++Copyright: None; by Federal Deposit Insurance Corporation and US Department of Agriculture
++License: public-domain
++
++Files: pandas/tests/io/data/html/wikipedia_states.html
++Copyright: 2002-2014 Wikipedia contributors (full list: https://en.wikipedia.org/w/index.php?title=List_of_U.S._states_and_territories_by_area&offset=20140630&action=history)
++License: CC-BY-SA-3.0
++
++Files: pandas/tests/io/data/spss/*
++Copyright: 2019 Hadley Wickham; RStudio; and Evan Miller
++License: Expat
++Origin: https://haven.tidyverse.org
++
++Files: setup.py
++Copyright: 2009-2012, Brian Granger, Min Ragan-Kelley (from pyzmq)
++           2004 Infrae (from lxml)
++           2008-2020, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
++License: BSD-3
++
++Files: debian/*
++Copyright: 2011-2018, Yaroslav Halchenko <debian@onerussian.com>
++           2019-2020, Debian Science Team
++License: BSD-3
++
++License: BSD-2
++  Redistribution and use in source and binary forms, with or without
++  modification, are permitted provided that the following conditions are
++  met:
++ .
++  1. Redistributions of source code must retain the above copyright
++     notice, this list of conditions and the following disclaimer.
++  2. Redistributions in binary form must reproduce the above copyright
++     notice, this list of conditions and the following disclaimer in
++     the documentation and/or other materials provided with the
++     distribution.
++ .
++  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++License: BSD-3
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are
++ met:
++ .
++  * Redistributions of source code must retain the above copyright
++     notice, this list of conditions and the following disclaimer.
++  * Redistributions in binary form must reproduce the above
++     copyright notice, this list of conditions and the following
++     disclaimer in the documentation and/or other materials provided
++     with the distribution.
++  * Neither the name of the copyright holder nor the names of any
++     contributors may be used to endorse or promote products derived
++     from this software without specific prior written permission.
++ .
++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS
++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++License: Expat
++ Permission is hereby granted, free of charge, to any person obtaining
++ a copy of this software and associated documentation files (the
++ "Software"), to deal in the Software without restriction, including
++ without limitation the rights to use, copy, modify, merge, publish,
++ distribute, sublicense, and/or sell copies of the Software, and to
++ permit persons to whom the Software is furnished to do so, subject to
++ the following conditions:
++ .
++ The above copyright notice and this permission notice shall be
++ included in all copies or substantial portions of the Software.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
++ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
++ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
++ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++ SOFTWARE.
++
++License: Apache-2.0
++ Licensed under the Apache License, Version 2.0 (the "License");
++ you may not use this file except in compliance with the License.
++ You may obtain a copy of the License at
++ .
++     http://www.apache.org/licenses/LICENSE-2.0
++ .
++ Unless required by applicable law or agreed to in writing, software
++ distributed under the License is distributed on an "AS IS" BASIS,
++ 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.
++ .
++ On Debian systems full text of the license could be found in
++ /usr/share/common-licenses/Apache-2.0 .
++
++License: Python
++ PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
++ --------------------------------------------
++ .
++ 1. This LICENSE AGREEMENT is between the Python Software Foundation
++ ("PSF"), and the Individual or Organization ("Licensee") accessing and
++ otherwise using this software ("Python") in source or binary form and
++ its associated documentation.
++ .
++ 2. Subject to the terms and conditions of this License Agreement, PSF hereby
++ grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
++ analyze, test, perform and/or display publicly, prepare derivative works,
++ distribute, and otherwise use Python alone or in any derivative version,
++ provided, however, that PSF's License Agreement and PSF's notice of copyright,
++ i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
++ Python Software Foundation; All Rights Reserved" are retained in Python alone or
++ in any derivative version prepared by Licensee.
++ .
++ 3. In the event Licensee prepares a derivative work that is based on
++ or incorporates Python or any part thereof, and wants to make
++ the derivative work available to others as provided herein, then
++ Licensee hereby agrees to include in any such work a brief summary of
++ the changes made to Python.
++ .
++ 4. PSF is making Python available to Licensee on an "AS IS"
++ basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
++ IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
++ DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
++ FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
++ INFRINGE ANY THIRD PARTY RIGHTS.
++ .
++ 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
++ FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
++ A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
++ OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
++ .
++ 6. This License Agreement will automatically terminate upon a material
++ breach of its terms and conditions.
++ .
++ 7. Nothing in this License Agreement shall be deemed to create any
++ relationship of agency, partnership, or joint venture between PSF and
++ Licensee.  This License Agreement does not grant permission to use PSF
++ trademarks or trade name in a trademark sense to endorse or promote
++ products or services of Licensee, or any third party.
++ .
++ 8. By copying, installing or otherwise using Python, Licensee
++ agrees to be bound by the terms and conditions of this License
++ Agreement.
++
++License: public-domain
++ US federal government works
++
++License: CC-BY-SA-3.0
++ Creative Commons Attribution-ShareAlike 3.0 Unported
++ .
++ .
++ .
++         CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS
++         LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON
++         AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED,
++         AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
++ .
++         License
++ .
++ .
++ .
++      THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE
++         ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE
++         LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS
++         PROHIBITED.
++ .
++      BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS
++         LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE
++         RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
++ .
++ .
++ .
++ .
++ .
++ 1.
++          Definitions
++ .
++ .
++ .
++ .
++ a.
++            "Adaptation" means a work based upon the Work, or upon the Work and other
++               pre-existing works, such as a translation, adaptation, derivative work, arrangement of
++               music or other alterations of a literary or artistic work, or phonogram or performance and
++               includes cinematographic adaptations or any other form in which the Work may be recast,
++               transformed, or adapted including in any form recognizably derived from the original,
++               except that a work that constitutes a Collection will not be considered an Adaptation for
++               the purpose of this License. For the avoidance of doubt, where the Work is a musical work,
++               performance or phonogram, the synchronization of the Work in timed-relation with a moving
++               image ("synching") will be considered an Adaptation for the purpose of this
++               License.
++ .
++ .
++ .
++ b.
++            "Collection" means a collection of literary or artistic works, such as
++               encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works
++               or subject matter other than works listed in Section 1(f) below, which, by reason of the
++               selection and arrangement of their contents, constitute intellectual creations, in which
++               the Work is included in its entirety in unmodified form along with one or more other
++               contributions, each constituting separate and independent works in themselves, which
++               together are assembled into a collective whole. A work that constitutes a Collection will
++               not be considered an Adaptation (as defined below) for the purposes of this License.
++ .
++ .
++ .
++ c.
++            "Creative Commons Compatible License" means a license that is listed at
++               http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons
++               as being essentially equivalent to this License, including, at a minimum, because that
++               license: (i) contains terms that have the same purpose, meaning and effect as the License
++               Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of
++               works made available under that license under this License or a Creative Commons
++               jurisdiction license with the same License Elements as this License.
++ .
++ .
++ .
++ d.
++            "Distribute" means to make available to the public the original and copies of the
++               Work or Adaptation, as appropriate, through sale or other transfer of ownership.
++ .
++ .
++ .
++ e.
++            "License Elements" means the following high-level license attributes as selected by
++               Licensor and indicated in the title of this License: Attribution, ShareAlike.
++ .
++ .
++ .
++ f.
++            "Licensor" means the individual, individuals, entity or entities that offer(s) the
++               Work under the terms of this License.
++ .
++ .
++ .
++ g.
++            "Original Author" means, in the case of a literary or artistic work, the
++               individual, individuals, entity or entities who created the Work or if no individual or
++               entity can be identified, the publisher; and in addition (i) in the case of a performance
++               the actors, singers, musicians, dancers, and other persons who act, sing, deliver,
++               declaim, play in, interpret or otherwise perform literary or artistic works or expressions
++               of folklore; (ii) in the case of a phonogram the producer being the person or legal entity
++               who first fixes the sounds of a performance or other sounds; and, (iii) in the case of
++               broadcasts, the organization that transmits the broadcast.
++ .
++ .
++ .
++ h.
++            "Work" means the literary and/or artistic work offered under the terms of this
++               License including without limitation any production in the literary, scientific and
++               artistic domain, whatever may be the mode or form of its expression including digital
++               form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work
++               of the same nature; a dramatic or dramatico-musical work; a choreographic work or
++               entertainment in dumb show; a musical composition with or without words; a cinematographic
++               work to which are assimilated works expressed by a process analogous to cinematography; a
++               work of drawing, painting, architecture, sculpture, engraving or lithography; a
++               photographic work to which are assimilated works expressed by a process analogous to
++               photography; a work of applied art; an illustration, map, plan, sketch or
++               three-dimensional work relative to geography, topography, architecture or science; a
++               performance; a broadcast; a phonogram; a compilation of data to the extent it is protected
++               as a copyrightable work; or a work performed by a variety or circus performer to the
++               extent it is not otherwise considered a literary or artistic work.
++ .
++ .
++ .
++ i.
++            "You" means an individual or entity exercising rights under this License who has
++               not previously violated the terms of this License with respect to the Work, or who has
++               received express permission from the Licensor to exercise rights under this License
++               despite a previous violation.
++ .
++ .
++ .
++ j.
++            "Publicly Perform" means to perform public recitations of the Work and to
++               communicate to the public those public recitations, by any means or process, including by
++               wire or wireless means or public digital performances; to make available to the public
++               Works in such a way that members of the public may access these Works from a place and at
++               a place individually chosen by them; to perform the Work to the public by any means or
++               process and the communication to the public of the performances of the Work, including by
++               public digital performance; to broadcast and rebroadcast the Work by any means including
++               signs, sounds or images.
++ .
++ .
++ .
++ k.
++            "Reproduce" means to make copies of the Work by any means including without
++               limitation by sound or visual recordings and the right of fixation and reproducing
++               fixations of the Work, including storage of a protected performance or phonogram in
++               digital form or other electronic medium.
++ .
++ .
++ .
++ .
++ .
++ 2.
++          Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses
++             free from copyright or rights arising from limitations or exceptions that are provided for in
++             connection with the copyright protection under copyright law or other applicable laws.
++ .
++ .
++ .
++ 3.
++          License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a
++             worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable
++             copyright) license to exercise the rights in the Work as stated below:
++ .
++ .
++ .
++ .
++ a.
++            to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce
++               the Work as incorporated in the Collections;
++ .
++ .
++ .
++ b.
++            to create and Reproduce Adaptations provided that any such Adaptation, including any
++               translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise
++               identify that changes were made to the original Work. For example, a translation could be
++               marked "The original work was translated from English to Spanish," or a
++               modification could indicate "The original work has been modified.";
++ .
++ .
++ .
++ c.
++            to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
++ .
++ .
++ .
++ d.
++            to Distribute and Publicly Perform Adaptations.
++ .
++ .
++ .
++ e.
++            For the avoidance of doubt:
++ .
++ .
++ .
++ .
++ i.
++              Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to
++                 collect royalties through any statutory or compulsory licensing scheme cannot be
++                 waived, the Licensor reserves the exclusive right to collect such royalties for any
++                 exercise by You of the rights granted under this License;
++ .
++ .
++ .
++ ii.
++              Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect
++                 royalties through any statutory or compulsory licensing scheme can be waived, the
++                 Licensor waives the exclusive right to collect such royalties for any exercise by You
++                 of the rights granted under this License; and,
++ .
++ .
++ .
++ iii.
++              Voluntary License Schemes. The Licensor waives the right to collect royalties, whether
++                 individually or, in the event that the Licensor is a member of a collecting society
++                 that administers voluntary licensing schemes, via that society, from any exercise by
++                 You of the rights granted under this License.
++ .
++ .
++ .
++ .
++              The above rights may be exercised in all media and formats whether now known or hereafter
++                 devised. The above rights include the right to make such modifications as are
++                 technically necessary to exercise the rights in other media and formats. Subject to
++                 Section 8(f), all rights not expressly granted by Licensor are hereby reserved.
++ .
++ .
++ .
++ .
++ 4.
++          Restrictions. The license granted in Section 3 above is expressly made subject to and limited by
++             the following restrictions:
++ .
++ .
++ .
++ .
++ a.
++            You may Distribute or Publicly Perform the Work only under the terms of this License. You
++               must include a copy of, or the Uniform Resource Identifier (URI) for, this License with
++               every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any
++               terms on the Work that restrict the terms of this License or the ability of the recipient
++               of the Work to exercise the rights granted to that recipient under the terms of the
++               License. You may not sublicense the Work. You must keep intact all notices that refer to
++               this License and to the disclaimer of warranties with every copy of the Work You
++               Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may
++               not impose any effective technological measures on the Work that restrict the ability of a
++               recipient of the Work from You to exercise the rights granted to that recipient under the
++               terms of the License. This Section 4(a) applies to the Work as incorporated in a
++               Collection, but this does not require the Collection apart from the Work itself to be made
++               subject to the terms of this License. If You create a Collection, upon notice from any
++               Licensor You must, to the extent practicable, remove from the Collection any credit as
++               required by Section 4(c), as requested. If You create an Adaptation, upon notice from any
++               Licensor You must, to the extent practicable, remove from the Adaptation any credit as
++               required by Section 4(c), as requested.
++ .
++ .
++ .
++ b.
++            You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this
++               License; (ii) a later version of this License with the same License Elements as this
++               License; (iii) a Creative Commons jurisdiction license (either this or a later license
++               version) that contains the same License Elements as this License (e.g.,
++               Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you
++               license the Adaptation under one of the licenses mentioned in (iv), you must comply with
++               the terms of that license. If you license the Adaptation under the terms of any of the
++               licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must
++               comply with the terms of the Applicable License generally and the following provisions:
++               (I) You must include a copy of, or the URI for, the Applicable License with every copy of
++               each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any
++               terms on the Adaptation that restrict the terms of the Applicable License or the ability
++               of the recipient of the Adaptation to exercise the rights granted to that recipient under
++               the terms of the Applicable License; (III) You must keep intact all notices that refer to
++               the Applicable License and to the disclaimer of warranties with every copy of the Work as
++               included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or
++               Publicly Perform the Adaptation, You may not impose any effective technological measures
++               on the Adaptation that restrict the ability of a recipient of the Adaptation from You to
++               exercise the rights granted to that recipient under the terms of the Applicable License.
++               This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does
++               not require the Collection apart from the Adaptation itself to be made subject to the
++               terms of the Applicable License.
++ .
++ .
++ .
++ c.
++            If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must,
++               unless a request has been made pursuant to Section 4(a), keep intact all copyright notices
++               for the Work and provide, reasonable to the medium or means You are utilizing: (i) the
++               name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the
++               Original Author and/or Licensor designate another party or parties (e.g., a sponsor
++               institute, publishing entity, journal) for attribution ("Attribution Parties")
++               in Licensor's copyright notice, terms of service or by other reasonable means, the
++               name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent
++               reasonably practicable, the URI, if any, that Licensor specifies to be associated with the
++               Work, unless such URI does not refer to the copyright notice or licensing information for
++               the Work; and (iv), consistent with 
++ Section
++               3(b), in the case of an Adaptation, a credit
++               identifying the use of the Work in the Adaptation (e.g., "French translation of the
++               Work by Original Author," or "Screenplay based on original Work by Original
++               Author"). The credit required by this Section 4(c) may be implemented in any
++               reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a
++               minimum such credit will appear, if a credit for all contributing authors of the
++               Adaptation or Collection appears, then as part of these credits and in a manner at least
++               as prominent as the credits for the other contributing authors. For the avoidance of
++               doubt, You may only use the credit required by this Section for the purpose of attribution
++               in the manner set out above and, by exercising Your rights under this License, You may not
++               implicitly or explicitly assert or imply any connection with, sponsorship or endorsement
++               by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or
++               Your use of the Work, without the separate, express prior written permission of the
++               Original Author, Licensor and/or Attribution Parties.
++ .
++ .
++ .
++ d.
++            Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by
++               applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself
++               or as part of any Adaptations or Collections, You must not distort, mutilate, modify or
++               take other derogatory action in relation to the Work which would be prejudicial to the
++               Original Author's honor or reputation. Licensor agrees that in those jurisdictions
++               (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License
++               (the right to make Adaptations) would be deemed to be a distortion, mutilation,
++               modification or other derogatory action prejudicial to the Original Author's honor
++               and reputation, the Licensor will waive or not assert, as appropriate, this Section, to
++               the fullest extent permitted by the applicable national law, to enable You to reasonably
++               exercise Your right under Section 3(b) of this License (right to make Adaptations) but not
++               otherwise.
++ .
++ .
++ .
++ .
++ .
++ 5.
++          Representations, Warranties and Disclaimer
++          UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND
++             MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED,
++             STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
++             FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS,
++             ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME
++             JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT
++             APPLY TO YOU.
++ .
++ .
++ .
++ .
++ 6.
++          Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL
++             LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL,
++             PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF
++             LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
++ .
++ .
++ .
++ 7.
++          Termination
++ .
++ .
++ .
++ .
++ a.
++            This License and the rights granted hereunder will terminate automatically upon any breach by
++               You of the terms of this License. Individuals or entities who have received Adaptations or
++               Collections from You under this License, however, will not have their licenses terminated
++               provided such individuals or entities remain in full compliance with those licenses.
++               Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
++ .
++ .
++ .
++ b.
++            Subject to the above terms and conditions, the license granted here is perpetual (for the
++               duration of the applicable copyright in the Work). Notwithstanding the above, Licensor
++               reserves the right to release the Work under different license terms or to stop
++               distributing the Work at any time; provided, however that any such election will not serve
++               to withdraw this License (or any other license that has been, or is required to be,
++               granted under the terms of this License), and this License will continue in full force and
++               effect unless terminated as stated above.
++ .
++ .
++ .
++ .
++ .
++ 8.
++          Miscellaneous
++ .
++ .
++ .
++ .
++ a.
++            Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to
++               the recipient a license to the Work on the same terms and conditions as the license
++               granted to You under this License.
++ .
++ .
++ .
++ b.
++            Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient
++               a license to the original Work on the same terms and conditions as the license granted to
++               You under this License.
++ .
++ .
++ .
++ c.
++            If any provision of this License is invalid or unenforceable under applicable law, it shall
++               not affect the validity or enforceability of the remainder of the terms of this License,
++               and without further action by the parties to this agreement, such provision shall be
++               reformed to the minimum extent necessary to make such provision valid and enforceable.
++ .
++ .
++ .
++ d.
++            No term or provision of this License shall be deemed waived and no breach consented to unless
++               such waiver or consent shall be in writing and signed by the party to be charged with such
++               waiver or consent.
++ .
++ .
++ .
++ e.
++            This License constitutes the entire agreement between the parties with respect to the Work
++               licensed here. There are no understandings, agreements or representations with respect to
++               the Work not specified here. Licensor shall not be bound by any additional provisions that
++               may appear in any communication from You. This License may not be modified without the
++               mutual written agreement of the Licensor and You.
++ .
++ .
++ .
++ f.
++            The rights granted under, and the subject matter referenced, in this License were drafted
++               utilizing the terminology of the Berne Convention for the Protection of Literary and
++               Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO
++               Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the
++               Universal Copyright Convention (as revised on July 24, 1971). These rights and subject
++               matter take effect in the relevant jurisdiction in which the License terms are sought to
++               be enforced according to the corresponding provisions of the implementation of those
++               treaty provisions in the applicable national law. If the standard suite of rights granted
++               under applicable copyright law includes additional rights not granted under this License,
++               such additional rights are deemed to be included in the License; this License is not
++               intended to restrict the license of any rights under applicable law.
++ .
++ .
++ .
++ .
++      Creative Commons Notice
++ .
++      Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the
++         Work. Creative Commons will not be liable to You or any party on any legal theory for any damages
++         whatsoever, including without limitation any general, special, incidental or consequential damages
++         arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative
++         Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and
++         obligations of Licensor.
++ .
++      Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL,
++         Creative Commons does not authorize the use by either party of the trademark "Creative
++         Commons" or any related trademark or logo of Creative Commons without the prior written consent
++         of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current
++         trademark usage guidelines, as may be published on its website or otherwise made available upon
++         request from time to time. For the avoidance of doubt, this trademark restriction does not form part
++         of the License.
++ .
++      Creative Commons may be contacted at http://creativecommons.org/.
diff --cc debian/gbp.conf
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9688b7a8a4ebe4c2eeb3017ca4e6f18dd10b5595
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++[DEFAULT]
++# the default branch for upstream sources:
++upstream-branch = master
++# the default branch for the debian patch:
++debian-branch = debian
++# the default tag formats used:
++upstream-tag = v%(version)s
++debian-tag = debian/%(version)s
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..016e2e0deba77f1ecf8322a21372480e0fdc97d1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,35 @@@
++Description: Clean up so test_ts_plot_with_tz doesn't fail
++
++Author: Steffen Rehberg, Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Bug: https://github.com/pandas-dev/pandas/issues/35080
++Forwarded: no
++
++--- a/pandas/tests/plotting/test_converter.py
+++++ b/pandas/tests/plotting/test_converter.py
++@@ -70,15 +70,17 @@ class TestRegistration:
++         # Set to the "warn" state, in case this isn't the first test run
++         register_matplotlib_converters()
++         ax.plot(s.index, s.values)
+++        plt.clf()
++ 
++     def test_pandas_plots_register(self):
++-        pytest.importorskip("matplotlib.pyplot")
+++        plt = pytest.importorskip("matplotlib.pyplot")
++         s = Series(range(12), index=date_range("2017", periods=12))
++         # Set to the "warn" state, in case this isn't the first test run
++         with tm.assert_produces_warning(None) as w:
++             s.plot()
++ 
++         assert len(w) == 0
+++        plt.clf()
++ 
++     def test_matplotlib_formatters(self):
++         units = pytest.importorskip("matplotlib.units")
++@@ -108,6 +110,7 @@ class TestRegistration:
++         register_matplotlib_converters()
++         with ctx:
++             ax.plot(s.index, s.values)
+++        plt.clf()
++ 
++     def test_registry_resets(self):
++         units = pytest.importorskip("matplotlib.units")
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1eb7fb69b971d19972580c591ea03c1b269c6f80
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,28 @@@
++Description: Don't fail test for rounding difference on i386
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Bug-Debian: https://bugs.debian.org/968208
++Forwarded: no
++
++--- a/pandas/tests/window/moments/test_moments_rolling.py
+++++ b/pandas/tests/window/moments/test_moments_rolling.py
++@@ -1,5 +1,8 @@
++ import copy
++ import warnings
+++import sys
+++import platform
+++import re
++ 
++ import numpy as np
++ from numpy.random import randn
++@@ -829,7 +832,9 @@ def test_rolling_quantile_interpolation_
++     if np.isnan(q1):
++         assert np.isnan(q2)
++     else:
++-        assert q1 == q2
+++        assert np.abs(q1-q2)<1e-15
+++        if not (re.match('i.?86|x86',platform.uname()[4]) and sys.maxsize<2**33):
+++            assert q1 == q2
++ 
++ 
++ def test_invalid_quantile_value():
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4c71b080faa9df027e2171fd2c504eebdbd7cea7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,46 @@@
++Description: Stop using now-dead URL in tests/examples
++
++Origin: loosely based on upstream commit 68db2d26ddb5f95de4254d61b850d3dcaf6ce717
++Author: patrick "phofl", Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Bug: https://github.com/pandas-dev/pandas/issues/38988
++Bug-Debian: https://bugs.debian.org/979621
++Forwarded: no
++
++--- a/doc/source/user_guide/io.rst
+++++ b/doc/source/user_guide/io.rst
++@@ -2377,14 +2377,10 @@ Read a URL with no options:
++ 
++ .. ipython:: python
++ 
++-   url = 'https://www.fdic.gov/bank/individual/failed/banklist.html'
+++   url = 'https://raw.githubusercontent.com/pandas-dev/pandas/master/pandas/tests/io/data/html/banklist.html'
++    dfs = pd.read_html(url)
++    dfs
++ 
++-.. note::
++-
++-   The data from the above URL changes every Monday so the resulting data above
++-   and the data below may be slightly different.
++ 
++ Read in the content of the file from the above URL and pass it to ``read_html``
++ as a string:
++--- a/pandas/tests/io/test_html.py
+++++ b/pandas/tests/io/test_html.py
++@@ -123,7 +123,7 @@ class TestReadHtml:
++ 
++     @tm.network
++     def test_banklist_url_positional_match(self):
++-        url = "http://www.fdic.gov/bank/individual/failed/banklist.html"
+++        url = "https://raw.githubusercontent.com/pandas-dev/pandas/master/pandas/tests/io/data/html/banklist.html"
++         # Passing match argument as positional should cause a FutureWarning.
++         with tm.assert_produces_warning(FutureWarning):
++             df1 = self.read_html(
++@@ -136,7 +136,7 @@ class TestReadHtml:
++ 
++     @tm.network
++     def test_banklist_url(self):
++-        url = "http://www.fdic.gov/bank/individual/failed/banklist.html"
+++        url = "https://raw.githubusercontent.com/pandas-dev/pandas/master/pandas/tests/io/data/html/banklist.html"
++         df1 = self.read_html(
++             url, match="First Federal Bank of Florida", attrs={"id": "table"}
++         )
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..460313b8c7f7f8f2750accc12b6e3d822ec33094
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,28 @@@
++Description: Don't try to read a contributor list from the git log
++
++Debian packages are built from tarballs, so there isn't a git log.
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: not-needed
++
++--- a/doc/sphinxext/contributors.py
+++++ b/doc/sphinxext/contributors.py
++@@ -14,10 +14,8 @@ use::
++ While the v0.23.1 tag does not exist, that will use the HEAD of the
++ branch as the end of the revision range.
++ """
++-from announce import build_components
++ from docutils import nodes
++ from docutils.parsers.rst import Directive
++-import git
++ 
++ 
++ class ContributorsDirective(Directive):
++@@ -25,6 +23,7 @@ class ContributorsDirective(Directive):
++     name = "contributors"
++ 
++     def run(self):
+++        return [nodes.paragraph(), nodes.Text("For contributors, please see /usr/share/doc/contributors_list.txt or https://github.com/pandas-dev/pandas/graphs/contributors")]
++         range_ = self.arguments[0]
++         if range_.endswith("x..HEAD"):
++             return [nodes.paragraph(), nodes.bullet_list()]
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a541430f7939361a11e983c4372eb13452fe61f5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,82 @@@
++Author: Yaroslav Halchenko <debian@onerussian.com>
++        Andreas Tille <tille@debian.org>
++        Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Last-Update: Mon, 23 Oct 2017 08:55:28 +0200
++Description: Avoid privacy breach by Google Analytics
++Forwarded: not-needed
++
++--- a/pandas/tests/io/data/html/spam.html
+++++ b/pandas/tests/io/data/html/spam.html
++@@ -27,45 +27,9 @@
++ 
++ <link rel="stylesheet" href="/ndb/static/css/main.css" />
++ 
++-             <script type="text/JavaScript">
++-              var _gaq = _gaq || [];
++-              // NAL
++-               _gaq.push(['_setAccount', 'UA-28627214-1']);
++-               _gaq.push(['_setDomainName', 'nal.usda.gov']);
++-               _gaq.push(['_setAllowLinker', true]);
++-               _gaq.push(['_trackPageview']);
++-              //
++-             // _gaq.push(['_setAccount', 'UA-3876418-1']);
++-             //  _gaq.push(['_trackPageview']);
++-               // for NDB
++-               _gaq.push(['_setAccount', 'UA-36442725-1']);
++-               _gaq.push(['_trackPageview']);
++-                     // USDA servers
++-               _gaq.push(['_setAccount', 'UA-466807-3']);
++-               _gaq.push(['_setDomainName', 'usda.gov']);
++-               _gaq.push(['_setAllowLinker', true]);
++-               _gaq.push(['_trackPageview']);
++-               //
++-               _gaq.push(['a._setAccount', 'UA-27627304-18']);
++-               _gaq.push(['a._setDomainName', 'usda.gov']);
++-               _gaq.push(['a._setAllowLinker', true]);
++-               _gaq.push(['a._trackPageview']);
++-                     //
++-               _gaq.push(['b._setAccount', 'UA-27627304-1']);
++-               _gaq.push(['b._setDomainName', 'usda.gov']);
++-               _gaq.push(['b._setAllowLinker', true]);
++-               _gaq.push(['b._trackPageview']);
++-
++-               (function() {
++-                 var ga = document.createElement('script'); ga.type =
++-             'text/javascript'; ga.async = true;
++-                 ga.src = ('https:' == document.location.protocol ? 'https://ssl' :
++-             'http://www') + '.google-analytics.com/ga.js';
++-                 var s = document.getElementsByTagName('script')[0];
++-             s.parentNode.insertBefore(ga, s);
++-               })();
++-     </script>
++-
+++<!-- google analytics snippet was completely removed by Debian maintainers.
+++     See http://lintian.debian.org/tags/privacy-breach-google-adsense.html
+++     for more information -->
++ 
++ 
++         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
++@@ -794,4 +758,4 @@ handler: function() {this.cancel();},
++                      &nbsp;&nbsp;Software v.1.2.2
++              </div>
++     </body>
++-</html>
++\ No newline at end of file
+++</html>
++--- a/web/pandas/_templates/layout.html
+++++ b/web/pandas/_templates/layout.html
++@@ -1,14 +1,6 @@
++ <!DOCTYPE html>
++ <html>
++     <head>
++-        <script type="text/javascript">
++-            var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-27880019-2']); _gaq.push(['_trackPageview']);
++-            (function() {
++-                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
++-                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
++-                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
++-            })();
++-        </script>
++         <title>pandas - Python Data Analysis Library</title>
++         <meta charset="utf-8">
++         <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..dc39d226ff2744c7c36036ff2efb91b0d86f590b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,21 @@@
++Description: Don't try to import from the source directory
++
++Needed as we build the extension modules elsewhere
++
++Author: Yaroslav Halchenko
++Forwarded: not-needed
++
++--- a/doc/make.py
+++++ b/doc/make.py
++@@ -339,8 +339,9 @@ def main():
++     # external libraries (namely Sphinx) to compile this module and resolve
++     # the import of `python_path` correctly. The latter is used to resolve
++     # the import within the module, injecting it into the global namespace
++-    os.environ["PYTHONPATH"] = args.python_path
++-    sys.path.insert(0, args.python_path)
+++    # Debian: we set it outside
+++    #os.environ["PYTHONPATH"] = args.python_path
+++    #sys.path.insert(0, args.python_path)
++     globals()["pandas"] = importlib.import_module("pandas")
++ 
++     # Set the matplotlib backend to the non-interactive Agg backend for all
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..890149b9037b2e6473f5756919527538c4d36ec5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,19 @@@
++Description: Don't fail tests because we don't ship test data
++
++This applies to users running them; our build/autopkgtest re-enable
++this and use the data from the source tree
++
++Author: Yaroslav Halchenko
++Forwarded: no
++
++--- a/setup.cfg
+++++ b/setup.cfg
++@@ -55,7 +55,7 @@ exclude =
++ minversion = 4.0.2
++ testpaths = pandas
++ doctest_optionflags = NORMALIZE_WHITESPACE IGNORE_EXCEPTION_DETAIL ELLIPSIS
++-addopts = --strict-data-files
+++# addopts = --strict-data-files
++ xfail_strict = True
++ filterwarnings =
++     error:Sparse:FutureWarning
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..42cb5fccdd23b01f653fb23875eed1ca6e4f2e81
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,46 @@@
++Description: Don't try to use git to find the version number
++
++Needed as Debian buildds use tarballs
++
++Author: Yaroslav Halchenko
++Forwarded: not-needed
++
++--- a/pandas/__init__.py
+++++ b/pandas/__init__.py
++@@ -177,13 +177,7 @@ from pandas.util._tester import test
++ import pandas.testing
++ import pandas.arrays
++ 
++-# use the closest tagged version if possible
++-from ._version import get_versions
++-
++-v = get_versions()
++-__version__ = v.get("closest-tag", v["version"])
++-__git_version__ = v.get("full-revisionid")
++-del get_versions, v
+++from .__version import version as __version__
++ 
++ # GH 27101
++ # TODO: remove Panel compat in 1.0
++--- a/pandas/tests/api/test_api.py
+++++ b/pandas/tests/api/test_api.py
++@@ -200,7 +200,7 @@ class TestPDApi(Base):
++         "_testing",
++         "_tslib",
++         "_typing",
++-        "_version",
+++# not in Debian        "_version",
++     ]
++ 
++     def test_api(self):
++--- a/pandas/tests/test_common.py
+++++ b/pandas/tests/test_common.py
++@@ -141,7 +141,7 @@ def test_standardize_mapping():
++     dd = collections.defaultdict(list)
++     assert isinstance(com.standardize_mapping(dd), partial)
++ 
++-
+++@pytest.mark.xfail(reason="deb_nonversioneer_version patch")
++ def test_git_version():
++     # GH 21295
++     git_version = pd.__git_version__
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c2cc1561fe81fd43eb0260a6c3963186e67774be
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,56 @@@
++Description: Allow tests to use the data files in the source tree
++
++We don't ship these in the package,
++but do want to run the tests that use them
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: not-needed
++
++--- a/pandas/conftest.py
+++++ b/pandas/conftest.py
++@@ -23,6 +23,7 @@ from datetime import date, time, timedel
++ from decimal import Decimal
++ import operator
++ import os
+++import argparse
++ 
++ from dateutil.tz import tzlocal, tzutc
++ import hypothesis
++@@ -70,6 +71,7 @@ def pytest_addoption(parser):
++         action="store_true",
++         help="Fail if a test is skipped for missing data file.",
++     )
+++    parser.addoption("--deb-data-root-dir",action="store",help=argparse.SUPPRESS)#for internal use of the Debian CI infrastructure, may change without warning.  Security note: test_pickle can run arbitrary code from this directory
++ 
++ 
++ def pytest_runtest_setup(item):
++@@ -785,7 +787,7 @@ def strict_data_files(pytestconfig):
++ 
++ 
++ @pytest.fixture
++-def datapath(strict_data_files):
+++def datapath(strict_data_files,pytestconfig):
++     """
++     Get the path to a data file.
++ 
++@@ -803,7 +805,9 @@ def datapath(strict_data_files):
++     ValueError
++         If the path doesn't exist and the --strict-data-files option is set.
++     """
++-    BASE_PATH = os.path.join(os.path.dirname(__file__), "tests")
+++    BASE_PATH = pytestconfig.getoption("--deb-data-root-dir",default=None)
+++    if BASE_PATH is None:
+++        BASE_PATH = os.path.join(os.path.dirname(__file__), "tests")
++ 
++     def deco(*args):
++         path = os.path.join(BASE_PATH, *args)
++--- a/pandas/tests/util/test_util.py
+++++ b/pandas/tests/util/test_util.py
++@@ -57,6 +57,7 @@ def test_datapath_missing(datapath):
++         datapath("not_a_file")
++ 
++ 
+++@pytest.mark.xfail(reason="--deb-data-root-dir intentionally breaks this",strict=False)
++ def test_datapath(datapath):
++     args = ("io", "data", "csv", "iris.csv")
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b6aa639227caf9db94a494f572b820c8716c0848
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,35 @@@
++Description: Use fixed seeds for reproducible pseudorandomness
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: no
++
++--- a/doc/source/getting_started/comparison/comparison_with_r.rst
+++++ b/doc/source/getting_started/comparison/comparison_with_r.rst
++@@ -226,6 +226,7 @@ In ``pandas`` we may use :meth:`~pandas.
++ 
++    import random
++    import string
+++   random.seed(123456) # for reproducibility
++ 
++    baseball = pd.DataFrame(
++        {'team': ["team %d" % (x + 1) for x in range(5)] * 5,
++--- a/doc/source/user_guide/advanced.rst
+++++ b/doc/source/user_guide/advanced.rst
++@@ -586,6 +586,7 @@ they need to be sorted. As with any inde
++ .. ipython:: python
++ 
++    import random
+++   random.seed(123456) # for reproducibility
++    random.shuffle(tuples)
++    s = pd.Series(np.random.randn(8), index=pd.MultiIndex.from_tuples(tuples))
++    s
++--- a/doc/source/user_guide/visualization.rst
+++++ b/doc/source/user_guide/visualization.rst
++@@ -991,6 +991,7 @@ are what constitutes the bootstrap plot.
++    :suppress:
++ 
++    np.random.seed(123456)
+++   random.seed(123456) # for reproducibility - bootstrap_plot uses random.sample
++ 
++ .. ipython:: python
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3e258d110a4aaf74167104164d5d2322b38ee11a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,29 @@@
++Description: Skip rather than fail tests if fsspec is too old
++
++(which it currently is in Debian)
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: no
++
++--- a/pandas/tests/io/test_fsspec.py
+++++ b/pandas/tests/io/test_fsspec.py
++@@ -20,7 +20,7 @@ text = df1.to_csv(index=False).encode()
++ 
++ @pytest.fixture
++ def cleared_fs():
++-    fsspec = pytest.importorskip("fsspec")
+++    fsspec = pytest.importorskip("fsspec", "0.7.4")
++ 
++     memfs = fsspec.filesystem("memory")
++     yield memfs
++--- a/pandas/tests/io/test_pickle.py
+++++ b/pandas/tests/io/test_pickle.py
++@@ -455,7 +455,7 @@ def test_pickle_generalurl_read(monkeypa
++         tm.assert_frame_equal(df, result)
++ 
++ 
++-@td.skip_if_no("fsspec")
+++@td.skip_if_no("fsspec", "0.7.4")
++ def test_pickle_fsspec_roundtrip():
++     with tm.ensure_clean():
++         mockurl = "memory://afile"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3513a227b714ab3e6b6a2e4016378e8ef389e455
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,70 @@@
++Description: Avoid test failures on Hurd
++
++Allow multiprocessing to be unavailable
++Accept any errno not just 2 for (intentionally) nonexistent files
++(Hurd appears to use 2**30+2)
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: no
++
++--- a/pandas/tests/io/parser/test_common.py
+++++ b/pandas/tests/io/parser/test_common.py
++@@ -961,7 +961,7 @@ def test_nonexistent_path(all_parsers):
++     parser = all_parsers
++     path = f"{tm.rands(10)}.csv"
++ 
++-    msg = r"\[Errno 2\]"
+++    msg = r"\[Errno 2\]|\[Errno [0-9]+\] No such file or directory"
++     with pytest.raises(FileNotFoundError, match=msg) as e:
++         parser.read_csv(path)
++     assert path == e.value.filename
++--- a/pandas/tests/io/parser/test_multi_thread.py
+++++ b/pandas/tests/io/parser/test_multi_thread.py
++@@ -3,7 +3,12 @@ Tests multithreading behaviour for readi
++ parsing files for each parser defined in parsers.py
++ """
++ from io import BytesIO
++-from multiprocessing.pool import ThreadPool
+++import pytest
+++try:
+++    from multiprocessing.pool import ThreadPool
+++    ThreadPool()
+++except ImportError:
+++    pytest.skip("multiprocessing not available",allow_module_level=True)
++ 
++ import numpy as np
++ import pytest
++--- a/pandas/tests/test_downstream.py
+++++ b/pandas/tests/test_downstream.py
++@@ -30,6 +30,11 @@ def df():
++ 
++ 
++ def test_dask(df):
+++    try:
+++        from multiprocessing.pool import ThreadPool
+++        ThreadPool()
+++    except ImportError:
+++        pytest.skip("multiprocessing not available")
++ 
++     toolz = import_module("toolz")  # noqa
++     dask = import_module("dask")  # noqa
++--- a/pandas/tests/io/test_common.py
+++++ b/pandas/tests/io/test_common.py
++@@ -152,7 +152,7 @@ bar2,12,13,14,15
++ 
++         path = os.path.join(HERE, "data", "does_not_exist." + fn_ext)
++         msg1 = fr"File (b')?.+does_not_exist\.{fn_ext}'? does not exist"
++-        msg2 = fr"\[Errno 2\] No such file or directory: '.+does_not_exist\.{fn_ext}'"
+++        msg2 = fr"\[Errno [0-9]+\] No such file or directory: '.+does_not_exist\.{fn_ext}'"
++         msg3 = "Expected object or value"
++         msg4 = "path_or_buf needs to be a string file path or file-like"
++         msg5 = (
++@@ -195,7 +195,7 @@ bar2,12,13,14,15
++         monkeypatch.setattr(icom, "_expand_user", lambda x: os.path.join("foo", x))
++ 
++         msg1 = fr"File (b')?.+does_not_exist\.{fn_ext}'? does not exist"
++-        msg2 = fr"\[Errno 2\] No such file or directory: '.+does_not_exist\.{fn_ext}'"
+++        msg2 = fr"\[Errno [0-9]+\] No such file or directory: '.+does_not_exist\.{fn_ext}'"
++         msg3 = "Unexpected character found when decoding 'false'"
++         msg4 = "path_or_buf needs to be a string file path or file-like"
++         msg5 = (
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..65f9bb6b4b6700fae06042b1d2696ba35913e069
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,26 @@@
++Description: Avoid year 2038 overflow in test
++
++https://tests.reproducible-builds.org/debian/rbuild/unstable/i386/pandas_1.1.4+dfsg-1.rbuild.log.gz
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: no
++
++--- a/pandas/tests/indexes/datetimes/test_ops.py
+++++ b/pandas/tests/indexes/datetimes/test_ops.py
++@@ -2,6 +2,7 @@ from datetime import datetime
++ 
++ import numpy as np
++ import pytest
+++import sys
++ 
++ import pandas as pd
++ from pandas import (
++@@ -122,7 +123,7 @@ class TestDatetimeIndexOps:
++                 "microsecond",
++             ],
++         ):
++-            idx = pd.date_range(start="2013-04-01", periods=30, freq=freq, tz=tz)
+++            idx = pd.date_range(start="2013-04-01", periods=10 if (sys.maxsize<2**33 and freq=='A') else 30, freq=freq, tz=tz)
++             assert idx.resolution == expected
++ 
++     def test_value_counts_unique(self, tz_naive_fixture):
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9cc99aceef2d6dfbd4145e88daa6a547a84e8ab2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,63 @@@
++Description: Don't require external warnings that no longer exist
++
++(The cause is not actually known to be jedi 0.18, but it moved to a
++new upstream version since the last pandas and ipython didn't.)
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: no
++
++--- pandas-1.1.5+dfsg.orig/pandas/tests/arrays/categorical/test_warnings.py
+++++ pandas-1.1.5+dfsg/pandas/tests/arrays/categorical/test_warnings.py
++@@ -18,7 +18,7 @@ class TestCategoricalWarnings:
++         # GH 31324 newer jedi version raises Deprecation warning
++         import jedi
++ 
++-        if jedi.__version__ < "0.16.0":
+++        if jedi.__version__ < "0.16.0" or jedi.__version__ >= "0.18.0":
++             warning = tm.assert_produces_warning(None)
++         else:
++             warning = tm.assert_produces_warning(
++--- pandas-1.1.5+dfsg.orig/pandas/tests/frame/test_api.py
+++++ pandas-1.1.5+dfsg/pandas/tests/frame/test_api.py
++@@ -542,7 +542,7 @@ class TestDataFrameMisc:
++         # GH 33567, jedi version raises Deprecation warning in Ipython
++         import jedi
++ 
++-        if jedi.__version__ < "0.17.0":
+++        if jedi.__version__ < "0.17.0" or jedi.__version__ >= "0.18.0":
++             warning = tm.assert_produces_warning(None)
++         else:
++             warning = tm.assert_produces_warning(
++--- pandas-1.1.5+dfsg.orig/pandas/tests/indexes/test_base.py
+++++ pandas-1.1.5+dfsg/pandas/tests/indexes/test_base.py
++@@ -2206,7 +2206,7 @@ Index(['a', 'bb', 'ccc', 'a', 'bb', 'ccc
++         # GH 31324 newer jedi version raises Deprecation warning
++         import jedi
++ 
++-        if jedi.__version__ < "0.16.0":
+++        if jedi.__version__ < "0.16.0" or jedi.__version__ >= "0.18.0":
++             warning = tm.assert_produces_warning(None)
++         else:
++             warning = tm.assert_produces_warning(
++--- pandas-1.1.5+dfsg.orig/pandas/tests/resample/test_resampler_grouper.py
+++++ pandas-1.1.5+dfsg/pandas/tests/resample/test_resampler_grouper.py
++@@ -33,7 +33,7 @@ async def test_tab_complete_ipython6_war
++     # GH 33567, jedi version raises Deprecation warning in Ipython
++     import jedi
++ 
++-    if jedi.__version__ < "0.17.0":
+++    if jedi.__version__ < "0.17.0" or jedi.__version__ >= "0.18.0":
++         warning = tm.assert_produces_warning(None)
++     else:
++         warning = tm.assert_produces_warning(DeprecationWarning, check_stacklevel=False)
++--- pandas-1.1.5+dfsg.orig/pandas/tests/series/test_api.py
+++++ pandas-1.1.5+dfsg/pandas/tests/series/test_api.py
++@@ -498,7 +498,7 @@ class TestSeriesMisc:
++         # GH 33567, jedi version raises Deprecation warning in Ipython
++         import jedi
++ 
++-        if jedi.__version__ < "0.17.0":
+++        if jedi.__version__ < "0.17.0" or jedi.__version__ >= "0.18.0":
++             warning = tm.assert_produces_warning(None)
++         else:
++             warning = tm.assert_produces_warning(
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ff53e2fb0b334fbc80cc6e94968a50a103205fcf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,16 @@@
++Description: Use Debian packaged mathjax
++
++Author: Andreas Tille <tille@debian.org>
++Forwarded: not-needed
++
++--- a/doc/source/conf.py
+++++ b/doc/source/conf.py
++@@ -68,6 +68,8 @@ extensions = [
++     "contributors",  # custom pandas extension
++ ]
++ 
+++mathjax_path="MathJax.js"
+++
++ exclude_patterns = ["**.ipynb_checkpoints"]
++ try:
++     import nbconvert
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..92ebc4f6dd7df497c1ac9303229bcd8e29a1f1f2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++Description: Matplotlib 3.3 compatibility fixup
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Bug-Debian: https://bugs.debian.org/966393
++Forwarded: no
++
++--- a/pandas/tests/plotting/test_datetimelike.py
+++++ b/pandas/tests/plotting/test_datetimelike.py
++@@ -1465,7 +1465,7 @@ class TestTSPlot(TestPlotBase):
++         s2.plot(ax=ax)
++         s1.plot(ax=ax)
++ 
++-    @pytest.mark.xfail(reason="GH9053 matplotlib does not use ax.xaxis.converter")
+++    @pytest.mark.xfail(reason="GH9053 matplotlib does not use ax.xaxis.converter", strict=False)
++     def test_add_matplotlib_datetime64(self):
++         # GH9053 - ensure that a plot with PeriodConverter still understands
++         # datetime64 data. This still fails because matplotlib overrides the
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aa681ac402356861308c54f9d9304367875c1405
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,123 @@@
++Description: Allow some numba errors on non-amd64, warn on non-x86
++
++Specifying the exception type allows only explicit errors,
++not silently wrong answers
++
++Numba has been observed to give wrong answers on mipsel,
++and crash on armel (LLVM ERROR) and s390x (segfault).
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: no
++
++--- a/pandas/tests/window/test_numba.py
+++++ b/pandas/tests/window/test_numba.py
++@@ -6,9 +6,18 @@ import pandas.util._test_decorators as t
++ from pandas import Series, option_context
++ import pandas._testing as tm
++ from pandas.core.util.numba_ import NUMBA_FUNC_CACHE
+++from pandas.compat import is_platform_32bit, is_platform_little_endian
+++import platform
+++import sys
+++try:
+++    from numba.core.errors import UnsupportedParforsError
+++except ImportError:
+++    UnsupportedParforsError = ImportError
++ 
++ 
++ @td.skip_if_no("numba", "0.46.0")
+++@pytest.mark.xfail(condition=is_platform_32bit(), raises=UnsupportedParforsError, reason="some Numba functionality is not available on 32 bit systems", strict=False)
+++@pytest.mark.xfail(condition=not is_platform_little_endian(), reason="Numba may crash on s390x", run=False, strict=False)
++ @pytest.mark.filterwarnings("ignore:\\nThe keyword argument")
++ # Filter warnings when parallel=True and the function can't be parallelized by Numba
++ class TestApply:
++@@ -37,6 +46,7 @@ class TestApply:
++         )
++         tm.assert_series_equal(result, expected)
++ 
+++    @pytest.mark.xfail(condition='mips' in platform.uname()[4].lower() and sys.maxsize<2**33, reason="Numba may give wrong answers on mipsel", strict=False)
++     @pytest.mark.parametrize("jit", [True, False])
++     def test_cache(self, jit, nogil, parallel, nopython):
++         # Test that the functions are cached correctly if we switch functions
++@@ -78,6 +88,7 @@ class TestApply:
++ 
++ 
++ @td.skip_if_no("numba", "0.46.0")
+++@pytest.mark.xfail(condition=not is_platform_little_endian(), reason="Numba may crash on s390x", run=False, strict=False)
++ def test_use_global_config():
++     def f(x):
++         return np.mean(x) + 2
++--- a/pandas/tests/window/conftest.py
+++++ b/pandas/tests/window/conftest.py
++@@ -5,6 +5,7 @@ from numpy.random import randn
++ import pytest
++ 
++ import pandas.util._test_decorators as td
+++from pandas.compat import is_platform_little_endian
++ 
++ from pandas import DataFrame, Series, bdate_range, notna
++ 
++@@ -85,7 +86,7 @@ def engine(request):
++ 
++ @pytest.fixture(
++     params=[
++-        pytest.param(("numba", True), marks=td.skip_if_no("numba", "0.46.0")),
+++        pytest.param(("numba", True), marks=[pytest.mark.xfail(condition=not is_platform_little_endian(), reason="Numba may crash on s390x", run=False, strict=False),td.skip_if_no("numba", "0.46.0")]),
++         ("cython", True),
++         ("cython", False),
++     ]
++--- a/pandas/core/window/numba_.py
+++++ b/pandas/core/window/numba_.py
++@@ -4,6 +4,10 @@ import numpy as np
++ 
++ from pandas._typing import Scalar
++ from pandas.compat._optional import import_optional_dependency
+++import platform
+++import re
+++import warnings
+++warn_numba_platform = "Non-x86 system detected, Numba may give wrong results or crash" if not bool(re.match('i.?86|x86',platform.uname()[4])) else False
++ 
++ from pandas.core.util.numba_ import (
++     check_kwargs_and_nopython,
++@@ -49,6 +53,8 @@ def generate_numba_apply_func(
++     numba_func = jit_user_function(func, nopython, nogil, parallel)
++ 
++     numba = import_optional_dependency("numba")
+++    if warn_numba_platform:
+++        warnings.warn(warn_numba_platform)
++ 
++     if parallel:
++         loop_range = numba.prange
++--- a/pandas/tests/groupby/transform/test_numba.py
+++++ b/pandas/tests/groupby/transform/test_numba.py
++@@ -6,6 +6,7 @@ import pandas.util._test_decorators as t
++ from pandas import DataFrame, option_context
++ import pandas._testing as tm
++ from pandas.core.util.numba_ import NUMBA_FUNC_CACHE
+++from pandas.compat import is_platform_little_endian
++ 
++ 
++ @td.skip_if_no("numba", "0.46.0")
++@@ -41,6 +42,7 @@ def test_check_nopython_kwargs():
++ 
++ 
++ @td.skip_if_no("numba", "0.46.0")
+++@pytest.mark.xfail(condition=not is_platform_little_endian(), reason="Numba may crash on s390x", run=False, strict=False)
++ @pytest.mark.filterwarnings("ignore:\\nThe keyword argument")
++ # Filter warnings when parallel=True and the function can't be parallelized by Numba
++ @pytest.mark.parametrize("jit", [True, False])
++@@ -70,6 +72,7 @@ def test_numba_vs_cython(jit, pandas_obj
++ 
++ 
++ @td.skip_if_no("numba", "0.46.0")
+++@pytest.mark.xfail(condition=not is_platform_little_endian(), reason="Numba may crash on s390x", run=False, strict=False)
++ @pytest.mark.filterwarnings("ignore:\\nThe keyword argument")
++ # Filter warnings when parallel=True and the function can't be parallelized by Numba
++ @pytest.mark.parametrize("jit", [True, False])
++@@ -115,6 +118,7 @@ def test_cache(jit, pandas_obj, nogil, p
++ 
++ 
++ @td.skip_if_no("numba", "0.46.0")
+++@pytest.mark.xfail(condition=not is_platform_little_endian(), reason="Numba may crash on s390x", run=False, strict=False)
++ def test_use_global_config():
++     def func_1(values, index):
++         return values + 1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..93a95ec3d491dfb7cc65c0865f01555bdb731db9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,20 @@@
++Description: Link to rather than embed Google calendar
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: not-needed
++
++--- a/doc/source/development/meeting.rst
+++++ b/doc/source/development/meeting.rst
++@@ -16,11 +16,7 @@ The minutes of past meetings are availab
++ Calendar
++ --------
++ 
++-This calendar shows all the developer meetings.
++-
++-.. raw:: html
++-
++-   <iframe src="https://calendar.google.com/calendar/embed?src=pgbn14p6poja8a1cf2dv2jhrmg%40group.calendar.google.com" style="border: 0" width="800" height="600" frameborder="0" scrolling="no"></iframe>
+++`This calendar <https://calendar.google.com/calendar/embed?src=pgbn14p6poja8a1cf2dv2jhrmg%40group.calendar.google.com>`__ shows all the developer meetings.
++ 
++ You can subscribe to this calendar with the following links:
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..753cc8f62ab5e5c49ed7c89bb58ab64464c1d30b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,22 @@@
++Description: Fix pytables expressions with Python 3.9
++
++ast.Index has been replaced by a bare value, so we need to do the
++conversion from Constant to int
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Bug-Debian: https://bugs.debian.org/972015
++Forwarded: https://github.com/pandas-dev/pandas/issues/37217
++
++--- a/pandas/core/computation/pytables.py
+++++ b/pandas/core/computation/pytables.py
++@@ -425,6 +425,10 @@ class PyTablesExprVisitor(BaseExprVisito
++             value = value.value
++         except AttributeError:
++             pass
+++        try:
+++            slobj = slobj.value
+++        except AttributeError:
+++            pass
++ 
++         if isinstance(slobj, Term):
++             # In py39 np.ndarray lookups with Term containing int raise
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..84cab8d589f992d408fa4f1690c99befcf81564a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,243 @@@
++Description: Remove code from Stack Overflow
++
++Stack Overflow content is CC-BY-SA licensed,
++which this package is not supposed to be.  These snippets may be
++too small to be copyrightable, but removing them to be safe.
++
++https://lists.debian.org/debian-legal/2020/04/threads.html#00018
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: no - deletes some tests/examples without replacement
++
++--- /dev/null
+++++ b/doc/source/user_guide/cookbook.rst
++@@ -0,0 +1,22 @@
+++.. _cookbook:
+++
+++{{ header }}
+++
+++.. _cookbook.idioms:
+++.. _cookbook.selection:
+++.. _cookbook.multi_index:
+++.. _cookbook.missing_data:
+++.. _cookbook.grouping:
+++.. _cookbook.pivot:
+++.. _cookbook.resample:
+++.. _cookbook.merge:
+++.. _cookbook.plotting:
+++.. _cookbook.csv:
+++.. _cookbook.csv.multiple_files:
+++.. _cookbook.sql:
+++.. _cookbook.excel:
+++.. _cookbook.html:
+++.. _cookbook.hdf:
+++.. _cookbook.binary:
+++
+++This page has been removed for copyright reasons.
++--- a/doc/source/user_guide/index.rst
+++++ b/doc/source/user_guide/index.rst
++@@ -47,4 +47,3 @@ Further information on any specific meth
++     scale
++     sparse
++     gotchas
++-    cookbook
++--- a/pandas/io/sql.py
+++++ b/pandas/io/sql.py
++@@ -1491,14 +1491,14 @@ def _get_valid_sqlite_name(name):
++     # Replace all " with "".
++     # Wrap the entire thing in double quotes.
++ 
++-    uname = _get_unicode_name(name)
++-    if not len(uname):
+++    name = _get_unicode_name(name)
+++    if not len(name):
++         raise ValueError("Empty table or column name specified")
++ 
++-    nul_index = uname.find("\x00")
++-    if nul_index >= 0:
+++    if '\0' in name:
++         raise ValueError("SQLite identifier cannot contain NULs")
++-    return '"' + uname.replace('"', '""') + '"'
+++    name = name.replace('"', '""')
+++    return '"' + name + '"'
++ 
++ 
++ _SAFE_NAMES_WARNING = (
++--- a/pandas/tests/groupby/aggregate/test_other.py
+++++ b/pandas/tests/groupby/aggregate/test_other.py
++@@ -24,30 +24,6 @@ from pandas.core.base import Specificati
++ from pandas.io.formats.printing import pprint_thing
++ 
++ 
++-def test_agg_api():
++-    # GH 6337
++-    # https://stackoverflow.com/questions/21706030/pandas-groupby-agg-function-column-dtype-error
++-    # different api for agg when passed custom function with mixed frame
++-
++-    df = DataFrame(
++-        {
++-            "data1": np.random.randn(5),
++-            "data2": np.random.randn(5),
++-            "key1": ["a", "a", "b", "b", "a"],
++-            "key2": ["one", "two", "one", "two", "one"],
++-        }
++-    )
++-    grouped = df.groupby("key1")
++-
++-    def peak_to_peak(arr):
++-        return arr.max() - arr.min()
++-
++-    expected = grouped.agg([peak_to_peak])
++-    expected.columns = ["data1", "data2"]
++-    result = grouped.agg(peak_to_peak)
++-    tm.assert_frame_equal(result, expected)
++-
++-
++ def test_agg_datetimes_mixed():
++     data = [[1, "2012-01-01", 1.0], [2, "2012-01-02", 2.0], [3, None, 3.0]]
++ 
++--- a/pandas/tests/groupby/test_categorical.py
+++++ b/pandas/tests/groupby/test_categorical.py
++@@ -828,29 +828,6 @@ def test_groupby_empty_with_category():
++     tm.assert_series_equal(result, expected)
++ 
++ 
++-def test_sort():
++-
++-    # https://stackoverflow.com/questions/23814368/sorting-pandas-
++-    #        categorical-labels-after-groupby
++-    # This should result in a properly sorted Series so that the plot
++-    # has a sorted x axis
++-    # self.cat.groupby(['value_group'])['value_group'].count().plot(kind='bar')
++-
++-    df = DataFrame({"value": np.random.randint(0, 10000, 100)})
++-    labels = [f"{i} - {i+499}" for i in range(0, 10000, 500)]
++-    cat_labels = Categorical(labels, labels)
++-
++-    df = df.sort_values(by=["value"], ascending=True)
++-    df["value_group"] = pd.cut(
++-        df.value, range(0, 10500, 500), right=False, labels=cat_labels
++-    )
++-
++-    res = df.groupby(["value_group"], observed=False)["value_group"].count()
++-    exp = res[sorted(res.index, key=lambda x: float(x.split()[0]))]
++-    exp.index = CategoricalIndex(exp.index, name=exp.index.name)
++-    tm.assert_series_equal(res, exp)
++-
++-
++ def test_sort2():
++     # dataframe groupby sort was being ignored # GH 8868
++     df = DataFrame(
++--- a/pandas/tests/indexing/multiindex/test_chaining_and_caching.py
+++++ b/pandas/tests/indexing/multiindex/test_chaining_and_caching.py
++@@ -6,28 +6,6 @@ import pandas._testing as tm
++ import pandas.core.common as com
++ 
++ 
++-def test_detect_chained_assignment():
++-    # Inplace ops, originally from:
++-    # https://stackoverflow.com/questions/20508968/series-fillna-in-a-multiindex-dataframe-does-not-fill-is-this-a-bug
++-    a = [12, 23]
++-    b = [123, None]
++-    c = [1234, 2345]
++-    d = [12345, 23456]
++-    tuples = [("eyes", "left"), ("eyes", "right"), ("ears", "left"), ("ears", "right")]
++-    events = {
++-        ("eyes", "left"): a,
++-        ("eyes", "right"): b,
++-        ("ears", "left"): c,
++-        ("ears", "right"): d,
++-    }
++-    multiind = MultiIndex.from_tuples(tuples, names=["part", "side"])
++-    zed = DataFrame(events, index=["a", "b"], columns=multiind)
++-
++-    msg = "A value is trying to be set on a copy of a slice from a DataFrame"
++-    with pytest.raises(com.SettingWithCopyError, match=msg):
++-        zed["eyes"]["right"].fillna(value=555, inplace=True)
++-
++-
++ def test_cache_updating():
++     # 5216
++     # make sure that we don't try to set a dead cache
++--- a/pandas/tests/indexing/multiindex/test_setitem.py
+++++ b/pandas/tests/indexing/multiindex/test_setitem.py
++@@ -141,35 +141,7 @@ class TestMultiIndexSetItem:
++         with pytest.raises(TypeError, match=msg):
++             df.loc["bar"] *= 2
++ 
++-        # from SO
++-        # https://stackoverflow.com/questions/24572040/pandas-access-the-level-of-multiindex-for-inplace-operation
++-        df_orig = DataFrame.from_dict(
++-            {
++-                "price": {
++-                    ("DE", "Coal", "Stock"): 2,
++-                    ("DE", "Gas", "Stock"): 4,
++-                    ("DE", "Elec", "Demand"): 1,
++-                    ("FR", "Gas", "Stock"): 5,
++-                    ("FR", "Solar", "SupIm"): 0,
++-                    ("FR", "Wind", "SupIm"): 0,
++-                }
++-            }
++-        )
++-        df_orig.index = MultiIndex.from_tuples(
++-            df_orig.index, names=["Sit", "Com", "Type"]
++-        )
++ 
++-        expected = df_orig.copy()
++-        expected.iloc[[0, 2, 3]] *= 2
++-
++-        idx = pd.IndexSlice
++-        df = df_orig.copy()
++-        df.loc[idx[:, :, "Stock"], :] *= 2
++-        tm.assert_frame_equal(df, expected)
++-
++-        df = df_orig.copy()
++-        df.loc[idx[:, :, "Stock"], "price"] *= 2
++-        tm.assert_frame_equal(df, expected)
++ 
++     def test_multiindex_assignment(self):
++ 
++--- a/pandas/tests/indexing/test_chaining_and_caching.py
+++++ b/pandas/tests/indexing/test_chaining_and_caching.py
++@@ -287,14 +287,6 @@ class TestChaining:
++         df["column1"] = df["column1"] + "c"
++         str(df)
++ 
++-        # from SO:
++-        # https://stackoverflow.com/questions/24054495/potential-bug-setting-value-for-undefined-column-using-iloc
++-        df = DataFrame(np.arange(0, 9), columns=["count"])
++-        df["group"] = "b"
++-
++-        with pytest.raises(com.SettingWithCopyError):
++-            df.iloc[0:5]["group"] = "a"
++-
++         # Mixed type setting but same dtype & changing dtype
++         df = DataFrame(
++             dict(
++--- a/pandas/tests/io/parser/test_common.py
+++++ b/pandas/tests/io/parser/test_common.py
++@@ -1077,24 +1077,6 @@ def test_trailing_delimiters(all_parsers
++     tm.assert_frame_equal(result, expected)
++ 
++ 
++-def test_escapechar(all_parsers):
++-    # https://stackoverflow.com/questions/13824840/feature-request-for-
++-    # pandas-read-csv
++-    data = '''SEARCH_TERM,ACTUAL_URL
++-"bra tv bord","http://www.ikea.com/se/sv/catalog/categories/departments/living_room/10475/?se%7cps%7cnonbranded%7cvardagsrum%7cgoogle%7ctv_bord"
++-"tv p\xc3\xa5 hjul","http://www.ikea.com/se/sv/catalog/categories/departments/living_room/10475/?se%7cps%7cnonbranded%7cvardagsrum%7cgoogle%7ctv_bord"
++-"SLAGBORD, \\"Bergslagen\\", IKEA:s 1700-tals series","http://www.ikea.com/se/sv/catalog/categories/departments/living_room/10475/?se%7cps%7cnonbranded%7cvardagsrum%7cgoogle%7ctv_bord"'''  # noqa
++-
++-    parser = all_parsers
++-    result = parser.read_csv(
++-        StringIO(data), escapechar="\\", quotechar='"', encoding="utf-8"
++-    )
++-
++-    assert result["SEARCH_TERM"][2] == 'SLAGBORD, "Bergslagen", IKEA:s 1700-tals series'
++-
++-    tm.assert_index_equal(result.columns, Index(["SEARCH_TERM", "ACTUAL_URL"]))
++-
++-
++ def test_int64_min_issues(all_parsers):
++     # see gh-2599
++     parser = all_parsers
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e11a2104f0add035a52a7c70ae23e789ded18c72
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,30 @@@
++deb_nonversioneer_version.patch
++deb_doc_donotoverride_PYTHONPATH.patch
++xfail_tests_nonintel_io.patch
++deb_disable_googleanalytics.patch
++deb_no_strict_data.patch
++mathjax-path.patch
++xfail_tests_nonintel_nannat.patch
++skip_noencoding_locales.patch
++use_system_intersphinx.patch
++contributor_list_not_in_tarball.patch
++tests_dont_assume_endian.patch
++fix_random_seeds.patch
++xfail_c_locale.patch
++sphinx_no_pandas_theme.patch
++privacy.patch
++find_test_data.patch
++stable_test_urls.patch
++remove_ccbysa_snippets.patch
++numba_fail_32bit.patch
++hurd_compat.patch
++matplotlib33_compat.patch
++968208_rounding.patch
++fsspec_version.patch
++35080_plot_tests.patch
++skip_test_missing_required_dependency.patch
++python39_compat.patch
++xlrd_976620.patch
++i386_time_overflow.patch
++979621_dead_url.patch
++jedi018_compat.patch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cf584d782799c10cf0fff86a3a96b4d0754d417e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,25 @@@
++Description: Don't test datetime in locales with no encoding
++
++Some datetime tests run the test in every available locale.
++If this set includes locales without an encoding (currently dsb_DE
++and sah_RU), it fails due to Python bug
++https://bugs.python.org/issue20088
++
++Failure log
++https://tests.reproducible-builds.org/debian/rbuild/buster/amd64/pandas_0.23.3+dfsg-3.rbuild.log.gz
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Bug: https://github.com/pandas-dev/pandas/issues/20957
++Forwarded: no
++
++--- a/pandas/_config/localization.py
+++++ b/pandas/_config/localization.py
++@@ -98,6 +98,8 @@ def _valid_locales(locales, normalize):
++ 
++ def _default_locale_getter():
++     raw_locales = subprocess.check_output(["locale -a"], shell=True)
+++    # skip locales without encoding, to avoid Python bug https://bugs.python.org/issue20088
+++    raw_locales = raw_locales.replace(b'\ndsb_DE\n',b'\n').replace(b'\nsah_RU\n',b'\n').replace(b'\ncrh_UA\n',b'\n')
++     return raw_locales
++ 
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..984fd81b7ba02a748bc60c279f89fba697fdc591
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Description: Skip test that fails from outside the source tree
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: not-needed
++
++--- a/pandas/tests/test_downstream.py
+++++ b/pandas/tests/test_downstream.py
++@@ -146,6 +146,7 @@ def test_pyarrow(df):
++     tm.assert_frame_equal(result, df)
++ 
++ 
+++@pytest.mark.skip(reason="Fails in an installed package as it can't find pandas")
++ def test_missing_required_dependency():
++     # GH 23868
++     # To ensure proper isolation, we pass these flags
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0050952d87e686d4bfacebde895029b193a5ac56
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,18 @@@
++Description: Don't require the pandas theme
++
++(TODO - package it - here as a multi-upstream-tarball package?)
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: not-needed
++
++--- a/doc/source/conf.py
+++++ b/doc/source/conf.py
++@@ -198,7 +198,7 @@ pygments_style = "sphinx"
++ 
++ # The theme to use for HTML and HTML Help pages.  Major themes that come with
++ # Sphinx are currently 'default' and 'sphinxdoc'.
++-html_theme = "pydata_sphinx_theme"
+++html_theme = "nature"
++ 
++ # The style sheet to use for HTML and HTML Help pages. A file of that name
++ # must exist either in Sphinx' static/ path, or in one of the custom paths
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0d880497ee4930520b791cd6fa67d22196302d8f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,55 @@@
++Description: Use test URLs that are less likely to disappear
++
++Avoid 404 errors in stable when upstream reorganize the test data
++(happened to two of these in 0.25 -> 1.0).
++
++It is _not_ necessary to update the tag version on every package release,
++only if these tests fail because they expect moved/changed data.
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: not-needed
++
++--- a/pandas/tests/io/excel/test_readers.py
+++++ b/pandas/tests/io/excel/test_readers.py
++@@ -636,7 +636,7 @@ class TestReaders:
++     @tm.network
++     def test_read_from_http_url(self, read_ext):
++         url = (
++-            "https://raw.githubusercontent.com/pandas-dev/pandas/master/"
+++            "https://raw.githubusercontent.com/pandas-dev/pandas/v1.0.3/"
++             "pandas/tests/io/data/excel/test1" + read_ext
++         )
++         url_table = pd.read_excel(url)
++--- a/pandas/tests/io/parser/test_common.py
+++++ b/pandas/tests/io/parser/test_common.py
++@@ -911,7 +911,7 @@ def test_url(all_parsers, csv_dir_path):
++     kwargs = dict(sep="\t")
++ 
++     url = (
++-        "https://raw.github.com/pandas-dev/pandas/master/"
+++        "https://github.com/pandas-dev/pandas/raw/v1.0.3/"
++         "pandas/tests/io/parser/data/salaries.csv"
++     )
++     url_result = parser.read_csv(url, **kwargs)
++--- a/pandas/tests/io/parser/test_network.py
+++++ b/pandas/tests/io/parser/test_network.py
++@@ -33,7 +33,7 @@ def check_compressed_urls(salaries_table
++     # test reading compressed urls with various engines and
++     # extension inference
++     base_url = (
++-        "https://github.com/pandas-dev/pandas/raw/master/"
+++        "https://github.com/pandas-dev/pandas/raw/v1.0.3/"
++         "pandas/tests/io/parser/data/salaries.csv"
++     )
++ 
++--- a/pandas/tests/io/test_html.py
+++++ b/pandas/tests/io/test_html.py
++@@ -147,7 +147,7 @@ class TestReadHtml:
++     @tm.network
++     def test_spam_url(self):
++         url = (
++-            "https://raw.githubusercontent.com/pandas-dev/pandas/master/"
+++            "https://raw.githubusercontent.com/pandas-dev/pandas/v1.0.3/"
++             "pandas/tests/io/data/html/spam.html"
++         )
++         df1 = self.read_html(url, match=".*Water.*")
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d54e5c77853e16ffef0b1dc4848e549af377e66d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,119 @@@
++Description: Fix or skip tests that assume the wrong endianness
++
++This is a bug in the tests not pandas itself -
++the expected values explicitly specify little-endian
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: no
++
++--- a/pandas/tests/frame/methods/test_to_records.py
+++++ b/pandas/tests/frame/methods/test_to_records.py
++@@ -12,6 +12,7 @@ from pandas import (
++     date_range,
++ )
++ import pandas._testing as tm
+++from pandas.compat import is_platform_little_endian
++ 
++ 
++ class TestDataFrameToRecords:
++@@ -257,6 +258,7 @@ class TestDataFrameToRecords:
++             ),
++         ],
++     )
+++    @pytest.mark.xfail(condition=not is_platform_little_endian(),reason="expected values assume little-endian",strict=False)
++     def test_to_records_dtype(self, kwargs, expected):
++         # see GH#18146
++         df = DataFrame({"A": [1, 2], "B": [0.2, 1.5], "C": ["a", "bc"]})
++@@ -330,11 +332,13 @@ class TestDataFrameToRecords:
++             ),
++         ],
++     )
+++    @pytest.mark.xfail(condition=not is_platform_little_endian(),reason="expected values assume little-endian",strict=False)
++     def test_to_records_dtype_mi(self, df, kwargs, expected):
++         # see GH#18146
++         result = df.to_records(**kwargs)
++         tm.assert_almost_equal(result, expected)
++ 
+++    @pytest.mark.xfail(condition=not is_platform_little_endian(),reason="expected values assume little-endian",strict=False)
++     def test_to_records_dict_like(self):
++         # see GH#18146
++         class DictLike:
++--- a/pandas/tests/scalar/timedelta/test_arithmetic.py
+++++ b/pandas/tests/scalar/timedelta/test_arithmetic.py
++@@ -285,7 +285,7 @@ class TestTimedeltaAdditionSubtraction:
++         tm.assert_numpy_array_equal(np.array([2]) * td, expected)
++         msg = (
++             "ufunc '?multiply'? cannot use operands with types "
++-            r"dtype\('<m8\[ns\]'\) and dtype\('<m8\[ns\]'\)"
+++            r"dtype\('[<>]m8\[ns\]'\) and dtype\('[<>]m8\[ns\]'\)"
++         )
++         with pytest.raises(TypeError, match=msg):
++             td * other
++--- a/pandas/tests/io/parser/test_c_parser_only.py
+++++ b/pandas/tests/io/parser/test_c_parser_only.py
++@@ -129,7 +129,7 @@ nan 2
++             "the dtype timedelta64 is not supported for parsing",
++             dict(dtype={"A": "timedelta64", "B": "float64"}),
++         ),
++-        ("the dtype <U8 is not supported for parsing", dict(dtype={"A": "U8"})),
+++        ("the dtype [<>]U8 is not supported for parsing", dict(dtype={"A": "U8"})),
++     ],
++     ids=["dt64-0", "dt64-1", "td64", "<U8"],
++ )
++--- a/pandas/tests/arrays/boolean/test_construction.py
+++++ b/pandas/tests/arrays/boolean/test_construction.py
++@@ -5,6 +5,7 @@ import pandas as pd
++ import pandas._testing as tm
++ from pandas.arrays import BooleanArray
++ from pandas.core.arrays.boolean import coerce_to_array
+++from pandas.compat import is_platform_little_endian
++ 
++ 
++ @pytest.fixture
++@@ -278,7 +279,7 @@ def test_to_numpy(box):
++ 
++     arr = con([True, False, None], dtype="boolean")
++     result = arr.to_numpy(dtype="str")
++-    expected = np.array([True, False, pd.NA], dtype="<U5")
+++    expected = np.array([True, False, pd.NA], dtype="<U5" if is_platform_little_endian() else ">U5")
++     tm.assert_numpy_array_equal(result, expected)
++ 
++     # no missing values -> can convert to bool, otherwise raises
++--- a/pandas/tests/arrays/boolean/test_astype.py
+++++ b/pandas/tests/arrays/boolean/test_astype.py
++@@ -3,6 +3,7 @@ import pytest
++ 
++ import pandas as pd
++ import pandas._testing as tm
+++from pandas.compat import is_platform_little_endian
++ 
++ 
++ def test_astype():
++@@ -20,7 +21,7 @@ def test_astype():
++     tm.assert_numpy_array_equal(result, expected)
++ 
++     result = arr.astype("str")
++-    expected = np.array(["True", "False", "<NA>"], dtype="<U5")
+++    expected = np.array(["True", "False", "<NA>"], dtype="<U5" if is_platform_little_endian() else ">U5")
++     tm.assert_numpy_array_equal(result, expected)
++ 
++     # no missing values
++--- a/pandas/tests/arrays/integer/test_dtypes.py
+++++ b/pandas/tests/arrays/integer/test_dtypes.py
++@@ -2,6 +2,7 @@ import numpy as np
++ import pytest
++ 
++ from pandas.core.dtypes.generic import ABCIndexClass
+++from pandas.compat import is_platform_little_endian
++ 
++ import pandas as pd
++ import pandas._testing as tm
++@@ -275,7 +276,7 @@ def test_to_numpy_na_raises(dtype):
++ 
++ def test_astype_str():
++     a = pd.array([1, 2, None], dtype="Int64")
++-    expected = np.array(["1", "2", "<NA>"], dtype="<U21")
+++    expected = np.array(["1", "2", "<NA>"], dtype="<U21" if is_platform_little_endian() else ">U21")
++ 
++     tm.assert_numpy_array_equal(a.astype(str), expected)
++     tm.assert_numpy_array_equal(a.astype("str"), expected)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..29c008ae4799cc06f28c8b461da396ffc04ffa3e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,29 @@@
++Description: Use packaged intersphinx indexes
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Bug-Debian: https://bugs.debian.org/876417
++Forwarded: not-needed
++
++--- a/doc/source/conf.py
+++++ b/doc/source/conf.py
++@@ -411,13 +411,13 @@ latex_documents = [
++ if pattern is None:
++     intersphinx_mapping = {
++         "dateutil": ("https://dateutil.readthedocs.io/en/latest/", None),
++-        "matplotlib": ("https://matplotlib.org/", None),
++-        "numpy": ("https://numpy.org/doc/stable/", None),
++-        "pandas-gbq": ("https://pandas-gbq.readthedocs.io/en/latest/", None),
++-        "py": ("https://pylib.readthedocs.io/en/latest/", None),
++-        "python": ("https://docs.python.org/3/", None),
++-        "scipy": ("https://docs.scipy.org/doc/scipy/reference/", None),
++-        "statsmodels": ("https://www.statsmodels.org/devel/", None),
+++    "matplotlib": ("https://matplotlib.org/", "/usr/share/doc/python-matplotlib-doc/html/objects.inv"),
+++    "numpy": ("https://numpy.org/doc/stable/", "/usr/share/doc/python-numpy-doc/html/objects.inv"),
+++    "pandas-gbq": ("https://pandas-gbq.readthedocs.io/en/latest/", None), # not in Debian
+++    "py": ("https://pylib.readthedocs.io/en/latest/", None), # no -doc in Debian
+++    "python": ("https://docs.python.org/3/", "/usr/share/doc/python3-doc/html/objects.inv"),
+++    "scipy": ("https://docs.scipy.org/doc/scipy/reference/", ("/usr/share/doc/python-scipy-doc/html/objects.inv","/usr/share/doc/python-scipy/html/objects.inv")),
+++    "statsmodels": ("https://www.statsmodels.org/devel/", "/usr/share/doc/python-statsmodels-doc/html/objects.inv"),
++         "pyarrow": ("https://arrow.apache.org/docs/", None),
++     }
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..518704af6fdaf95e0b2c3a4c471541ce42d62e17
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Description: Xfail a test that doesn't work in the C locale
++
++Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: no
++
++--- a/pandas/tests/config/test_localization.py
+++++ b/pandas/tests/config/test_localization.py
++@@ -95,6 +95,7 @@ def test_set_locale(lang, enc):
++     assert current_locale == _current_locale
++ 
++ 
+++@pytest.mark.xfail(strict=False,reason="fails in C locale")
++ def test_encoding_detected():
++     system_locale = os.environ.get("LC_ALL")
++     system_encoding = system_locale.split(".")[-1] if system_locale else "utf-8"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0dce0d6c379a90e8830df6f5bc48ba3348d3c321
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,250 @@@
++Description: HDF5 and Stata I/O are broken on some architectures
++
++Fix some issues, warn on use and xfail tests for the remainder
++
++armhf TestHDF5Store::test*encoding only sometimes crashes
++(1.1.3+dfsg-1 passed on build but failed autopkgtest)
++
++HDF5 and Stata are known to fail on big-endian architectures
++Stata also fails on qemu-ppc64el, but not real ppc64el
++
++Author: Andreas Tille <tille@debian.org>, Graham Inggs <ginggs@debian.org>, Yaroslav Halchenko <debian@onerussian.com>, Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Bug-Debian: https://bugs.debian.org/877419
++Forwarded: no
++
++--- a/pandas/io/pytables.py
+++++ b/pandas/io/pytables.py
++@@ -9,6 +9,10 @@ import os
++ import re
++ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Type, Union
++ import warnings
+++import platform
+++import re
+++from pandas.compat import is_platform_little_endian
+++warn_hdf_platform = "Non-x86 system detected, HDF(5) format I/O may give wrong results (particularly on files created with older versions) or crash - https://bugs.debian.org/877419" if not bool(re.match('i.?86|x86',platform.uname()[4])) else False
++ 
++ import numpy as np
++ 
++@@ -527,6 +531,8 @@ class HDFStore:
++         fletcher32: bool = False,
++         **kwargs,
++     ):
+++        if warn_hdf_platform:
+++            warnings.warn(warn_hdf_platform)
++ 
++         if "format" in kwargs:
++             raise ValueError("format is not a defined argument for HDFStore")
++@@ -766,7 +772,10 @@ class HDFStore:
++             self._handle.flush()
++             if fsync:
++                 try:
++-                    os.fsync(self._handle.fileno())
+++                    if is_platform_little_endian():
+++                        os.fsync(self._handle.fileno())
+++                    else:
+++                        os.sync() # due to a pytables bad-cast bug, fileno is invalid on 64-bit big-endian
++                 except OSError:
++                     pass
++ 
++--- a/pandas/io/stata.py
+++++ b/pandas/io/stata.py
++@@ -29,6 +29,9 @@ from typing import (
++     Union,
++ )
++ import warnings
+++import platform
+++import re
+++warn_stata_platform = "Non-x86 system detected, Stata format I/O may give wrong results (particularly on strings) - https://bugs.debian.org/877419" if not bool(re.match('i.?86|x86',platform.uname()[4])) else False
++ 
++ from dateutil.relativedelta import relativedelta
++ import numpy as np
++@@ -875,6 +878,8 @@ class StataParser:
++         # NOTE: the byte type seems to be reserved for categorical variables
++         # with a label, but the underlying variable is -127 to 100
++         # we're going to drop the label and cast to int
+++        if warn_stata_platform:
+++            warnings.warn(warn_stata_platform)
++         self.DTYPE_MAP = dict(
++             list(zip(range(1, 245), [np.dtype("a" + str(i)) for i in range(1, 245)]))
++             + [
++--- a/pandas/tests/io/pytables/test_store.py
+++++ b/pandas/tests/io/pytables/test_store.py
++@@ -54,6 +54,10 @@ from pandas.io.pytables import (
++ 
++ from pandas.io import pytables as pytables  # noqa: E402 isort:skip
++ from pandas.io.pytables import TableIterator  # noqa: E402 isort:skip
+++import platform
+++import re
+++import sys
+++is_crashing_arch=bool((platform.uname()[4].startswith('arm') or platform.uname()[4].startswith('aarch')) and sys.maxsize<2**33) # meant for armhf, though this form will also skip on armel - uname = kernel arch
++ 
++ 
++ _default_compressor = "blosc"
++@@ -1088,6 +1092,7 @@ class TestHDFStore:
++             check("table", index)
++             check("fixed", index)
++ 
+++    @pytest.mark.xfail(condition=is_crashing_arch,reason="https://bugs.debian.org/790925",strict=False,run=False)
++     @pytest.mark.skipif(
++         not is_platform_little_endian(), reason="reason platform is not little endian"
++     )
++@@ -1120,6 +1125,7 @@ class TestHDFStore:
++         ],
++     )
++     @pytest.mark.parametrize("dtype", ["category", object])
+++    @pytest.mark.xfail(condition=is_crashing_arch,reason="https://bugs.debian.org/790925",strict=False,run=False)
++     def test_latin_encoding(self, setup_path, dtype, val):
++         enc = "latin-1"
++         nan_rep = ""
++@@ -1305,6 +1311,7 @@ class TestHDFStore:
++                 # still read from it.
++                 pd.read_hdf(store, "k1")
++ 
+++    @pytest.mark.xfail(condition=is_crashing_arch,reason="https://bugs.debian.org/790925",strict=False,run=False)
++     def test_append_frame_column_oriented(self, setup_path):
++         with ensure_clean_store(setup_path) as store:
++ 
++@@ -3921,6 +3928,7 @@ class TestHDFStore:
++             df.iloc[3:5, 1:3] = np.nan
++             df.iloc[8:10, -2] = np.nan
++ 
+++    @pytest.mark.xfail(condition=is_crashing_arch,reason="https://bugs.debian.org/790925",strict=False,run=False)
++     def test_select_filter_corner(self, setup_path):
++ 
++         df = DataFrame(np.random.randn(50, 100))
++@@ -4177,6 +4185,7 @@ class TestHDFStore:
++             assert isinstance(d1, DataFrame)
++ 
++     @td.xfail_non_writeable
+++    @pytest.mark.xfail(condition=not is_platform_little_endian(),reason="known failure of hdf on non-little endian",strict=False,raises=AttributeError)
++     def test_legacy_table_fixed_format_read_py2(self, datapath, setup_path):
++         # GH 24510
++         # legacy table with fixed format written in Python 2
++@@ -4191,6 +4200,7 @@ class TestHDFStore:
++             )
++             tm.assert_frame_equal(expected, result)
++ 
+++    @pytest.mark.xfail(condition=not is_platform_little_endian(),reason="known failure of hdf on non-little endian",strict=False,raises=AttributeError)
++     def test_legacy_table_fixed_format_read_datetime_py2(self, datapath, setup_path):
++         # GH 31750
++         # legacy table with fixed format and datetime64 column written in Python 2
++@@ -4870,6 +4880,7 @@ class TestHDFStore:
++             with pd.HDFStore(path) as store:
++                 assert os.fspath(store) == str(path)
++ 
+++    @pytest.mark.xfail(condition=not is_platform_little_endian(),reason="known failure of hdf on non-little endian",strict=False,raises=AttributeError)
++     def test_read_py2_hdf_file_in_py3(self, datapath):
++         # GH 16781
++ 
++--- a/pandas/tests/io/test_stata.py
+++++ b/pandas/tests/io/test_stata.py
++@@ -29,6 +29,8 @@ from pandas.io.stata import (
++     read_stata,
++ )
++ 
+++from pandas.compat import is_platform_little_endian
+++pytestmark = pytest.mark.xfail(condition=not is_platform_little_endian(),reason="known failure of test_stata on non-little endian",strict=False)
++ 
++ @pytest.fixture()
++ def mixed_frame():
++@@ -203,7 +205,7 @@ class TestStata:
++             # parsed_113 = self.read_dta(self.dta2_113)
++ 
++             # Remove resource warnings
++-            w = [x for x in w if x.category is UserWarning]
+++            w = [x for x in w if x.category is UserWarning and not "Non-x86 system detected" in str(x.message)]
++ 
++             # should get warning for each call to read_dta
++             assert len(w) == 3
++@@ -465,7 +467,7 @@ class TestStata:
++                 warnings.simplefilter("always", InvalidColumnName)
++                 original.to_stata(path, None, version=version)
++                 # should get a warning for that format.
++-                assert len(w) == 1
+++                assert len([x for x in w if not "Non-x86 system detected" in str(x.message)]) == 1
++ 
++             written_and_read_again = self.read_dta(path)
++             tm.assert_frame_equal(written_and_read_again.set_index("index"), formatted)
++@@ -1788,8 +1790,9 @@ has been incorrectly encoded by Stata or
++ the string values returned are correct."""
++         with tm.assert_produces_warning(UnicodeWarning) as w:
++             encoded = read_stata(self.dta_encoding_118)
++-            assert len(w) == 151
++-            assert w[0].message.args[0] == msg
+++            w2 = [x for x in w if not "Non-x86 system detected" in str(x.message)]
+++            assert len(w2) == 151
+++            assert w2[0].message.args[0] == msg
++ 
++         expected = pd.DataFrame([["Düsseldorf"]] * 151, columns=["kreis1849"])
++         tm.assert_frame_equal(encoded, expected)
++--- a/pandas/_testing.py
+++++ b/pandas/_testing.py
++@@ -6,6 +6,8 @@ from functools import wraps
++ import gzip
++ import operator
++ import os
+++import platform
+++import re
++ from shutil import rmtree
++ import string
++ import tempfile
++@@ -2612,6 +2614,8 @@ def assert_produces_warning(
++                     )
++                     assert actual_warning.filename == caller.filename, msg
++             else:
+++                if actual_warning.category==UserWarning and "Non-x86 system detected" in str(actual_warning.message) and not bool(re.match('i.?86|x86',platform.uname()[4])):
+++                    continue
++                 extra_warnings.append(
++                     (
++                         actual_warning.category.__name__,
++--- a/pandas/tests/io/pytables/test_timezones.py
+++++ b/pandas/tests/io/pytables/test_timezones.py
++@@ -4,6 +4,7 @@ import numpy as np
++ import pytest
++ 
++ import pandas.util._test_decorators as td
+++from pandas.compat import is_platform_little_endian
++ 
++ import pandas as pd
++ from pandas import DataFrame, DatetimeIndex, Series, Timestamp, date_range
++@@ -311,6 +312,7 @@ def test_store_timezone(setup_path):
++         tm.assert_frame_equal(result, df)
++ 
++ 
+++@pytest.mark.xfail(condition=not is_platform_little_endian(),reason="known failure of hdf on non-little endian",strict=False,raises=AttributeError)
++ def test_legacy_datetimetz_object(datapath, setup_path):
++     # legacy from < 0.17.0
++     # 8260
++@@ -362,6 +364,7 @@ def test_read_with_where_tz_aware_index(
++         tm.assert_frame_equal(result, expected)
++ 
++ 
+++@pytest.mark.xfail(condition=not is_platform_little_endian(),reason="known failure of hdf on non-little endian",strict=False,raises=AttributeError)
++ def test_py2_created_with_datetimez(datapath, setup_path):
++     # The test HDF5 file was created in Python 2, but could not be read in
++     # Python 3.
++--- a/pandas/tests/io/test_common.py
+++++ b/pandas/tests/io/test_common.py
++@@ -8,7 +8,7 @@ from pathlib import Path
++ 
++ import pytest
++ 
++-from pandas.compat import is_platform_windows
+++from pandas.compat import is_platform_windows, is_platform_little_endian
++ import pandas.util._test_decorators as td
++ 
++ import pandas as pd
++@@ -230,11 +230,11 @@ bar2,12,13,14,15
++                 "pyarrow",
++                 ("io", "data", "feather", "feather-0_3_1.feather"),
++             ),
++-            (
+++            pytest.param(
++                 pd.read_hdf,
++                 "tables",
++                 ("io", "data", "legacy_hdf", "datetimetz_object.h5"),
++-            ),
+++            marks=pytest.mark.xfail(condition=not is_platform_little_endian(),reason="known failure of hdf on non-little endian",strict=False,raises=AttributeError)),
++             (pd.read_stata, "os", ("io", "data", "stata", "stata10_115.dta")),
++             (pd.read_sas, "os", ("io", "sas", "data", "test1.sas7bdat")),
++             (pd.read_json, "os", ("io", "json", "data", "tsframe_v012.json")),
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7e411f51e6181993ac9283f87026015ebdc2cba5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,194 @@@
++Description: Xfail NaN <-> NaT tests on non-x86 and warn on cast
++
++pd.Series([np.nan]).astype('datetime64[ns]')[0] = pd.NaT on x86
++but 1970-01-01 on arm* because float NaN -> int is undefined:
++https://github.com/numpy/numpy/issues/8325
++https://github.com/pandas-dev/pandas/issues/17792
++https://github.com/pandas-dev/pandas/issues/26964
++
++On s390x it's the maximum _positive_ value (2**63-1 ns = year 2262)
++
++Author: Andreas Tille <tille@debian.org>, Graham Inggs <ginggs@debian.org>, Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Bug-Debian: https://bugs.debian.org/877754
++Forwarded: no
++
++--- a/pandas/core/dtypes/cast.py
+++++ b/pandas/core/dtypes/cast.py
++@@ -4,6 +4,10 @@ Routines for casting.
++ 
++ from datetime import date, datetime, timedelta
++ from typing import TYPE_CHECKING, Any, List, Optional, Tuple, Type
+++import warnings
+++import platform
+++import re
+++warn_nannat_platform = "Non-x86 system detected, float -> datetime/timedelta may not handle NaNs correctly - https://bugs.debian.org/877754" if not bool(re.match('i.?86|x86',platform.uname()[4])) else False
++ 
++ import numpy as np
++ 
++@@ -991,6 +995,8 @@ def astype_nansafe(arr, dtype, copy: boo
++             f"'{dtype.name}[ns]' instead."
++         )
++         raise ValueError(msg)
+++    if warn_nannat_platform and (is_datetime64_dtype(dtype) or is_timedelta64_dtype(dtype)) and np.issubdtype(arr.dtype, np.floating) and not np.isfinite(arr).all():
+++        warnings.warn(warn_nannat_platform)
++ 
++     if copy or is_object_dtype(arr) or is_object_dtype(dtype):
++         # Explicit copy, or required since NumPy can't view from / to object.
++@@ -1367,6 +1373,8 @@ def maybe_cast_to_datetime(value, dtype,
++                     value = iNaT
++             elif not is_sparse(value):
++                 value = np.array(value, copy=False)
+++                if warn_nannat_platform and np.issubdtype(value.dtype, np.floating) and not np.isfinite(value).all():
+++                    warnings.warn(warn_nannat_platform)
++ 
++                 # have a scalar array-like (e.g. NaT)
++                 if value.ndim == 0:
++--- a/pandas/tests/dtypes/cast/test_downcast.py
+++++ b/pandas/tests/dtypes/cast/test_downcast.py
++@@ -7,6 +7,9 @@ from pandas.core.dtypes.cast import mayb
++ 
++ from pandas import DatetimeIndex, Series, Timestamp
++ import pandas._testing as tm
+++import platform
+++import re
+++is_nannat_working=bool(re.match('i.?86|x86',platform.uname()[4]))
++ 
++ 
++ @pytest.mark.parametrize(
++@@ -77,6 +80,7 @@ def test_downcast_conversion_empty(any_r
++     tm.assert_numpy_array_equal(result, np.array([], dtype=np.int64))
++ 
++ 
+++@pytest.mark.xfail(condition=not is_nannat_working,reason="https://bugs.debian.org/877754",strict=False)
++ @pytest.mark.parametrize("klass", [np.datetime64, np.timedelta64])
++ def test_datetime_likes_nan(klass):
++     dtype = klass.__name__ + "[ns]"
++--- a/pandas/tests/frame/indexing/test_where.py
+++++ b/pandas/tests/frame/indexing/test_where.py
++@@ -8,6 +8,9 @@ from pandas.core.dtypes.common import is
++ import pandas as pd
++ from pandas import DataFrame, DatetimeIndex, Series, Timestamp, date_range, isna
++ import pandas._testing as tm
+++import platform
+++import re
+++is_nannat_working=bool(re.match('i.?86|x86|s390|ppc',platform.uname()[4]))
++ 
++ 
++ @pytest.fixture(params=["default", "float_string", "mixed_float", "mixed_int"])
++@@ -352,6 +355,7 @@ class TestDataFrameIndexingWhere:
++         result = a.where(do_not_replace, b)
++         tm.assert_frame_equal(result, expected)
++ 
+++    @pytest.mark.xfail(condition=not is_nannat_working,reason="https://bugs.debian.org/877754",strict=False)#not found
++     def test_where_datetime(self):
++ 
++         # GH 3311
++--- a/pandas/tests/frame/test_analytics.py
+++++ b/pandas/tests/frame/test_analytics.py
++@@ -23,6 +23,9 @@ from pandas import (
++ import pandas._testing as tm
++ import pandas.core.algorithms as algorithms
++ import pandas.core.nanops as nanops
+++import platform
+++import re
+++is_nannat_working=bool(re.match('i.?86|x86|s390|ppc',platform.uname()[4]))
++ 
++ 
++ def assert_stat_op_calc(
++@@ -802,6 +805,7 @@ class TestDataFrameAnalytics:
++         expected = pd.Series(result, index=["A", "B"])
++         tm.assert_series_equal(result, expected)
++ 
+++    @pytest.mark.xfail(condition=not is_nannat_working,reason="https://bugs.debian.org/877754",strict=False)
++     def test_sum_nanops_timedelta(self):
++         # prod isn't defined on timedeltas
++         idx = ["a", "b", "c"]
++--- a/pandas/tests/indexes/datetimes/test_datetime.py
+++++ b/pandas/tests/indexes/datetimes/test_datetime.py
++@@ -7,6 +7,9 @@ import pytest
++ import pandas as pd
++ from pandas import DataFrame, DatetimeIndex, Index, Timestamp, date_range, offsets
++ import pandas._testing as tm
+++import platform
+++import re
+++is_nannat_working=bool(re.match('i.?86|x86|s390|ppc',platform.uname()[4]))
++ 
++ randn = np.random.randn
++ 
++@@ -95,6 +98,7 @@ class TestDatetimeIndex:
++         idx2 = pd.date_range(end="2000", periods=periods, freq="S")
++         assert len(idx2) == periods
++ 
+++    @pytest.mark.xfail(condition=not is_nannat_working,reason="https://bugs.debian.org/877754",strict=False)
++     def test_nat(self):
++         assert DatetimeIndex([np.nan])[0] is pd.NaT
++ 
++--- a/pandas/tests/reductions/test_reductions.py
+++++ b/pandas/tests/reductions/test_reductions.py
++@@ -23,6 +23,9 @@ from pandas import (
++ )
++ import pandas._testing as tm
++ from pandas.core import nanops
+++import platform
+++import re
+++is_nannat_working=bool(re.match('i.?86|x86|s390|ppc',platform.uname()[4]))
++ 
++ 
++ def get_objs():
++@@ -1199,6 +1202,7 @@ class TestSeriesMode:
++         expected = Series(expected2, dtype=object)
++         tm.assert_series_equal(result, expected)
++ 
+++    @pytest.mark.xfail(condition=not is_nannat_working,reason="https://bugs.debian.org/877754",strict=False)
++     @pytest.mark.parametrize(
++         "dropna, expected1, expected2",
++         [
++--- a/pandas/tests/series/test_constructors.py
+++++ b/pandas/tests/series/test_constructors.py
++@@ -27,7 +27,9 @@ from pandas import (
++ )
++ import pandas._testing as tm
++ from pandas.core.arrays import IntervalArray, period_array
++-
+++import platform
+++import re
+++is_nannat_working=bool(re.match('i.?86|x86|s390|ppc',platform.uname()[4]))
++ 
++ class TestSeriesConstructors:
++     @pytest.mark.parametrize(
++@@ -959,6 +961,7 @@ class TestSeriesConstructors:
++ 
++         tm.assert_series_equal(result, expected)
++ 
+++    @pytest.mark.xfail(condition=not is_nannat_working,reason="https://bugs.debian.org/877754",strict=False)
++     @pytest.mark.parametrize("arg", ["2013-01-01 00:00:00", pd.NaT, np.nan, None])
++     def test_constructor_with_naive_string_and_datetimetz_dtype(self, arg):
++         # GH 17415: With naive string
++@@ -1289,6 +1292,7 @@ class TestSeriesConstructors:
++         series[2] = val
++         assert isna(series[2])
++ 
+++    @pytest.mark.xfail(condition=not is_nannat_working,reason="https://bugs.debian.org/877754",strict=False)
++     def test_NaT_cast(self):
++         # GH10747
++         result = Series([np.nan]).astype("M8[ns]")
++--- a/pandas/tests/test_algos.py
+++++ b/pandas/tests/test_algos.py
++@@ -34,6 +34,9 @@ import pandas._testing as tm
++ import pandas.core.algorithms as algos
++ from pandas.core.arrays import DatetimeArray
++ import pandas.core.common as com
+++import platform
+++import re
+++is_nannat_working=bool(re.match('i.?86|x86|s390|ppc',platform.uname()[4]))
++ 
++ 
++ class TestFactorize:
++@@ -1144,6 +1147,7 @@ class TestValueCounts:
++             expected = Series([2, 1, 1], index=[5.0, 10.3, np.nan])
++             tm.assert_series_equal(result, expected)
++ 
+++    @pytest.mark.xfail(condition=not is_nannat_working,reason="https://bugs.debian.org/877754",strict=False)
++     def test_value_counts_normalized(self):
++         # GH12558
++         s = Series([1, 2, np.nan, np.nan, np.nan])
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..864ecf791daabac857e51debdf2e801a4153e1bf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,296 @@@
++Description: Default to openpyxl not xlrd for read_excel
++
++xlrd 1.2 fails if defusedxml (needed for odf) is installed
++
++Bug: https://github.com/pandas-dev/pandas/pull/35029
++Bug-Debian: https://bugs.debian.org/976620
++Origin: upstream b3a3932af6aafaa2fd41f17e9b7995643e5f92eb
++Author: Robert de Vries, Rebecca N. Palmer <rebecca_palmer@zoho.com>
++Forwarded: not-needed
++
++--- a/doc/source/whatsnew/v1.1.5.rst
+++++ b/doc/source/whatsnew/v1.1.5.rst
++@@ -8,6 +8,16 @@ including other versions of pandas.
++ 
++ {{ header }}
++ 
+++.. warning::
+++
+++   Previously, the default argument ``engine=None`` to ``pd.read_excel``
+++   would result in using the `xlrd <https://xlrd.readthedocs.io/en/latest/>`_ engine in
+++   many cases. The engine ``xlrd`` is no longer maintained, and may not work if ``defusedxml``
+++   is installed.  Hence, from version 1.1.5 in Debian and 1.2.0 upstream,
+++   if `openpyxl <https://pypi.org/project/openpyxl/>`_  is installed,
+++   many of these  cases will now default to using the ``openpyxl`` engine. See the
+++   :func:`read_excel` documentation for more details.
+++
++ .. ---------------------------------------------------------------------------
++ 
++ .. _whatsnew_115.regressions:
++--- a/pandas/io/excel/_base.py
+++++ b/pandas/io/excel/_base.py
++@@ -1,13 +1,16 @@
++ import abc
++ import datetime
+++import inspect
++ from io import BufferedIOBase, BytesIO, RawIOBase
++ import os
++ from textwrap import fill
++ from typing import Union
+++import warnings
++ 
++ from pandas._config import config
++ 
++ from pandas._libs.parsers import STR_NA_VALUES
+++from pandas.compat._optional import import_optional_dependency
++ from pandas.errors import EmptyDataError
++ from pandas.util._decorators import Appender, deprecate_nonkeyword_arguments
++ 
++@@ -104,12 +107,32 @@ dtype : Type name or dict of column -> t
++     of dtype conversion.
++ engine : str, default None
++     If io is not a buffer or path, this must be set to identify io.
++-    Supported engines: "xlrd", "openpyxl", "odf", "pyxlsb", default "xlrd".
+++    Supported engines: "xlrd", "openpyxl", "odf", "pyxlsb".
++     Engine compatibility :
+++
++     - "xlrd" supports most old/new Excel file formats.
++     - "openpyxl" supports newer Excel file formats.
++     - "odf" supports OpenDocument file formats (.odf, .ods, .odt).
++     - "pyxlsb" supports Binary Excel files.
+++
+++    .. versionchanged:: 1.1.5 in Debian, 1.2.0 upstream
+++        The engine `xlrd <https://xlrd.readthedocs.io/en/latest/>`_
+++        is no longer maintained, and is not supported with
+++        python >= 3.9. When ``engine=None``, the following logic will be
+++        used to determine the engine.
+++
+++        - If ``path_or_buffer`` is an OpenDocument format (.odf, .ods, .odt),
+++          then `odf <https://pypi.org/project/odfpy/>`_ will be used.
+++        - Otherwise if ``path_or_buffer`` is a bytes stream, the file has the
+++          extension ``.xls``, or is an ``xlrd`` Book instance, then ``xlrd`` will
+++          be used.
+++        - Otherwise if `openpyxl <https://pypi.org/project/openpyxl/>`_ is installed,
+++          then ``openpyxl`` will be used.
+++        - Otherwise ``xlrd`` will be used and a ``FutureWarning`` will be raised.
+++
+++        Specifying ``engine="xlrd"`` will continue to be allowed for the
+++        indefinite future, but may require uninstalling (python3-)defusedxml.
+++
++ converters : dict, default None
++     Dict of functions for converting values in certain columns. Keys can
++     either be integers or column labels, values are functions that take one
++@@ -823,13 +846,32 @@ class ExcelFile:
++         .xls, .xlsx, .xlsb, .xlsm, .odf, .ods, or .odt file.
++     engine : str, default None
++         If io is not a buffer or path, this must be set to identify io.
++-        Supported engines: ``xlrd``, ``openpyxl``, ``odf``, ``pyxlsb``,
++-        default ``xlrd``.
+++        Supported engines: ``xlrd``, ``openpyxl``, ``odf``, ``pyxlsb``
++         Engine compatibility :
+++
++         - ``xlrd`` supports most old/new Excel file formats.
++         - ``openpyxl`` supports newer Excel file formats.
++         - ``odf`` supports OpenDocument file formats (.odf, .ods, .odt).
++         - ``pyxlsb`` supports Binary Excel files.
+++
+++        .. versionchanged:: 1.1.5 in Debian, 1.2.0 upstream
+++
+++           The engine `xlrd <https://xlrd.readthedocs.io/en/latest/>`_
+++           is no longer maintained, and is not supported with
+++           python >= 3.9. When ``engine=None``, the following logic will be
+++           used to determine the engine.
+++
+++           - If ``path_or_buffer`` is an OpenDocument format (.odf, .ods, .odt),
+++             then `odf <https://pypi.org/project/odfpy/>`_ will be used.
+++           - Otherwise if ``path_or_buffer`` is a bytes stream, the file has the
+++             extension ``.xls``, or is an ``xlrd`` Book instance, then ``xlrd``
+++             will be used.
+++           - Otherwise if `openpyxl <https://pypi.org/project/openpyxl/>`_ is installed,
+++             then ``openpyxl`` will be used.
+++           - Otherwise ``xlrd`` will be used and a ``FutureWarning`` will be raised.
+++
+++           Specifying ``engine="xlrd"`` will continue to be allowed for the
+++           indefinite future, but may require uninstalling (python3-)defusedxml.
++     """
++ 
++     from pandas.io.excel._odfreader import _ODFReader
++@@ -846,14 +888,59 @@ class ExcelFile:
++ 
++     def __init__(self, path_or_buffer, engine=None):
++         if engine is None:
++-            engine = "xlrd"
+++            # Determine ext and use odf for ods stream/file
++             if isinstance(path_or_buffer, (BufferedIOBase, RawIOBase)):
+++                ext = None
++                 if _is_ods_stream(path_or_buffer):
++                     engine = "odf"
++             else:
++                 ext = os.path.splitext(str(path_or_buffer))[-1]
++                 if ext == ".ods":
++                     engine = "odf"
+++
+++            if (
+++                import_optional_dependency(
+++                    "xlrd", raise_on_missing=False, on_version="ignore"
+++                )
+++                is not None
+++            ):
+++                from xlrd import Book
+++
+++                if isinstance(path_or_buffer, Book):
+++                    engine = "xlrd"
+++
+++            # GH 35029 - Prefer openpyxl except for xls files
+++            if engine is None:
+++                if ext is None or isinstance(path_or_buffer, bytes) or ext == ".xls":
+++                    engine = "xlrd"
+++                elif (
+++                    import_optional_dependency(
+++                        "openpyxl", raise_on_missing=False, on_version="ignore"
+++                    )
+++                    is not None
+++                ):
+++                    engine = "openpyxl"
+++                else:
+++                    caller = inspect.stack()[1]
+++                    if (
+++                        caller.filename.endswith("pandas/io/excel/_base.py")
+++                        and caller.function == "read_excel"
+++                    ):
+++                        stacklevel = 4
+++                    else:
+++                        stacklevel = 2
+++                    warnings.warn(
+++                        "The xlrd engine is no longer maintained and is not "
+++                        "supported when using pandas with python >= 3.9. However, "
+++                        "the engine xlrd will continue to be allowed for the "
+++                        "indefinite future. The "
+++                        "openpyxl engine will be used if it is installed and the "
+++                        "engine argument is not specified. Either install openpyxl "
+++                        "or specify engine='xlrd' to silence this warning.",
+++                        FutureWarning,
+++                        stacklevel=stacklevel,
+++                    )
+++                    engine = "xlrd"
++         if engine not in self._engines:
++             raise ValueError(f"Unknown engine: {engine}")
++ 
++--- a/pandas/tests/io/excel/test_readers.py
+++++ b/pandas/tests/io/excel/test_readers.py
++@@ -599,6 +599,10 @@ class TestReaders:
++         if pd.read_excel.keywords["engine"] == "openpyxl":
++             pytest.xfail("Maybe not supported by openpyxl")
++ 
+++        if pd.read_excel.keywords["engine"] is None:
+++            # GH 35029
+++            pytest.xfail("Defaults to openpyxl, maybe not supported")
+++
++         result = pd.read_excel("testdateoverflow" + read_ext)
++         tm.assert_frame_equal(result, expected)
++ 
++@@ -1153,12 +1154,13 @@ class TestExcelFileRead:
++         actual = pd.read_excel(data, engine=engine)
++         tm.assert_frame_equal(expected, actual)
++ 
+++    @td.skip_if_no("xlrd")
++     def test_excel_high_surrogate(self, engine):
++         # GH 23809
++         expected = pd.DataFrame(["\udc88"], columns=["Column1"])
++ 
++         # should not produce a segmentation violation
++-        actual = pd.read_excel("high_surrogate.xlsx")
+++        actual = pd.read_excel("high_surrogate.xlsx", engine="xlrd")
++         tm.assert_frame_equal(expected, actual)
++ 
++     @pytest.mark.parametrize("filename", ["df_empty.xlsx", "df_equals.xlsx"])
++--- a/pandas/tests/io/excel/test_writers.py
+++++ b/pandas/tests/io/excel/test_writers.py
++@@ -351,12 +351,15 @@ class TestExcelWriter:
++             msg = "sheet 0 not found"
++             with pytest.raises(ValueError, match=msg):
++                 pd.read_excel(xl, "0")
++-        else:
+++        elif engine == "xlwt":
++             import xlrd
++ 
++             msg = "No sheet named <'0'>"
++             with pytest.raises(xlrd.XLRDError, match=msg):
++                 pd.read_excel(xl, sheet_name="0")
+++        else:
+++            with pytest.raises(KeyError, match="Worksheet 0 does not exist."):
+++                pd.read_excel(xl, sheet_name="0")
++ 
++     def test_excel_writer_context_manager(self, frame, path):
++         with ExcelWriter(path) as writer:
++@@ -1195,7 +1198,9 @@ class TestExcelWriter:
++ 
++         write_frame = DataFrame({"A": datetimes})
++         write_frame.to_excel(path, "Sheet1")
++-        read_frame = pd.read_excel(path, sheet_name="Sheet1", header=0)
+++        # GH 35029 - Default changed to openpyxl, but test is for odf/xlrd
+++        engine = "odf" if path.endswith("ods") else "xlrd"
+++        read_frame = pd.read_excel(path, sheet_name="Sheet1", header=0, engine=engine)
++ 
++         tm.assert_series_equal(write_frame["A"], read_frame["A"])
++ 
++--- a/pandas/tests/io/excel/test_xlrd.py
+++++ b/pandas/tests/io/excel/test_xlrd.py
++@@ -1,5 +1,7 @@
++ import pytest
++ 
+++from pandas.compat._optional import import_optional_dependency
+++
++ import pandas as pd
++ import pandas._testing as tm
++ 
++@@ -38,6 +40,48 @@ def test_read_xlrd_book(read_ext, frame)
++ # TODO: test for openpyxl as well
++ def test_excel_table_sheet_by_index(datapath, read_ext):
++     path = datapath("io", "data", "excel", f"test1{read_ext}")
++-    with pd.ExcelFile(path) as excel:
+++    with pd.ExcelFile(path, engine="xlrd") as excel:
++         with pytest.raises(xlrd.XLRDError):
++             pd.read_excel(excel, sheet_name="asdf")
+++
+++
+++def test_excel_file_warning_with_xlsx_file(datapath):
+++    # GH 29375
+++    path = datapath("io", "data", "excel", "test1.xlsx")
+++    has_openpyxl = (
+++        import_optional_dependency(
+++            "openpyxl", raise_on_missing=False, on_version="ignore"
+++        )
+++        is not None
+++    )
+++    if not has_openpyxl:
+++        with tm.assert_produces_warning(
+++            FutureWarning,
+++            raise_on_extra_warnings=False,
+++            match="The xlrd engine is no longer maintained",
+++        ):
+++            ExcelFile(path, engine=None)
+++    else:
+++        with tm.assert_produces_warning(None):
+++            pd.read_excel(path, "Sheet1", engine=None)
+++
+++
+++def test_read_excel_warning_with_xlsx_file(tmpdir, datapath):
+++    # GH 29375
+++    path = datapath("io", "data", "excel", "test1.xlsx")
+++    has_openpyxl = (
+++        import_optional_dependency(
+++            "openpyxl", raise_on_missing=False, on_version="ignore"
+++        )
+++        is not None
+++    )
+++    if not has_openpyxl:
+++        with tm.assert_produces_warning(
+++            FutureWarning,
+++            raise_on_extra_warnings=False,
+++            match="The xlrd engine is no longer maintained",
+++        ):
+++            pd.read_excel(path, "Sheet1", engine=None)
+++    else:
+++        with tm.assert_produces_warning(None):
+++            pd.read_excel(path, "Sheet1", engine=None)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b29cae021793e431127c96d7b3c0c0a2b3c6a884
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7 @@@
++Document: python3-pandas
++Title: pandas - powerful Python data analysis toolkit
++Section: Science/Data Analysis
++
++Format: HTML
++Index: /usr/share/doc/python-pandas-doc/html/index.html
++Files: /usr/share/doc/python-pandas-doc/html/*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8137b041cf99a0384d1a3c2c1f60c66d910a700c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++doc/build/html
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3ae42058e31f11e30c6c34bd947696f7f86ad255
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/share/doc/python-pandas-doc/html/whatsnew/index.html.gz usr/share/doc/python-pandas-doc/NEWS.html.gz
++usr/share/doc/python-pandas-doc/html/whatsnew/index.html.gz usr/share/doc/python3-pandas/NEWS.html.gz
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4ccc97d62c63b9f1cf2bffa90a483927e0ed4f94
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,114 @@@
++#!/usr/bin/make -f
++# -*- mode: makefile; coding: utf-8 -*-
++
++export DEB_BUILD_MAINT_OPTIONS = hardening=+all
++DPKG_EXPORT_BUILDFLAGS = 1
++include /usr/share/dpkg/buildflags.mk
++include /usr/share/dpkg/pkg-info.mk
++
++PY3VERS := $(shell py3versions -vr)
++PY3VER := $(shell py3versions -vd)
++SOURCE_DATE:=$(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+%a, %d %b %Y" || echo "xxx, xx xxx xxxx")
++SOURCE_TIME:=$(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+%T" || echo "xx:xx:xx")
++
++UVER := $(shell echo $(DEB_VERSION_UPSTREAM) | sed -e 's,+dfsg,,g')
++# Python doesn't use ~ for rc
++UVER_PY := $(shell echo $(UVER) | sed -e 's,[~],,g')
++UVER_PYSHORT := $(shell echo $(UVER_PY) | sed -e 's,+git.*,,g')
++
++# Filter out tests with "marker expressions" and "keyword expressions". Ref: pytest(1)
++ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH), amd64 i386 kfreebsd-amd64 kfreebsd-i386 x32))
++      PYTEST_MARKER := not network
++else
++      PYTEST_MARKER := not network and not slow
++endif
++# for matplotlib etc
++export HOME=$(CURDIR)/buildtmp
++
++# Split up the test suite to avoid running out of memory, use xvfb for plot tests, run but ignore potentially crashing tests; test_register_entrypoint expects an installed package
++export PYBUILD_TEST_ARGS=TEST_SUCCESS=true; cd {build_dir} ; for TEST_SUBSET in {build_dir}/pandas/tests/* ; do LOCALE_OVERRIDE=C xvfb-run -a -s "-screen 0 1280x1024x24 -noreset" {interpreter} -m pytest -s -v -m "$(PYTEST_MARKER)" -k "not test_register_entrypoint" --confcutdir={build_dir}/pandas --deb-data-root-dir={dir}/pandas/tests --strict-data-files $$TEST_SUBSET || test $$? = 5 || TEST_SUCCESS=false ; done ; LOCALE_OVERRIDE=C {interpreter} -m pytest -s -v -m "$(PYTEST_MARKER)" --forked --runxfail --confcutdir={build_dir}/pandas --deb-data-root-dir={dir}/pandas/tests --strict-data-files {build_dir}/pandas/tests/groupby/transform/test_numba.py {build_dir}/pandas/tests/window/test_numba.py {build_dir}/pandas/tests/window/test_apply.py || true ; $$TEST_SUCCESS
++
++export PYBUILD_EXT_DESTDIR=debian/python3-pandas-lib
++export PYBUILD_DESTDIR=debian/python3-pandas
++
++# try to prevent unsanctioned downloads
++export  http_proxy=http://127.0.0.1:9/
++export  https_proxy=http://127.0.0.1:9/
++
++export SHELL=/bin/bash
++
++# Mega rule
++%:
++      : # Explicit build system to avoid use of all-in-1 Makefile
++      dh $@ --buildsystem=pybuild --with python3,numpy3,sphinxdoc
++
++# The *cython* rules are provided to allow using pre-built Cython files in distributions without a new enough Cython; they are not (and must not be) used in official Debian builds (including -backports).  Use instructions:
++# on a system with new enough Cython, run debian/rules cythonize - this will add a directory under debian/
++# uncomment the _uncythonize rule dependency below
++# remove the cython3 Build-Depends from d/control
++# copy to the older system and build as normal
++# To upgrade to a new upstream version, this process must be repeated
++# Warning - has not been tested for some time
++_cythonize%: override_dh_clean # force removal of previous copies
++      python$(*:2=) setup.py cython
++      D=debian/cythonized-files$(*:2=) && \
++              git rm -rf $$D || rm -rf $$D; \
++              find pandas/ -regex '.*\.c\(\|pp\)' | while read f; do \
++                      grep -q 'Generated by Cython' "$$f" || continue; \
++                      mkdir -p "$$D/$$(dirname $$f)"; \
++                      cp "$$f" "$$D/$$(dirname $$f)"; \
++                      git add -f "$$D/$$f" || true; \
++              done; \
++              echo "$(UVER)" >| $$D/VERSION; git add $$D/VERSION || true
++
++_uncythonize%:
++      : # Make sure that cythonized sources are up-to-date
++      [ "$(UVER)" = "`cat debian/cythonized-files3/VERSION`" ]
++      echo "$*" | grep -q '^3' && PY=3 || PY= ; \
++              echo "I: Using pre-Cython-ed files for Python $*"; \
++              cd debian/cythonized-files$$PY/ ; \
++              find . -regex '.*\.c\(\|pp\)' | while read f; do cp $$f ../../$$f; done
++
++cythonize: _cythonize3
++
++override_dh_clean:
++      find pandas/ -regex '.*\.c\(\|pp\)' | xargs grep -l -e 'Generated by Cython'  | xargs -r rm -f
++      rm -rf build buildtmp doc/build *-stamp # pandas.egg-info pandas/datasets/__config__.py
++      dh_clean
++
++override_dh_auto_build-arch: # ${PY3VERS:%=_uncythonize%}
++      mkdir -p buildtmp
++      [ -e pandas/__version.py ] || \
++      echo -e "version = '$(UVER_PY)'\nshort_version = '$(UVER_PYSHORT)'" > pandas/__version.py
++      dh_auto_build
++
++override_dh_auto_build-indep: override_dh_auto_build-arch
++ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
++      : # Build Documentation
++      cd doc && PYTHONPATH=$(CURDIR)/.pybuild/cpython3_$(PY3VER)/build LC_ALL=C python3 make.py html
++      # strip build paths and statsmodels timestamps for reproducibility, and online Javascript for privacy
++      for html in `find doc/build/html -name _modules -prune -o -name "*.html" -o -name "*.ipynb"` ; do \
++          sed -i -e 's#$(CURDIR)/.pybuild/[^/]*/build/pandas/#/usr/lib/python3/dist-packages/pandas/#g' \
++          -e 's#$(CURDIR)/debian/python3-pandas/usr/lib/python3/dist-packages/pandas/#/usr/lib/python3/dist-packages/pandas/#g' \
++          -e 's#<script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" type="text/javascript" src="https://cdnjs\.cloudflare\.com/ajax/libs/require\.js/2\.3\.4/require\.min\.js">#<script type="text/javascript" src="file:///usr/share/javascript/requirejs/require.min.js">#g' \
++          -e 's#\(Date:.*\)[A-Z][a-z]\+, \+[0-9]\+,\? \+[A-Z][a-z]\+,\? \+[0-9]\+#\1$(SOURCE_DATE)#g' \
++          -e 's#\(Time:.*\)[0-9][0-9]:[0-9][0-9]:[0-9][0-9]#\1$(SOURCE_TIME)#g' $${html} ; \
++      done
++endif
++
++override_dh_installdocs:
++      dh_installdocs -A *.md
++      # for NEWS.html.gz - put it here and use symlinks to avoid breaking internal links
++      gzip -c -n -9 debian/python-pandas-doc/usr/share/doc/python-pandas-doc/html/whatsnew/index.html > debian/python-pandas-doc/usr/share/doc/python-pandas-doc/html/whatsnew/index.html.gz || true
++      cp -av debian/contributors_list.txt debian/python-pandas-doc/usr/share/doc/python-pandas-doc || true
++      # deduplicate files - the ||true is because we only build-depend on jdupes if we're building documentation
++      jdupes -r -l debian/python-pandas-doc/usr/share/doc || true
++
++
++## immediately useable documentation and exemplar scripts/data
++override_dh_compress:
++      dh_compress -X.py -X.html -X.pdf -X.css -X.jpg -X.txt -X.js -X.json -X.rtc -Xobjects.inv
++
++# see PYBUILD_TEST_ARGS above
++override_dh_auto_test:
++      PYBUILD_SYSTEM=custom dh_auto_test
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1ea38fca11492a54873f30173a7e046f21c4c000
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,6 @@@
++# nothing to do with the html files with lenthy lines.
++very-long-line-length-in-source-file
++# False positive triggered by very-long-line-length-in-source-file.
++#   https://lintian.debian.org/tags/source-is-missing.html
++# Anyway let's override this "feature".
++source-is-missing
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e558c0fce5daf824258e5877ff77c77a1cb53749
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++extend-diff-ignore="^[^/]+\.egg-info/|pandas/__version.py"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..57b0543ffa4efff3027666a6c6a27c8a5650b0f1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,50 @@@
++# Check that the hard Depends are enough for import
++# cd to not-the-source-directory to get the installed pandas
++Test-Command: cd "$AUTOPKGTEST_TMP" && python3 -c "import pandas;a=pandas.DataFrame([[1,2],[3,4]])"
++Depends: python3-pandas
++Restrictions: allow-stderr
++
++# According to pandas/doc/source/install.rst, running the unit tests looks like:
++# `py.test-3 --skip-slow --skip-network /usr/lib/python3/dist-packages/pandas/ -v -rs`
++# Or simply `python3 -c "import pandas as pd; pd.test()"`, which doesn't require
++# us to specify the path (pandas.__path__) in command line.
++# See: pandas/util/_tester.py
++Tests: unittests3
++Depends: locales-all,
++         python3-all,
++         python3-bottleneck (>= 1.2.1~),
++         python3-bs4,
++         python3-dask (>= 2.10.1~),
++         python3-dateutil (>= 2.7.3~),
++         python3-html5lib,
++         python3-hypothesis,
++         python3-jinja2,
++         python3-lxml,
++         python3-matplotlib [!hurd-i386],
++# armel, s390x numba crash, mipsel gives wrong answer, most ports don't have numba
++# re-add when #972246 is fixed         python3-numba (>= 0.46.0~) [amd64 arm64 armhf i386 mips64el mipsel ppc64el s390x],
++         python3-numexpr (>= 2.6.2~),
++         python3-numpy (>= 1:1.15~),
++         python3-odf,
++         python3-openpyxl,
++         python3-pandas,
++# upstream actually want pytest >= 5.0.1 but we don't have that in testing
++         python3-pytest (>= 4.0.2~),
++         python3-pytest-asyncio,
++         python3-pytest-forked,
++         python3-pytest-xdist (>= 1.21~),
++         python3-scipy,
++         python3-six,
++         python3-statsmodels,
++         python3-tables (>= 3.4.3~),
++         python3-tabulate (>= 0.8.3~),
++         python3-tk,
++         python3-tz,
++         python3-xarray,
++# broken - #976620         python3-xlrd,
++         python3-xlsxwriter,
++         python3-xlwt,
++         xauth,
++         xvfb,
++         xclip,
++Restrictions: allow-stderr, needs-internet
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2ccebd01756dd9433e8740ef5c79220e29e9a216
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,29 @@@
++#!/bin/bash
++set -eu
++set -x
++
++arch=$(dpkg --print-architecture)
++pys="$(py3versions -r 2>/dev/null)"
++sourcetestroot="$PWD/pandas/tests"
++
++# Debian: Enable "slow" tests on x86 to keep the code coverage.
++# Ubuntu: Disable "slow" tests on ALL architectures.
++if (echo amd64 i386 | grep $arch >/dev/null) && [ "Debian" = $(dpkg-vendor --query vendor) ]; then
++      marker=''
++else
++      marker='not slow'
++fi
++
++cd "$AUTOPKGTEST_TMP"
++# Run in sections to avoid out-of-memory crash (#943732)
++# exit code 5 means no tests in this file
++TEST_SUCCESS=true
++for py in $pys; do
++      echo "=== $py ==="
++      modpath=$($py -c 'import pandas as pd; print(pd.__path__[0])')
++      for TEST_SUBSET in $modpath/tests/* ; do
++        LC_ALL=C.UTF-8 xvfb-run --auto-servernum --server-args="-screen 0 1024x768x24" \
++        $py -m pytest --tb=long -s -v -m "$marker" --deb-data-root-dir=$sourcetestroot --strict-data-files --confcutdir=$modpath $TEST_SUBSET 2>&1 || test $? == 5 || TEST_SUCCESS=false
++    done
++done
++$TEST_SUCCESS
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9dfc4681fc4bdfb82c77655f3766b9fa252172ef
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,12 @@@
++Name: pandas
++Repository: https://github.com/pydata/pandas
++Documentation: https://pandas.pydata.org/pandas-docs/stable
++Bug-Database: https://github.com/pydata/pandas/issues
++Contact: https://pandas.pydata.org/community.html
++Reference:
++  Title: "pandas: a Foundational Python Library for Data Analysis and Statistics"
++  Eprint: https://www.scribd.com/doc/71048089/pandas-a-Foundational-Python-Library-for-Data-Analysis-and-Statistics
++  Author: McKinney, Wes
++  Booktitle: presented at PyHPC
++  Year: 2011
++Other-References: https://pandas.pydata.org/talks.html
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f8089810fbca9c38729d2e859a745af2affe701c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++version=4
++opts="dversionmangle=s/.dfsg[0-9]*$//,uversionmangle=s/v//;s/rc/~rc/,filenamemangle=s/.*\/(.*)/pandas-$1\.tar\.gz/,repacksuffix=+dfsg" \
++ https://github.com/pydata/pandas/tags .*archive/v?([\d\.rc]+).tar.gz