From: Jochen Sprickerhof Date: Thu, 2 Dec 2021 16:32:54 +0000 (+0000) Subject: pandas (1.3.4+dfsg-7) unstable; urgency=medium X-Git-Tag: archive/raspbian/1.5.3+dfsg-2+rpi1~1^2^2^2^2^2^2^2^2^2~32 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=cee4d33be877b39c744d7d02c2eecac60f4d9a34;p=pandas.git pandas (1.3.4+dfsg-7) unstable; urgency=medium * Team upload. * Disable more numba tests on 32bit archs [dgit import unpatched pandas 1.3.4+dfsg-7] --- cee4d33be877b39c744d7d02c2eecac60f4d9a34 diff --cc debian/README.source index 00000000,00000000..aa04e75e new file mode 100644 --- /dev/null +++ b/debian/README.source @@@ -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 diff --cc debian/changelog index 00000000,00000000..fc061d1e new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,1359 @@@ ++pandas (1.3.4+dfsg-7) unstable; urgency=medium ++ ++ * Team upload. ++ * Disable more numba tests on 32bit archs ++ ++ -- Jochen Sprickerhof Thu, 02 Dec 2021 17:32:54 +0100 ++ ++pandas (1.3.4+dfsg-6) unstable; urgency=medium ++ ++ * Team upload. ++ * Fix an other import in the test patch ++ * Add closes bug to old changelog ++ ++ -- Jochen Sprickerhof Wed, 01 Dec 2021 10:36:56 +0100 ++ ++pandas (1.3.4+dfsg-5) unstable; urgency=medium ++ ++ * Team upload. ++ * Fix missing import ++ * Remove unused salsa-ci.yml ++ ++ -- Jochen Sprickerhof Tue, 30 Nov 2021 23:39:49 +0100 ++ ++pandas (1.3.4+dfsg-4) unstable; urgency=medium ++ ++ * Tests: remove another 64 bit assumption. ++ * Warn the user and ignore all tests on mips*. ++ ++ -- Rebecca N. Palmer Tue, 30 Nov 2021 10:11:08 +0000 ++ ++pandas (1.3.4+dfsg-3) unstable; urgency=medium ++ ++ * Tests: remove some more 64 bit or x86-or-arm64 assumptions. ++ * Docs: add missing MathJax.js symlink, remove unused URL replacement. ++ * Add transition Breaks (see #999415). ++ * Upload to unstable. (Closes: #999415) ++ ++ -- Rebecca N. Palmer Mon, 29 Nov 2021 21:59:11 +0000 ++ ++pandas (1.3.4+dfsg-2) experimental; urgency=medium ++ ++ * Stop ignoring build-time tests. ++ * Tests: don't assume 64 bit or x86-or-arm64. ++ * Fix #877754 warning. ++ * Xfail more numba tests on big-endian systems. ++ * Skip test_statsmodels during build to break dependency cycle. ++ ++ -- Rebecca N. Palmer Thu, 25 Nov 2021 22:04:47 +0000 ++ ++pandas (1.3.4+dfsg-1) experimental; urgency=medium ++ ++ [ Andreas Tille ] ++ * Fix watchfile to detect new versions on github ++ * New upstream version (Closes: #1000422) ++ * Standards-Version: 4.6.0 (routine-update) ++ * Respect DEB_BUILD_OPTIONS in override_dh_auto_test target (routine- ++ update) ++ * Remove trailing whitespace in debian/copyright (routine-update) ++ * Add salsa-ci file (routine-update) ++ * Set upstream metadata fields: Bug-Submit, Repository, Repository-Browse, ++ Security-Contact. ++ * Remove obsolete field Name from debian/upstream/metadata (already present in ++ machine-readable debian/copyright). ++ * Apply multi-arch hints. ++ + python-pandas-doc: Add Multi-Arch: foreign. ++ * Remove hidden files and directories that are confusing gbp ++ * drop tag definitions from debian/gbp.conf ++ ++ [ Rebecca N. Palmer ] ++ * Upload to experimental (see #999415). ++ * Update contributors_list and d/copyright. ++ * Refresh patches, remove no longer needed patches. ++ * Update minimum dependency versions. ++ * Re-enable xlrd and numba tests (#976620 and #972246 have ben fixed). ++ * Temporarily disable failing style.ipynb build. ++ * Tests: accept changed error messages, add new dependency, ++ skip/xfail tests that our test setup breaks, clean up afterwards. ++ * Temporarily ignore build-time tests to get a first build. ++ * Be compatible with matplotlib 3.5. ++ ++ -- Rebecca N. Palmer Sun, 21 Nov 2021 21:04:26 +0000 ++ ++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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Sun, 10 Nov 2019 16:35:41 +0000 ++ ++pandas (0.25.3+dfsg-3) experimental; urgency=medium ++ ++ * Fix autopkgtest. ++ ++ -- Rebecca N. Palmer 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Sun, 27 Nov 2016 21:49:40 -0500 ++ ++pandas (0.19.1-1) unstable; urgency=medium ++ ++ * Fresh upstream release ++ ++ -- Yaroslav Halchenko 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 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 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 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 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 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 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 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 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 Tue, 30 Jun 2015 17:26:54 -0400 ++ ++pandas (0.16.0~rc1-1) experimental; urgency=medium ++ ++ * New upstream release candidate ++ ++ -- Yaroslav Halchenko Fri, 13 Mar 2015 14:21:39 -0400 ++ ++pandas (0.15.2-1) unstable; urgency=medium ++ ++ * Fresh upstream release ++ ++ -- Yaroslav Halchenko 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 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 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 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 Mon, 06 Oct 2014 11:53:42 -0400 ++ ++pandas (0.14.1-1) unstable; urgency=medium ++ ++ * New upstream release ++ ++ -- Yaroslav Halchenko 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 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 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 Sun, 01 Jun 2014 00:54:34 -0400 ++ ++pandas (0.14.0-1) unstable; urgency=medium ++ ++ * New upstream release ++ ++ -- Yaroslav Halchenko 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 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 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 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 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 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 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 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 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 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 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 Mon, 03 Jun 2013 11:57:43 -0400 ++ ++pandas (0.11.0-1) experimental; urgency=low ++ ++ * New upstream release ++ ++ -- Yaroslav Halchenko Tue, 23 Apr 2013 22:40:15 -0400 ++ ++pandas (0.10.1-1) experimental; urgency=low ++ ++ * New upstream release ++ ++ -- Yaroslav Halchenko 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 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 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 Wed, 14 Nov 2012 09:44:14 -0500 ++ ++pandas (0.9.0-1) experimental; urgency=low ++ ++ * New upstream release ++ ++ -- Yaroslav Halchenko Sun, 07 Oct 2012 21:26:23 -0400 ++ ++pandas (0.9.0~rc2-1) experimental; urgency=low ++ ++ * New upstream release candidate ++ ++ -- Yaroslav Halchenko 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 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 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 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 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 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 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 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 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 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 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 Sun, 25 Sep 2011 21:48:30 -0400 ++ ++pandas (0.4.0-1) unstable; urgency=low ++ ++ * Initial Debian release (Closes: #641464) ++ ++ -- Yaroslav Halchenko Tue, 13 Sep 2011 12:24:05 -0400 diff --cc debian/contributors_list.txt index 00000000,00000000..bccf8ded new file mode 100644 --- /dev/null +++ b/debian/contributors_list.txt @@@ -1,0 -1,0 +1,2623 @@@ ++Current to version 1.3.4 (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 ++ ++ 3195 jbrockmendel ++ 3130 Wes McKinney ++ 3043 jreback ++ 1690 Jeff Reback ++ 1188 Joris Van den Bossche ++ 943 y-p ++ 757 Tom Augspurger ++ 630 Chang She ++ 607 Phillip Cloud ++ 545 Simon Hawkins ++ 464 gfyoung ++ 381 Matthew Roeschke ++ 344 sinhrks ++ 327 Adam Klein ++ 241 William Ayd ++ 196 MomIsBestFriend ++ 179 MeeseeksMachine ++ 178 patrick ++ 175 Marc Garcia ++ 168 Daniel Saxton ++ 160 Andy Hayden ++ 148 topper-123 ++ 139 Terji Petersen ++ 128 Jeff Tratner ++ 122 Jeffrey Tratner ++ 115 Marco Gorelli ++ 110 Richard Shadrach ++ 109 Vytautas Jancauskas ++ 93 Jeremy Schendel ++ 92 Pietro Battiston ++ 89 Fangchen Li ++ 89 Skipper Seabold ++ 87 Kaiqi Dong ++ 86 alimcmaster1 ++ 85 h-vetinari ++ 84 Stephan Hoyer ++ 79 attack68 ++ 76 Wouter Overmeire ++ 74 Andrew Wieteska ++ 70 jschendel ++ 68 Kevin Sheppard ++ 65 Sinhrks ++ 64 Maxim Ivanov ++ 62 Martin Winkel ++ 61 TomAugspurger ++ 60 Mortada Mehyar ++ 57 Christopher Whelan ++ 55 Chris ++ 54 Thomas Kluyver ++ 54 behzad nouri ++ 49 Ka Wo Chen ++ 48 Torsten Wörtwein ++ 43 Kieran O'Mahony ++ 43 Matthew Zeitlin ++ 42 Dieter Vandenbussche ++ 38 Paul Reidy ++ 35 Patrick Hoefler ++ 34 chris-b1 ++ 33 Evan Wright ++ 32 bwignall ++ 31 Jan Schulz ++ 31 Mak Sze Chun ++ 29 Irv Lustig ++ 29 Yaroslav Halchenko ++ 29 immerrr ++ 28 David Stephens ++ 27 Avinash Pancham ++ 26 Gábor Lipták ++ 26 Justin Zheng ++ 25 Stephen Lin ++ 25 Thein Oo ++ 25 rockg ++ 23 Fabian Haase ++ 22 Erfan Nariman ++ 22 Licht Takeuchi ++ 22 Ming Li ++ 22 ganevgv ++ 21 Ryan Nazareth ++ 21 Thierry Moisan ++ 21 moink ++ 20 Dan Birken ++ 20 Thomas Li ++ 20 lexual ++ 19 Abraham Flaxman ++ 19 Alex Kirko ++ 19 Artemy Kolchinsky ++ 19 DSM ++ 18 Farhan Reynaldo ++ 18 Kerby Shedden ++ 18 pilkibun ++ 18 unutbu ++ 17 Aidan Feldman ++ 17 Anthonios Partheniou ++ 17 Nicolas Bonnotte ++ 17 Robert de Vries ++ 17 Uwe L. Korn ++ 16 Jiaxiang ++ 16 Matt Roeschke ++ 16 Saurav Chakravorty ++ 16 danielballan ++ 16 mzeitlin11 ++ 16 onesandzeroes ++ 16 partev ++ 16 realead ++ 15 Abdullah İhsan Seçer ++ 15 Marco Edward Gorelli ++ 15 Tobias Brandt ++ 15 seth-p ++ 14 Christopher C. Aycock ++ 14 Dr. Irv ++ 14 Gregory Rome ++ 14 Maximilian Roos ++ 14 Roy Hyunjin Han ++ 14 Spencer Lyon ++ 14 locojaydev ++ 14 rhshadrach ++ 13 Alex Rothberg ++ 13 John W. O'Brien ++ 13 Jonathan Chambers ++ 13 Todd Jennings ++ 13 Vaibhav Vishal ++ 13 willpeppo ++ 12 Alex Rychyk ++ 12 Bharat Raghunathan ++ 12 Luca Beltrame ++ 12 PKEuS ++ 12 Richard T. Guy ++ 12 Tommy ++ 12 Wenhuan ++ 11 Albert Villanova del Moral ++ 11 Ali McMaster ++ 11 Andrew Rosenfeld ++ 11 Daniel Himmelstein ++ 11 Joe Jevnik ++ 11 Keith Hughitt ++ 11 Pandas Development Team ++ 11 Thomas Smith ++ 11 anmyachev ++ 11 proost ++ 11 terrytangyuan ++ 10 Aaron Critchley ++ 10 Alexander Ponomaroff ++ 10 Anjali2019 ++ 10 Dale Jung ++ 10 Eric Leung ++ 10 Garrett Drapala ++ 10 John McNamara ++ 10 K.-Michael Aye ++ 10 Kendall Masse ++ 10 Martin Blais ++ 10 Nick Eubank ++ 10 Sam Foo ++ 10 Shahar Naveh ++ 10 Tim Swast ++ 10 Yuanhao Geng ++ 10 cbertinato ++ 9 3vts ++ 9 Damien Garaud ++ 9 Guillaume Gay ++ 9 Jacob Schaer ++ 9 Michael Marino ++ 9 Shao Yang Hong ++ 9 Tong SHEN ++ 9 Viktor Kerkez ++ 9 cleconte987 ++ 9 github-actions[bot] ++ 8 Adam J. Stewart ++ 8 Aly Sivji ++ 8 Brandon Bradley ++ 8 Dr-Irv ++ 8 Hugh Kelley ++ 8 Joel Nothman ++ 8 Kalyan Gokhale ++ 8 Mike Kelly ++ 8 Oleh Kozynets ++ 8 OlivierLuG ++ 8 RaisaDZ ++ 8 Shawn Heide ++ 8 Varun ++ 8 Vasily Litvinov ++ 8 himanshu awasthi ++ 8 jnmclarty ++ 7 Benedikt Sauer ++ 7 Chuanzhu Xu ++ 7 Dan Allan ++ 7 Derek McCammond ++ 7 DriesS ++ 7 Francis T. O'Donovan ++ 7 Honfung Wong ++ 7 Jason Sexauer ++ 7 Kernc ++ 7 Michael Mueller ++ 7 Quang Nguyễn ++ 7 Robin to Roxel ++ 7 Rushabh Vasani ++ 7 Samesh Lakhotia ++ 7 Takafumi Arakaki ++ 7 Vyom Pathak ++ 7 Winterflower ++ 7 Younggun Kim ++ 7 dsm054 ++ 7 ftrihardjo ++ 7 nipunreddevil ++ 7 nrebena ++ 7 scls19fr ++ 7 themien ++ 6 Andrew Hawyrluk ++ 6 ArtinSarraf ++ 6 Benjamin Rowell ++ 6 Brad Buran ++ 6 Bran Yang ++ 6 Brian Wignall ++ 6 Chris Whelan ++ 6 David Bew ++ 6 Deepyaman Datta ++ 6 Garrett-R ++ 6 Graham Inggs ++ 6 HH-MWB ++ 6 Jeff Carey ++ 6 Kelsey Jordahl ++ 6 Mateusz Woś ++ 6 Matt Kirk ++ 6 Micael Jarniac ++ 6 Neil Parley ++ 6 Nicholaus E. Halecky ++ 6 Piotr Jucha ++ 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 WANG Aiyong ++ 6 Wes Turner ++ 6 ZhuBaohe ++ 6 agijsberts ++ 6 agraboso ++ 6 ajcr ++ 6 clham ++ 6 ischwabacher ++ 6 kernc ++ 6 krajatcl ++ 6 mproszewska ++ 6 rbenes ++ 6 rebecca-palmer ++ 6 smartvinnetou ++ 6 timmie ++ 6 tmnhat2001 ++ 5 Adam Obeng ++ 5 Addison Lynch ++ 5 Ajay Saxena ++ 5 Alan Velasco ++ 5 Alexandre Prince-Levasseur ++ 5 Andrew ++ 5 Asish Mahapatra ++ 5 Ben Kandel ++ 5 Chapman Siu ++ 5 Clark Fitzgerald ++ 5 Clemens Brunner ++ 5 DataOmbudsman ++ 5 David Cottrell ++ 5 Douglas McNeil ++ 5 Galuh Sahid ++ 5 Gjelt ++ 5 Janelle Zoutkamp ++ 5 Jon Mease ++ 5 Joris Vankerschaver ++ 5 Josh ++ 5 Josh Dimarsky ++ 5 Ksenia ++ 5 Lars Buitinck ++ 5 LeakedMemory ++ 5 Marc Abramowitz ++ 5 Mark Wiebe ++ 5 Matti Picus ++ 5 Max Chen ++ 5 Michael Hsieh ++ 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 Tobias Pitters ++ 5 Tomaz Berisa ++ 5 TrigonaMinima ++ 5 Troels Nielsen ++ 5 William Blan ++ 5 Yuichiro Kaneko ++ 5 avinashpancham ++ 5 benjamin ++ 5 dieterv77 ++ 5 dilex42 ++ 5 donK23 ++ 5 fathomer ++ 5 hasan-yaman ++ 5 kylekeppler ++ 5 pv8493013j ++ 5 tshauck ++ 5 yui-knk ++ 4 Adam Greenhall ++ 4 Alvaro Tejero-Cantero ++ 4 Andreas Würl ++ 4 Anna Daglis ++ 4 Anthony Milbourne ++ 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 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 Karasinski ++ 4 John Zwinck ++ 4 Jonathan Shreckengost ++ 4 Junya Hayashi ++ 4 Kevin Stone ++ 4 Krishna ++ 4 Kyle Meyer ++ 4 Laura Collard, PhD ++ 4 Loïc Estève ++ 4 Lucas Rodés-Guirao ++ 4 Luis Pinto ++ 4 Mabel Villalba ++ 4 Marian Denes ++ 4 Mark Graham ++ 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 Parfait Gasana ++ 4 Paul Ivanov ++ 4 Qbiwan ++ 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 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 junk ++ 4 kota matsuoka ++ 4 luzpaz ++ 4 robbuckley ++ 4 taytzehao ++ 4 vangorade ++ 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 Anton I. Sipos ++ 3 Baurzhan Muftakhidinov ++ 3 BeanNan ++ 3 Ben Welsh ++ 3 Benjamin Beier Liu ++ 3 Bhavani Ravi ++ 3 Big Head ++ 3 Brandon M. Burroughs ++ 3 Brian Sun ++ 3 Brock Mendel ++ 3 Caleb Epstein ++ 3 Carlos Souza ++ 3 Chris Bertinato ++ 3 Chris Mazzullo ++ 3 Christoph Gohlke ++ 3 Christos Petropoulos ++ 3 DanielFEvans ++ 3 Dave Hirschfeld ++ 3 Dave Willmer ++ 3 David Krych ++ 3 Devin Petersohn ++ 3 Dillon Niederhut ++ 3 Doug Latornell ++ 3 Eric Chea ++ 3 Francesc Via ++ 3 Fred Reiss ++ 3 Gabriel Monteiro ++ 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 Iqrar Agalosi Nureyza ++ 3 Isaac Virshup ++ 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 John McGuigan ++ 3 Joon Ro ++ 3 Josh Klein ++ 3 Josiah Baker ++ 3 Julia Signell ++ 3 Justin Essert ++ 3 Kamil Trocewicz ++ 3 Karmel Allison ++ 3 Kate Surta ++ 3 Keshav Ramaswamy ++ 3 Kyle Barron ++ 3 Liam3851 ++ 3 Louis Huynh ++ 3 MBrouns ++ 3 Markus Meier ++ 3 Martin Durant ++ 3 Martina Oefelein ++ 3 Mateusz ++ 3 Mathis Felardos ++ 3 Matt Braymer-Hayes ++ 3 Matteo Santamaria ++ 3 Matthew Brett ++ 3 Matthias Bussonnier ++ 3 Max Bolingbroke ++ 3 Maximiliano Greco ++ 3 Mike Kutzma ++ 3 Miroslav Å edivý ++ 3 Mitar ++ 3 Mohammad Jafar Mashhadi ++ 3 Myles Braithwaite ++ 3 Naomi Bonnin ++ 3 Nate Yoder ++ 3 Nick Pentreath ++ 3 Noah ++ 3 Noam Hershtig ++ 3 Nofar Mishraki ++ 3 Pamela Wu ++ 3 Patrick O'Brien ++ 3 Paul ++ 3 Paul Ganssle ++ 3 Piotr Niełacny ++ 3 Prasanjit Prakash ++ 3 Pulkit Maloo ++ 3 Rahul Sathanapalli ++ 3 Randy Carnevale ++ 3 Riccardo Magliocchetti ++ 3 Richard Höchenberger ++ 3 Rik-de-Kort ++ 3 Robin ++ 3 Robin Wilson ++ 3 Rohith295 ++ 3 Ryan ++ 3 Safia Abdalla ++ 3 Sahil Dua ++ 3 Sarthak Vineet Kumar ++ 3 SatheeshKumar Mohan ++ 3 Sebastian Bank ++ 3 Shoham Debnath ++ 3 Shorokhov Sergey ++ 3 Simon Gibbons ++ 3 Souvik Mandal ++ 3 Sparkle Russell-Puleri ++ 3 Stefania Delprete ++ 3 Stefano Cianciulli ++ 3 Suvayu Ali ++ 3 Sven ++ 3 Thijs Damsma ++ 3 Thomas Dickson ++ 3 Thomas Yu ++ 3 Tim Hoffmann ++ 3 Tjerk Santegoeds ++ 3 Toby Dylan Hocking ++ 3 Tom Ajamian ++ 3 Tom Bird ++ 3 Tyler Reddy ++ 3 UrielMaD ++ 3 Victoria Zdanovskaya ++ 3 Yanxian Lin ++ 3 Yian ++ 3 Yoshiki Vázquez Baeza ++ 3 Yury Mikhaylov ++ 3 Zac Hatfield-Dodds ++ 3 Zito Relova ++ 3 adneu ++ 3 aflah02 ++ 3 alphaCTzo7G ++ 3 anomrake ++ 3 arredond ++ 3 beanan ++ 3 davidshinn ++ 3 dengemann ++ 3 duozhang ++ 3 fjetter ++ 3 guru kiran ++ 3 jdeschenes ++ 3 jen w ++ 3 jnecus ++ 3 joshuaar ++ 3 linebp ++ 3 lukasbk ++ 3 mcjcode ++ 3 miker985 ++ 3 nathalier ++ 3 ogiaquino ++ 3 prossahl ++ 3 rekcahpassyla ++ 3 ri938 ++ 3 shawnbrown ++ 3 stonebig ++ 3 thatneat ++ 3 tv3141 ++ 3 unknown ++ 3 za ++ 3 zach powers ++ 2 Aaron Staple ++ 2 Abhishek Mangla ++ 2 Achmad Syarif Hidayatullah ++ 2 Adam Bull ++ 2 Adam Marcus ++ 2 Adam Turner ++ 2 Adrian Mastronardi ++ 2 Aidan Montare ++ 2 Alex Chase ++ 2 Alex Gaudio ++ 2 Alex Hall ++ 2 Alex Lim ++ 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 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 Benoît Vinot ++ 2 Bernard Willers ++ 2 Bhuvana KA ++ 2 Bill Letson ++ 2 Bobae Kim ++ 2 Brian Hulette ++ 2 Bryan Cutler ++ 2 Camilo Cota ++ 2 Carol Willing ++ 2 Chamoun Saoma ++ 2 Chankey Pathak ++ 2 Charalampos Papaloizou ++ 2 Charles David ++ 2 Chris Grinolds ++ 2 Chris Lynch ++ 2 Chris Reynolds ++ 2 Chris Stadler ++ 2 Chris Stoafer ++ 2 Chris Withers ++ 2 Christer van der Meeren ++ 2 Christian Chwala ++ 2 CloseChoice ++ 2 Cody ++ 2 DaPy15 ++ 2 Dan Ringwalt ++ 2 Daniel Grady ++ 2 Daniel Hrisca ++ 2 Data & Code Expert Experimenting with Code on Data ++ 2 DavaIlhamHaeruzaman ++ 2 David Arcos ++ 2 David Cook ++ 2 David Gwynne ++ 2 David Li ++ 2 David Stansby ++ 2 Deepang Raval ++ 2 Devjeet Roy ++ 2 Diane Trout ++ 2 Diego Argueta ++ 2 Dom ++ 2 Doran Deluz ++ 2 Douglas Hanley ++ 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 Elliot Rampono ++ 2 Elliott Sales de Andrade ++ 2 Emiliano Jordan ++ 2 Eric Chlebek ++ 2 Eric Wieser ++ 2 EricLeer ++ 2 Eve ++ 2 Fabian Gebhart ++ 2 Fabian Retkowski ++ 2 Fabian Rost ++ 2 Fabio Zanini ++ 2 Felix Divo ++ 2 Florian Jetter ++ 2 Fábio Rosado ++ 2 Gabriel Corona ++ 2 Gabriel Tutui ++ 2 Gautham ++ 2 George Hartzell ++ 2 Geraint Duck ++ 2 Gina ++ 2 Gioia Ballin ++ 2 Giovanni Lanzani ++ 2 Graham Jeffries ++ 2 Grant Roch ++ 2 Guillaume Horel ++ 2 Gustavo C. Maciel ++ 2 Hamed Saljooghinejad ++ 2 Hannah Ferchland ++ 2 Hans ++ 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 Jacob Peacock ++ 2 Jacopo Rota ++ 2 Jaehoon Hwang ++ 2 Jaidev Deshpande ++ 2 James Draper ++ 2 Jan Koch ++ 2 Jan Å koda ++ 2 Janus ++ 2 Jaume Bonet ++ 2 Javad Noorbakhsh ++ 2 Jay Parlar ++ 2 Jeet Parekh ++ 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 Johnny Pribyl ++ 2 Jon M. Mease ++ 2 Jonas Abernot ++ 2 Jonathan deWerd ++ 2 Jordi Contestí ++ 2 Jose Quinones ++ 2 JoseNavy ++ 2 Josh Friedlander ++ 2 Juarez Bochi ++ 2 Julia Evans ++ 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 Karthik Mathur ++ 2 Kasim Panjri ++ 2 Katie Smith ++ 2 Katrin Leinweber ++ 2 Kee Chong Tan ++ 2 Kenny Huynh ++ 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 Maxim Veksler ++ 2 Meghana Varanasi ++ 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 Mohammed Kashif ++ 2 Monson Shao ++ 2 Muktan ++ 2 Natalie Jann ++ 2 Nathalie Rud ++ 2 Nathan Pinger ++ 2 Naveen Michaud-Agrawal ++ 2 Nick Chmura ++ 2 Nico Cernek ++ 2 Nicolas Dickreuter ++ 2 Nikhil Choudhary ++ 2 Nikhil Kumar Mengani ++ 2 Nipun Batra ++ 2 Oleg Shteynbuk ++ 2 Olga Matoula ++ 2 Oli ++ 2 Oliver Hofkens ++ 2 Ondrej Kokes ++ 2 Ondřej Čertík ++ 2 Paddy Mullen ++ 2 Pankaj Pandey ++ 2 Paolo Lammens ++ 2 Patrick Cando ++ 2 Patrick O'Keeffe ++ 2 Paul Lee ++ 2 Paul Sanders ++ 2 Pav A ++ 2 Pawel Kordek ++ 2 Pedro Reys ++ 2 Peter ++ 2 Peter Prettenhofer ++ 2 Phan Duc Nhat Minh ++ 2 Philipp A ++ 2 Pierre Haessig ++ 2 Piotr Chromiec ++ 2 Piyush Aggarwal ++ 2 Pradyumna Rahul ++ 2 Prayag Savsani ++ 2 Punitvara ++ 2 Rafal Skolasinski ++ 2 Rahul Chauhan ++ 2 Rajib Mitra ++ 2 Ravi Kumar Nimmi ++ 2 Ray Bell ++ 2 Rick ++ 2 Rinoc Johnson ++ 2 Rob Levy ++ 2 Robert Bradshaw ++ 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 Sahid Velji ++ 2 Sam Cohan ++ 2 SanthoshBala18 ++ 2 Sarah Donehower ++ 2 Saul Shanabrook ++ 2 SaÅ¡o Stanovnik ++ 2 Scott Lasley ++ 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 SylvainLan ++ 2 T. JEGHAM ++ 2 TLouf ++ 2 Tan Tran ++ 2 Tanya Jain ++ 2 Tegar D Pratama ++ 2 Theodoros Nikolaou ++ 2 Thiviyan Thanapalasingam ++ 2 Thomas J Fan ++ 2 Tiago Antao ++ 2 Tiago Requeijo ++ 2 Tim D. Smith ++ 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 Valentin Haenel ++ 2 Varad Gunjal ++ 2 Victor Villas ++ 2 Vikram Bhandoh ++ 2 Vipul Rai ++ 2 Vu Le ++ 2 Vytautas Jančauskas ++ 2 WBare ++ 2 Waltteri Koskinen ++ 2 Warren White ++ 2 Wenjun Si ++ 2 Wilfred Hughes ++ 2 Will Ayd ++ 2 Will Furnass ++ 2 WillAyd ++ 2 Wuraola Oyewusi ++ 2 Xbar ++ 2 Yan Facai ++ 2 Yassir Karroum ++ 2 Yimeng Zhang ++ 2 Yoav Ram ++ 2 Yong Kai Yi ++ 2 Yuecheng Wu ++ 2 Yutaro Ikeda ++ 2 Zach Angell ++ 2 Zak Kohler ++ 2 adatasetaday ++ 2 akittredge ++ 2 alm ++ 2 andresmcneill ++ 2 ante328 ++ 2 bashtage ++ 2 bjonen ++ 2 bolkedebruin ++ 2 broessli ++ 2 cgangwar11 ++ 2 charalampos papaloizou ++ 2 chinhwee ++ 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 gunjan-solanki ++ 2 hardikpnsp ++ 2 iamshwin ++ 2 ianzur ++ 2 jaimefrio ++ 2 jeschwar ++ 2 jlamborn324 ++ 2 jmholzer ++ 2 jmorris0x0 ++ 2 jonaslb ++ 2 joooeey ++ 2 keitakurita ++ 2 killerontherun1 ++ 2 kpapdac ++ 2 krsnik93 ++ 2 lacrosse91 ++ 2 llllllllll ++ 2 louispotok ++ 2 lrjball ++ 2 ma3da ++ 2 maroth96 ++ 2 mattip ++ 2 michaelws ++ 2 mikeronayne ++ 2 mlondschien ++ 2 mschmookler ++ 2 msund ++ 2 mtrbean ++ 2 neilkg ++ 2 nlepleux ++ 2 nsuresh ++ 2 nullptr ++ 2 ohad83 ++ 2 ottiP ++ 2 pedrooa ++ 2 phaebz ++ 2 priyankjain ++ 2 ptype ++ 2 qudade ++ 2 reidy-p ++ 2 rjfs ++ 2 rlukevie ++ 2 roch ++ 2 rvernica ++ 2 s-scherrer ++ 2 scotthavard92 ++ 2 springcoil ++ 2 srib ++ 2 ssikdar1 ++ 2 sstiijn ++ 2 svenharris ++ 2 taeold ++ 2 tiagohonorato ++ 2 tim smith ++ 2 timhunderwood ++ 2 tobycheese ++ 2 tolhassianipar ++ 2 tomneep ++ 2 tonywu1999 ++ 2 tonyyyyip ++ 2 tsdlovell ++ 2 tushushu ++ 2 tzinckgraf ++ 2 westurner ++ 2 xpvpc ++ 2 yogendrasoni ++ 1 1_x7 ++ 1 21CSM ++ 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 AbdulMAbdi ++ 1 Abhiraj Hinge ++ 1 Abo7atm ++ 1 Acanthostega ++ 1 Ada Draginda ++ 1 Adam Chainz ++ 1 Adam Gleave ++ 1 Adam Kim ++ 1 Adam Klaum ++ 1 Adam Klimont ++ 1 Adam Smith ++ 1 Adam Spannbauer ++ 1 Adam W Bagaskarta ++ 1 AdamShamlian ++ 1 Adrian ++ 1 Adrian Liaw ++ 1 Adrien Emery ++ 1 Agustín Herranz ++ 1 Aivengoe ++ 1 Ajitesh Singh ++ 1 Akash Tandon ++ 1 Akbar Septriyan ++ 1 Akos Furton ++ 1 Akshat Jain ++ 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 Thorne ++ 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 AleÅ¡ Erjavec ++ 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 Amanda Dsouza ++ 1 Amim Knabben ++ 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 AnglinaBhambra ++ 1 Anh Le ++ 1 Aniket uttam ++ 1 Anil Kumar Pallekonda ++ 1 Anjali Singh ++ 1 Ankit Dhankhar ++ 1 Ankush Dua ++ 1 Anshoo Rajput ++ 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 Arun12121 ++ 1 Arunim Samudra ++ 1 Ashish Singal ++ 1 Ashkan ++ 1 Ashlan Parker ++ 1 Ashwani ++ 1 Ashwin Prakash Nalwade ++ 1 Ashwin Srinath ++ 1 Ashwini Chaudhary ++ 1 Austin Hackett ++ 1 Avi Kelman ++ 1 Ayappan ++ 1 AyowoleT ++ 1 Ayushman Kumar ++ 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 Forbes ++ 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 Berkay ++ 1 Bernhard Thiel ++ 1 Bhavesh Poddar ++ 1 BielStela ++ 1 Bijay Regmi ++ 1 Bill Chambers ++ 1 Bjorn Arneson ++ 1 Blair ++ 1 Bob Baxley ++ 1 Bobin Mathew ++ 1 Bogdan Pilyavets ++ 1 Boris Lau ++ 1 BorisVerk ++ 1 Bradley Dice ++ 1 Brandon Rhodes ++ 1 BrenBarn ++ 1 Brendan Sullivan ++ 1 Brendan Wilby ++ 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 Almeida ++ 1 Bruno P. Kinoshita ++ 1 Bryant Moscon ++ 1 Bryce Guinta ++ 1 Byron Boulton ++ 1 C John Klehm ++ 1 C.A.M. Gerlach ++ 1 Caleb ++ 1 Caleb Braun ++ 1 Calvin Ho ++ 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 Charlie Clark ++ 1 Chase Albert ++ 1 Chathura Widanage ++ 1 Chau Hoang ++ 1 Chinmay Rane ++ 1 Chitrank Dixit ++ 1 Chris Barnes ++ 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 ChrisRobo ++ 1 Christian Berendt ++ 1 Christian Geier ++ 1 Christian Haege ++ 1 Christian Perez ++ 1 Christian Prinoth ++ 1 Christian Stade-Schuldt ++ 1 Christoph Deil ++ 1 Christoph Moehl ++ 1 Christoph Paulik ++ 1 Christopher Hadley ++ 1 Christopher Scanlin ++ 1 Chu Qing Hao ++ 1 Cihan Ceyhan ++ 1 Clearfield Christopher ++ 1 Clemens Tolboom ++ 1 Clément Robert ++ 1 Cody Piersall ++ 1 Coelhudo ++ 1 Colin ++ 1 Connor Charles ++ 1 Constantine Glen Evans ++ 1 Corentin Girard ++ 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 Damodara Puddu ++ 1 Dan Davison ++ 1 Dan Dixey ++ 1 Dan Moore ++ 1 DanBasson ++ 1 Daniel Chen ++ 1 Daniel Frank ++ 1 Daniel Garrido ++ 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 Dare Adewumi ++ 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 Kwong ++ 1 David Liu ++ 1 David Lutz ++ 1 David Polo ++ 1 David Rasch ++ 1 David Read ++ 1 David Rouquet ++ 1 David S ++ 1 David Schlachter ++ 1 David Wolever ++ 1 David Zaslavsky ++ 1 David-dmh ++ 1 DavidRosen ++ 1 Dean ++ 1 Dean Langsam ++ 1 Deepak Pandey ++ 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 Dmitriy Perepelkin ++ 1 Dmitry L ++ 1 Dobatymo ++ 1 Dody Suria Wijaya ++ 1 Dominik Stanczak ++ 1 Donald Curtis ++ 1 DorAmram ++ 1 Doris Lee ++ 1 Dorothy Kabarozi ++ 1 Dorozhko Anton ++ 1 Doug Coleman ++ 1 Dr. Jan-Philip Gehrcke ++ 1 Dr. Leo ++ 1 DrIrv ++ 1 Drew Fustin ++ 1 Drew Heenan ++ 1 Drewrey Lupton ++ 1 Dylan Dmitri Gray ++ 1 Dylan Percy ++ 1 Dāgs GrÄ«nbergs ++ 1 ETF ++ 1 Eduardo Blancas Reyes ++ 1 Ehsan Azarnasab ++ 1 Eli Treuherz ++ 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 Goddard ++ 1 Eric Groszman ++ 1 Eric Kisslinger ++ 1 Eric O. LEBIGOT (EOL) ++ 1 Eric Stein ++ 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 Ethan Chen ++ 1 Eunseop Jeong ++ 1 Evan ++ 1 Evan D ++ 1 Evan Kanter ++ 1 Evan Livelo ++ 1 Eyal Trabelsi ++ 1 Eyden Villanueva ++ 1 FAN-GOD ++ 1 Fabien Aulaire ++ 1 Fabrizio Pollastri ++ 1 Fakabbir Amin ++ 1 Fei Phoon ++ 1 Felix Claessen ++ 1 Felix Lawrence ++ 1 Felix Marczinowski ++ 1 Fer Sar ++ 1 Fernando Margueirat ++ 1 Fernando Perez ++ 1 Filip Ter ++ 1 Finlay Maguire ++ 1 Flavien Lambert ++ 1 Florian Müller ++ 1 Florian Rathgeber ++ 1 Florian Roscheck ++ 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 Moreira ++ 1 Gabriel Reid ++ 1 Gabriel de Maeztu ++ 1 Gaibo Zhang ++ 1 Gaurav Chauhan ++ 1 Gaurav Sheni ++ 1 Gaëtan de Menten ++ 1 Geoffrey B. Eisenbarth ++ 1 George Kuan ++ 1 Georgi Baychev ++ 1 Gerard Jorgensen ++ 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 Hao Wu ++ 1 Harsh Nisar ++ 1 Harsh Sharma ++ 1 Harshit Patni ++ 1 Harutaka Kawamura ++ 1 Hassan Shamim ++ 1 Hatem Nassrat ++ 1 Heidi ++ 1 Hendrik Makait ++ 1 Henry ++ 1 Henry Hammond ++ 1 Hissashi Rocha ++ 1 Hsiaoming Yang ++ 1 Huan Li ++ 1 Hugo Herter ++ 1 Huize Wang ++ 1 Hung-Yi Wu ++ 1 Hussain Tamboli ++ 1 Ian Dunn ++ 1 Ian Hoegen ++ 1 Ian Ozsvald ++ 1 Ibrahim Sharaf ElDen ++ 1 Ignacio Vergara Kausel ++ 1 Ignasi Fosch ++ 1 Igor Conrado Alves de Lima ++ 1 Igor Filippov ++ 1 Igor Gotlibovych ++ 1 Igor Shelvinskyi ++ 1 Illia Polosukhin ++ 1 Imanflow ++ 1 Inevitable-Marzipan ++ 1 Isaac Chung ++ 1 Isaac Schwabacher ++ 1 Isaac Slavitt ++ 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 Jack Liu ++ 1 Jackie Leng ++ 1 Jacob Austin ++ 1 Jacob Buckheit ++ 1 Jacob Bundgaard ++ 1 Jacob Deppen ++ 1 Jacob Howard ++ 1 Jacob Stevens-Haas ++ 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 Lamb ++ 1 James McBride ++ 1 James Santucci ++ 1 James Winegar ++ 1 Jan F-F ++ 1 Jan Müller ++ 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 Jeff Hernandez ++ 1 Jeffrey Starr ++ 1 Jenn Olsen ++ 1 Jeongmin Yu ++ 1 Jered Dominguez-Trujillo ++ 1 Jeremy Wagner ++ 1 Jerod Estapa ++ 1 Jesse Pardue ++ 1 Jiezheng2018 ++ 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 Joao Pedro Berno Zanutto ++ 1 Joaquim L. Viegas ++ 1 Jody Klymak ++ 1 Joel Whittier ++ 1 Joerg Rittinger ++ 1 Joeun Park ++ 1 Johan KÃ¥hrström ++ 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 Laursen ++ 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 ++ 1 Jose Manuel Martí ++ 1 Jose Rivera-Rubio ++ 1 Joseph Gulian ++ 1 JosephWagner ++ 1 Josh Howes ++ 1 Josh Levy-Kramer ++ 1 Josh Owen ++ 1 Josh Temple ++ 1 Joshua Bradt ++ 1 Joshua Klein ++ 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 Julian Schnitzler ++ 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 Lin ++ 1 Justin Sexton ++ 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 Kassandra Keeton ++ 1 Katherine Surta ++ 1 Katherine Younglove ++ 1 Katie Atkinson ++ 1 Kaushal Rohit ++ 1 Keiron Pizzey ++ 1 Keith Kraus ++ 1 Keith Webber ++ 1 Kelly ++ 1 Keming Zhang ++ 1 Ken Mankoff ++ 1 Ken Van Haren ++ 1 Kenil ++ 1 Kenneth ++ 1 Ketan ++ 1 Kevin Anderson ++ 1 Kevin Kuhl ++ 1 Kevin Markham ++ 1 Kevin Nguyen ++ 1 Khor Chean Wei ++ 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 Kumar Shivam ++ 1 Kurtis Kerstein ++ 1 Kyle ++ 1 Kyle Boone ++ 1 Kyle Hausmann ++ 1 Kyle Kosic ++ 1 Kyle McCahill ++ 1 Laksh Arora ++ 1 Larry Ren ++ 1 Larry Wong ++ 1 Laurens Geffert ++ 1 Laurent Gautier ++ 1 Leon Yin ++ 1 Leonardus Chen ++ 1 Levi Matus ++ 1 Lewis Cowles ++ 1 Li Jin ++ 1 Liam Marshall ++ 1 Lightyears ++ 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 Lucas Holtz ++ 1 Lucca Delchiaro Costabile ++ 1 Luciano Viola ++ 1 Lucky Sivagurunathan ++ 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 Maciej Kos ++ 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 Maria-Alexandra Ilie ++ 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 Dengler ++ 1 Martin Fleischmann ++ 1 Martin Grigorov ++ 1 Martin Jones ++ 1 Martin Journois ++ 1 Marty Rudolf ++ 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 Maxim Kupfer ++ 1 Mayank Asthana ++ 1 Mayank Bisht ++ 1 Mayank Chaudhary ++ 1 Mayur ++ 1 Megan Thong ++ 1 Mehmet Ali "Mali" Akmanalp ++ 1 Metehan Kutlu ++ 1 Micah Smith ++ 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 Michel de Ruiter ++ 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 Mike Roberts ++ 1 Mikolaj Chwalisz ++ 1 Milo ++ 1 Min ho Kim ++ 1 MinGyo Jung ++ 1 MinRK ++ 1 Misha Veldhoen ++ 1 Mohit Anand ++ 1 Monica ++ 1 Montana Low ++ 1 Moonsoo Kim ++ 1 Morgan Stuart ++ 1 Morgan243 ++ 1 Morisa Manzella ++ 1 Moritz Münst ++ 1 Morton Fox ++ 1 Moussa Taifi ++ 1 Muhammad Haseeb Tariq ++ 1 Mukul Ashwath Ram ++ 1 MusTheDataGuy ++ 1 Mykola Golubyev ++ 1 Nagesh Kumar C ++ 1 Nanda H Krishna ++ 1 Nate Armstrong ++ 1 Nate George ++ 1 Nathan Ford ++ 1 Nathan Sanders ++ 1 Nathan Typanski ++ 1 Nathanael ++ 1 Naveen Agrawal ++ 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 Nidhi Zare ++ 1 Nigel Markey ++ 1 Niklas Weber ++ 1 Nikoleta Glynatsi ++ 1 Nikos Karagiannakis ++ 1 Nipun Sadvilkar ++ 1 Nis Martensen ++ 1 Noah Spies ++ 1 Nolan Nichols ++ 1 Noora Husseini ++ 1 Noritada Kobayashi ++ 1 Noémi Éltető ++ 1 Number42 ++ 1 ObliviousParadigm ++ 1 Oktay Sabak ++ 1 Olga Lyashevska ++ 1 Olivier Bilodeau ++ 1 Olivier Harris ++ 1 Omar Afifi ++ 1 Omer Ozarslan ++ 1 Onno Eberhard ++ 1 Osman ++ 1 Owen Lamont ++ 1 Ozan Öğreden ++ 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 McCarthy ++ 1 Paul Mestemaker ++ 1 Paul Reiners ++ 1 Paul Siegel ++ 1 Paul van Mulbregt ++ 1 Paula ++ 1 Paulo Roberto de Oliveira Castro ++ 1 Paulo S. Costa ++ 1 Pax ++ 1 Pearcekieser ++ 1 Pedro Larroy ++ 1 Peng Yu ++ 1 Pepe Flores ++ 1 Pete Huang ++ 1 Peter Bull ++ 1 Peter Csizsek ++ 1 Peter Hoffmann ++ 1 Peter Liu ++ 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 Cerles ++ 1 Philip Gura ++ 1 Philippe Ombredanne ++ 1 Pierre-Yves Bourguignon ++ 1 Piotr Kasprzyk ++ 1 Prabhjot Singh ++ 1 Pradyumna Reddy Chinthala ++ 1 Pranav Suri ++ 1 Pranjal Bhardwaj ++ 1 Prashant Anand ++ 1 Pratap Vardhan ++ 1 Priyanka Ojha ++ 1 Puneeth K ++ 1 Puneetha Pai ++ 1 Purushothaman Srikanth ++ 1 Pyry Kovanen ++ 1 QP Hou ++ 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 Red ++ 1 Redonnet Louis ++ 1 RenzoBertocchi ++ 1 Reshama Shaikh ++ 1 Rhys Parry ++ 1 Ricardo Alanis ++ 1 Richard Eames ++ 1 Richard Lewis ++ 1 Ridhwan Luthra ++ 1 Rishipuri ++ 1 Rob Forgione ++ 1 Rob deCarvalho ++ 1 Robert ++ 1 Robert Gibboni ++ 1 Robert Kern ++ 1 Robin Kiplang'at ++ 1 RobinFiveWords ++ 1 Rodolfo Fernandez ++ 1 Rohan Pandit ++ 1 Rohit Gupta ++ 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 S Mono ++ 1 S.TAKENO ++ 1 SAI SRAVAN MEDICHERLA ++ 1 SEUNG HOON, SHIN ++ 1 SHUBH CHATTERJEE ++ 1 Sakar Panta ++ 1 Sam Cohen ++ 1 Sam Ezebunandu ++ 1 Sam Purkis ++ 1 Sam Zhang ++ 1 Sami Salonen ++ 1 Samir Musali ++ 1 Samira-g-js ++ 1 Samuel Denny ++ 1 Samuel GIFFARD ++ 1 Samyak Jain ++ 1 Sandeep Pathak ++ 1 Sander ++ 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 Satrio H Wicaksono ++ 1 Saumitra Shahapure ++ 1 Schaer, Jacob C ++ 1 Scott Cole ++ 1 Scott Gigante ++ 1 Scott McAllister ++ 1 Scott Talbert ++ 1 SdgJlbl ++ 1 Sean Chan ++ 1 Sean M. Law ++ 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 Sharon Woo ++ 1 Shashank Agarwal ++ 1 Shengpu Tang ++ 1 ShilpaSugan ++ 1 Shirish Kadam ++ 1 Shiv Gupta ++ 1 Shrey Dixit ++ 1 Shubham Chaudhary ++ 1 Shubham Mehra ++ 1 Shudong Yang ++ 1 Shyam Saladi ++ 1 SiYoungOh ++ 1 Siddhesh Poyarekar ++ 1 Sidharthan Nair ++ 1 Simon Boehm ++ 1 Simon Legner ++ 1 Simon Riddell ++ 1 SimonBaron ++ 1 Sioned Baker ++ 1 Siu Kwan Lam ++ 1 Sixuan (Cherie) Wu ++ 1 Soham Tiwari ++ 1 Song Wenhao ++ 1 Sourav kumar ++ 1 Souris Ash ++ 1 Soyoun Kim ++ 1 Spencer Carrucciu ++ 1 Spencer Clark ++ 1 SplashDance ++ 1 Stefan Mejlgaard ++ 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 Steven Pitman ++ 1 Steven Schaerer ++ 1 Stewart Henderson ++ 1 Stuart Berg ++ 1 Stéphane Guillou ++ 1 Sudarshan Konge ++ 1 Sudeep ++ 1 SultanOrazbayev ++ 1 Sumin Byeon ++ 1 SurajH1 ++ 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 Heavey ++ 1 Thomas Kluiters ++ 1 Thomas Lentali ++ 1 Thomas Wiecki ++ 1 ThomasBlauthQC ++ 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 Tomasz Sakrejda ++ 1 Tommy Lynch ++ 1 Tomáš Chvátal ++ 1 Tong Shen ++ 1 Travis ++ 1 Triple0 ++ 1 Tuan ++ 1 Tuhin Mahmud ++ 1 Tulio Casagrande ++ 1 Ty Mick ++ 1 Unprocessable ++ 1 Upkar Lidder ++ 1 Utkarsh Upadhyay ++ 1 Uwe ++ 1 Uwe Hoffmann ++ 1 Vadym Barda ++ 1 Valentin Iovene ++ 1 Vandana Iyer ++ 1 Venaturum ++ 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 Vikramaditya Gaonkar ++ 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 Vladimir Podolskiy ++ 1 Vladislav ++ 1 Vyom Jain ++ 1 Víctor Moron Tejero ++ 1 W.R ++ 1 Weiwen Gu ++ 1 Wesley Boelrijk ++ 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 Yeshwanth N ++ 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 Yuya Takashina ++ 1 Zach Brookler ++ 1 Zach Dwiel ++ 1 Zach Rait ++ 1 Zachary Lawrence ++ 1 Zaky Bilfagih ++ 1 Zeb Nicholls ++ 1 Zeke ++ 1 ZhihuiChen0903 ++ 1 Zihao Zhao ++ 1 aaron315 ++ 1 abaldenko ++ 1 abarber4gh ++ 1 aberres ++ 1 abmyii ++ 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 alexhtn ++ 1 alinde1 ++ 1 amphy ++ 1 amuta ++ 1 andhikayusup ++ 1 andymaheshw ++ 1 ankostis ++ 1 anton-d ++ 1 araraonline ++ 1 asharma13524 ++ 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 cdknox ++ 1 chaimdemulder ++ 1 chappers ++ 1 charlie0389 ++ 1 chebee7i ++ 1 chernrick ++ 1 chinggg ++ 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 danchev ++ 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 ebardie ++ 1 economy ++ 1 eduardo naufel schettino ++ 1 edwardkong ++ 1 ejnens ++ 1 elmonsomiat ++ 1 elrubio ++ 1 emilydolson ++ 1 endenis ++ 1 engstrom ++ 1 enisnazif ++ 1 epizzigoni ++ 1 est271 ++ 1 estasney ++ 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 gabicca ++ 1 gabrielclow ++ 1 ganego ++ 1 garanews ++ 1 geetha-rangaswamaiah ++ 1 gfr ++ 1 goldenbull ++ 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 icanhazcodeplz ++ 1 ignamv ++ 1 igorfassen ++ 1 iulia ++ 1 ivanovmg ++ 1 jackieleng ++ 1 jalazbe ++ 1 jalbritt ++ 1 jamesoliverh ++ 1 jamin-aws-ospo ++ 1 jaredsnyder ++ 1 jayfoad ++ 1 jazzmuesli ++ 1 jebob ++ 1 jeps-journal ++ 1 jfcorbett ++ 1 jfoo ++ 1 jh-wu ++ 1 jjames34 ++ 1 jkovacevic ++ 1 jniznan ++ 1 joaoavf ++ 1 joders ++ 1 jojomdt ++ 1 jordi-crespo ++ 1 josham ++ 1 jotasi ++ 1 joy-rosie ++ 1 jsexauer ++ 1 juan huguet ++ 1 juliansmidek ++ 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 l736x ++ 1 larvian ++ 1 leandermaben ++ 1 leerssej ++ 1 lenolib ++ 1 leo ++ 1 lexy-lixinyu ++ 1 lgautier ++ 1 link2xt ++ 1 lloydkirk ++ 1 lodagro ++ 1 lpkirwin ++ 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 mavismonica ++ 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 morrme ++ 1 mpuels ++ 1 mschmohl ++ 1 mwaskom ++ 1 na2 ++ 1 naveenkaushik2504 ++ 1 nguevara ++ 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 parkdj1 ++ 1 paul-mannino ++ 1 pbreach ++ 1 peadarcoyle ++ 1 peterpanmj ++ 1 philipphanemann ++ 1 pijucha ++ 1 pizzathief ++ 1 pmaxey83 ++ 1 pqzx ++ 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 rosagold ++ 1 rs2 ++ 1 ruiann ++ 1 rxxg ++ 1 s-weigand ++ 1 sage ++ 1 sagungrp ++ 1 sakkemo ++ 1 salem3358 ++ 1 saloni30 ++ 1 samghelms ++ 1 samilAyoub ++ 1 sanderland ++ 1 sangarshanan ++ 1 sanguineturtle ++ 1 sardonick ++ 1 saskakarsi ++ 1 saucoide ++ 1 saurav2608 ++ 1 scriptomation ++ 1 sdementen ++ 1 seales ++ 1 sfoo ++ 1 shaido987 ++ 1 sideeye ++ 1 silentquasar ++ 1 skwbc ++ 1 sm1899 ++ 1 smartswdeveloper ++ 1 someben ++ 1 ssortman ++ 1 stahlous ++ 1 stas-sl ++ 1 stefansimik ++ 1 step4me ++ 1 stephenwlin ++ 1 steveayers124 ++ 1 steveya ++ 1 stijnvanhoey ++ 1 stphnlyd ++ 1 sudhir mohanraj ++ 1 sukriti1 ++ 1 surveymedia.ca ++ 1 svaksha ++ 1 syutbai ++ 1 tadashigaki ++ 1 tadeja ++ 1 tamuhey ++ 1 testvinder ++ 1 thauck ++ 1 the-nose-knows ++ 1 theOehrly ++ 1 theandygross ++ 1 themrmax ++ 1 theodorju ++ 1 thordisstella ++ 1 thuske ++ 1 timcera ++ 1 tkmz-n ++ 1 tlaytongoogle ++ 1 tnwei ++ 1 tom-alcorn ++ 1 tomascassidy ++ 1 tomrod ++ 1 tpanza ++ 1 tsinggggg ++ 1 tworec ++ 1 venkateshdatta1993 ++ 1 verakai ++ 1 vineethraj510 ++ 1 vivikelapoutre ++ 1 vkk800 ++ 1 vladu ++ 1 vmdhhh ++ 1 vytas ++ 1 wandersoncferreira ++ 1 watercrossing ++ 1 wavedatalab ++ 1 wertha ++ 1 willbowditch ++ 1 willweil ++ 1 winlu ++ 1 xgdgsc ++ 1 xinrong-databricks ++ 1 yehia67 ++ 1 yelite ++ 1 yhaque1213 ++ 1 ym-pett ++ 1 yonashub ++ 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 Ádám Lippai ++ 1 Åsmund Hjulstad ++ 1 Øystein S. Haaland ++ 1 颜发才(Yan Facai) ++ ++Debian packaging ++ 323 Yaroslav Halchenko ++ 267 Rebecca N. Palmer ++ 49 Mo Zhou ++ 38 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 00000000,00000000..7214f580 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,182 @@@ ++Source: pandas ++Maintainer: Debian Science Team ++Uploaders: Yaroslav Halchenko , ++ Michael Hanke , ++ Rebecca N. Palmer ++Section: python ++Priority: optional ++Build-Depends: debhelper-compat (= 13), ++ dh-python, ++ locales-all, ++ python3-all-dev, ++ cython3 (>= 0.29.24~), ++ python3-bottleneck , ++ python3-bs4 , ++ python3-dask (>= 2.10.1~) , ++ python3-dateutil, ++ python3-html5lib , ++ python3-hypothesis , ++ python3-jinja2 , ++ python3-lxml , ++ python3-matplotlib [!ia64 !sh4 !x32] , ++# armel, s390x numba crash, mipsel gives wrong answer, most ports don't have numba ++ python3-numba (>= 0.46.0~) [amd64 arm64 armhf i386 mips64el mipsel ppc64el s390x] , ++ python3-numexpr (>= 2.7~) , ++ python3-numpy, ++ python3-odf , ++ python3-openpyxl , ++ python3-pytest (>= 6.0~) , ++ python3-pytest-asyncio , ++ python3-pytest-forked , ++ python3-pytest-xdist , ++ python3-scipy, ++ python3-setuptools, ++ python3-six, ++ python3-tables , ++ python3-tabulate (>= 0.8.3~) , ++ python3-tk , ++ python3-tz , ++ python3-xlrd , ++ python3-xlsxwriter , ++ python3-xlwt , ++ sphinx-common, ++ xvfb , ++ xauth , ++ xclip ++Build-Depends-Indep: python3-sphinx , ++ python3-ipykernel , ++ python3-nbconvert (>= 5.4.1~) , ++ python3-nbsphinx , ++ python3-numpydoc , ++ ipython3 (>= 7.11.1~) , ++ jdupes , ++# for style.ipynb ++#fails with KeyError 'state' pandoc , ++# for intersphinx inventories ++ python3-doc , ++ python-numpy-doc , ++ python-scipy-doc , ++ python-matplotlib-doc , ++ python-statsmodels-doc , ++# 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 , ++ python3-ipywidgets , ++ python3-rpy2 , ++ python3-seaborn , ++ python3-sqlalchemy , ++ python3-statsmodels , ++ python3-xarray ++Standards-Version: 4.6.0 ++Vcs-Browser: https://salsa.debian.org/science-team/pandas ++Vcs-Git: https://salsa.debian.org/science-team/pandas.git ++Homepage: https://pandas.pydata.org/ ++Rules-Requires-Root: no ++ ++Package: python3-pandas ++Architecture: all ++Depends: ${misc:Depends}, ++ ${python3:Depends}, ++ python3-numpy, ++ python3-dateutil, ++ 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-statsmodels (<< 0.11.0~), ++ python3-seaborn (<< 0.9.1~), ++# 1.0 -> 1.1 API breaks, #969650 ++ python3-dask (<< 2.11.0+dfsg-1.1~), ++# 1.1 -> 1.3 API breaks, see #999415 ++ python3-cfgrib (<= 0.9.9-1), ++ python3-joypy (<= 0.2.2-2), ++ python3-cooler (<= 0.8.8-1), ++ python3-skbio (<= 0.5.6-5) ++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 ++Multi-Arch: foreign ++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 ++# 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. diff --cc debian/copyright index 00000000,00000000..c055075b new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,741 @@@ ++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 ++ .circleci ++ .github ++ .gitignore ++ .gitattributes ++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-2021 AQR Capital Management, LLC, Lambda Foundry, Inc., PyData Development Team, Open source contributors ++License: BSD-3 ++Comment: Lumped together as notices disagree on which ones are which years. See contributors_list.txt for a full list of commit authors. 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 , Pauli Virtanen ++License: BSD-2 ++ ++Files: doc/sphinxext/announce.py ++Copyright: 2001-2017 Enthought, Inc. and SciPy Developers. ++ 2017-2021 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 ++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-2021 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-2021 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 ++ 2012-2014 - Tomi Pieviläinen ++ 2014-2016 - Yaron de Leeuw ++ 2015-2017 - Paul Ganssle ++ 2015-2017 - dateutil contributors (see AUTHORS file) ++ 2008-2021, 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-2021 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-2021 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-2021 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-2021 Lambda Foundry, Inc. and PyData Development Team ++License: BSD-3 ++Origin: Pyperclip ++ ++Files: pandas/io/sas/sas7bdat.py ++Copyright: 2015 Jared Hobbs ++ 2016-2021 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: scripts/no_bool_in_generic.py ++Copyright: 2017 Anthony Sottile ++ 2021 Lambda Foundry, Inc. and PyData Development Team ++License: Expat and BSD-3 ++Origin: pyupgrade (partly) ++ ++Files: setup.py ++Copyright: 2009-2012, Brian Granger, Min Ragan-Kelley (from pyzmq) ++ 2004 Infrae (from lxml) ++ 2008-2021, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team ++License: BSD-3 ++ ++Files: debian/* ++Copyright: 2011-2018, Yaroslav Halchenko ++ 2019-2021, 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 00000000,00000000..1422e2cf new file mode 100644 --- /dev/null +++ b/debian/gbp.conf @@@ -1,0 -1,0 +1,7 @@@ ++[DEFAULT] ++# the default branch for upstream sources: ++upstream-branch = master ++# the default branch for the debian patch: ++debian-branch = debian ++ ++ diff --cc debian/patches/35080_plot_tests.patch index 00000000,00000000..12bd09f5 new file mode 100644 --- /dev/null +++ b/debian/patches/35080_plot_tests.patch @@@ -1,0 -1,0 +1,16 @@@ ++Description: Clean up so test_ts_plot_with_tz doesn't fail ++ ++Author: Steffen Rehberg, Rebecca N. Palmer ++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 ++@@ -132,6 +132,7 @@ class TestRegistration: ++ # Test without registering first, no warning ++ with ctx: ++ ax.plot(s.index, s.values) +++ plt.clf() ++ ++ # Now test with registering ++ register_matplotlib_converters() diff --cc debian/patches/968208_rounding.patch index 00000000,00000000..aac85cfa new file mode 100644 --- /dev/null +++ b/debian/patches/968208_rounding.patch @@@ -1,0 -1,0 +1,27 @@@ ++Description: Don't fail test for rounding difference on i386 ++ ++Author: Rebecca N. Palmer ++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,3 +1,7 @@ +++import sys +++import platform +++import re +++ ++ import numpy as np ++ import pytest ++ ++@@ -585,7 +589,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(): diff --cc debian/patches/979621_dead_url.patch index 00000000,00000000..dee2ebcc new file mode 100644 --- /dev/null +++ b/debian/patches/979621_dead_url.patch @@@ -1,0 -1,0 +1,28 @@@ ++Description: Stop using now-dead URL in tests/examples ++ ++Origin: loosely based on upstream commit 68db2d26ddb5f95de4254d61b850d3dcaf6ce717 ++Author: patrick "phofl", Rebecca N. Palmer ++Bug: https://github.com/pandas-dev/pandas/issues/38988 ++Bug-Debian: https://bugs.debian.org/979621 ++Forwarded: no ++ ++--- a/pandas/tests/io/test_html.py +++++ b/pandas/tests/io/test_html.py ++@@ -137,7 +137,7 @@ class TestReadHtml: ++ @pytest.mark.xfail(reason="Html file was removed") ++ @tm.network ++ def test_banklist_url_positional_match(self): ++- 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" ++ # Passing match argument as positional should cause a FutureWarning. ++ with tm.assert_produces_warning(FutureWarning): ++ df1 = self.read_html( ++@@ -151,7 +151,7 @@ class TestReadHtml: ++ @pytest.mark.xfail(reason="Html file was removed") ++ @tm.network ++ def test_banklist_url(self): ++- 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" ++ df1 = self.read_html( ++ url, match="First Federal Bank of Florida", attrs={"id": "table"} ++ ) diff --cc debian/patches/contributor_list_not_in_tarball.patch index 00000000,00000000..460313b8 new file mode 100644 --- /dev/null +++ b/debian/patches/contributor_list_not_in_tarball.patch @@@ -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 ++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()] diff --cc debian/patches/deb_disable_googleanalytics.patch index 00000000,00000000..a541430f new file mode 100644 --- /dev/null +++ b/debian/patches/deb_disable_googleanalytics.patch @@@ -1,0 -1,0 +1,82 @@@ ++Author: Yaroslav Halchenko ++ Andreas Tille ++ Rebecca N. Palmer ++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 @@ ++ ++ ++ ++- ++- +++ ++ ++ ++ ++@@ -794,4 +758,4 @@ handler: function() {this.cancel();}, ++   Software v.1.2.2 ++ ++ ++- ++\ No newline at end of file +++ ++--- a/web/pandas/_templates/layout.html +++++ b/web/pandas/_templates/layout.html ++@@ -1,14 +1,6 @@ ++ ++ ++ ++- ++ pandas - Python Data Analysis Library ++ ++ diff --cc debian/patches/deb_doc_donotoverride_PYTHONPATH.patch index 00000000,00000000..50db7b19 new file mode 100644 --- /dev/null +++ b/debian/patches/deb_doc_donotoverride_PYTHONPATH.patch @@@ -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 ++@@ -354,8 +354,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 diff --cc debian/patches/deb_nonversioneer_version.patch index 00000000,00000000..09d351af new file mode 100644 --- /dev/null +++ b/debian/patches/deb_nonversioneer_version.patch @@@ -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 ++@@ -179,13 +179,7 @@ from pandas.util._tester import test ++ import pandas.testing ++ import pandas.arrays ++ ++-# use the closest tagged version if possible ++-from pandas._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 ++--- a/pandas/tests/api/test_api.py +++++ b/pandas/tests/api/test_api.py ++@@ -198,7 +198,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 ++@@ -133,7 +133,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__ diff --cc debian/patches/find_test_data.patch index 00000000,00000000..5b726176 new file mode 100644 --- /dev/null +++ b/debian/patches/find_test_data.patch @@@ -1,0 -1,0 +1,66 @@@ ++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 ++Forwarded: not-needed ++ ++--- a/pandas/conftest.py +++++ b/pandas/conftest.py ++@@ -29,6 +29,7 @@ from datetime import ( ++ from decimal import Decimal ++ import operator ++ import os +++import argparse ++ ++ from dateutil.tz import ( ++ tzlocal, ++@@ -90,6 +91,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): ++@@ -1002,7 +1004,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. ++ ++@@ -1020,7 +1022,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") ++ ++--- a/pandas/tests/io/formats/style/test_html.py +++++ b/pandas/tests/io/formats/style/test_html.py ++@@ -36,6 +36,7 @@ def tpl_table(): ++ return env.get_template("html_table.tpl") ++ ++ +++@pytest.mark.xfail(reason="--deb-data-root-dir is expected to break this",strict=False) ++ def test_html_template_extends_options(): ++ # make sure if templates are edited tests are updated as are setup fixtures ++ # to understand the dependency diff --cc debian/patches/fix_overly_arch_specific_xfails.patch index 00000000,00000000..5c18bfa1 new file mode 100644 --- /dev/null +++ b/debian/patches/fix_overly_arch_specific_xfails.patch @@@ -1,0 -1,0 +1,120 @@@ ++Description: Fix arch-specific upstream xfails ++ ++We test on more architectures, so upstream's xfails are not always ++correct everywhere. On those known to fail: ++arm64 xfail -> all non-x86 xfail ++x86 or unconditional strict xfail -> unconditional nonstrict xfail ++ ++Author: Rebecca N. Palmer ++Bug: https://github.com/pandas-dev/pandas/issues/38921, https://github.com/pandas-dev/pandas/issues/38798, https://github.com/pandas-dev/pandas/issues/41740, https://github.com/numpy/numpy/issues/19146 ++Forwarded: no ++ ++--- pandas-1.3.4+dfsg.orig/pandas/tests/window/test_rolling.py +++++ pandas-1.3.4+dfsg/pandas/tests/window/test_rolling.py ++@@ -10,6 +10,10 @@ from pandas.compat import ( ++ is_platform_arm, ++ is_platform_mac, ++ ) +++import platform +++import re +++is_platform_x86 = bool(re.match('i.?86|x86',platform.uname()[4])) +++ ++ from pandas.errors import UnsupportedFunctionCall ++ ++ from pandas import ( ++@@ -1115,7 +1119,7 @@ def test_rolling_sem(frame_or_series): ++ tm.assert_series_equal(result, expected) ++ ++ ++-@pytest.mark.xfail(is_platform_arm() and not is_platform_mac(), reason="GH 38921") +++@pytest.mark.xfail(not is_platform_x86, strict=False, reason="GH 38921") ++ @pytest.mark.parametrize( ++ ("func", "third_value", "values"), ++ [ ++--- a/pandas/tests/groupby/test_groupby.py +++++ b/pandas/tests/groupby/test_groupby.py ++@@ -2321,7 +2321,7 @@ def test_groupby_series_with_tuple_name(): ++ tm.assert_series_equal(result, expected) ++ ++ ++-@pytest.mark.xfail(not IS64, reason="GH#38778: fail on 32-bit system") +++@pytest.mark.xfail(not IS64, reason="GH#38778: fail on 32-bit system", strict=False) ++ @pytest.mark.parametrize( ++ "func, values", [("sum", [97.0, 98.0]), ("mean", [24.25, 24.5])] ++ ) ++@@ -2334,7 +2334,7 @@ def test_groupby_numerical_stability_sum_mean(func, values): ++ tm.assert_frame_equal(result, expected) ++ ++ ++-@pytest.mark.xfail(not IS64, reason="GH#38778: fail on 32-bit system") +++@pytest.mark.xfail(not IS64, reason="GH#38778: fail on 32-bit system", strict=False) ++ def test_groupby_numerical_stability_cumsum(): ++ # GH#38934 ++ data = [1e16, 1e16, 97, 98, -5e15, -5e15, -5e15, -5e15] ++--- a/pandas/tests/indexes/interval/test_astype.py +++++ b/pandas/tests/indexes/interval/test_astype.py ++@@ -20,6 +20,9 @@ from pandas import ( ++ interval_range, ++ ) ++ import pandas._testing as tm +++import platform +++import re +++is_platform_x86 = bool(re.match('i.?86|x86',platform.uname()[4])) ++ ++ ++ class AstypeTests: ++@@ -170,7 +173,7 @@ class TestFloatSubtype(AstypeTests): ++ ) ++ tm.assert_index_equal(result, expected) ++ ++- @pytest.mark.xfail(is_platform_arm(), reason="GH 41740") +++ @pytest.mark.xfail(not is_platform_x86, reason="GH 41740", strict=False) ++ def test_subtype_integer_errors(self): ++ # float64 -> uint64 fails with negative values ++ index = interval_range(-10.0, 10.0) ++--- a/pandas/tests/indexes/numeric/test_numeric.py +++++ b/pandas/tests/indexes/numeric/test_numeric.py ++@@ -533,7 +533,7 @@ class TestUInt64Index(NumericInt): ++ tm.assert_index_equal(res, idx) ++ ++ @pytest.mark.xfail( ++- not is_platform_arm(), +++ strict=False, ++ reason="https://github.com/numpy/numpy/issues/19146", ++ ) ++ def test_constructor_does_not_cast_to_float(self): ++--- a/pandas/tests/tools/test_to_numeric.py +++++ b/pandas/tests/tools/test_to_numeric.py ++@@ -752,7 +752,7 @@ def test_to_numeric_from_nullable_string(values, nullable_string_dtype, expected ++ "UInt64", ++ "signed", ++ "UInt64", ++- marks=pytest.mark.xfail(not is_platform_arm(), reason="GH38798"), +++ marks=pytest.mark.xfail(strict=False, reason="GH38798"), ++ ), ++ ([1, 1], "Int64", "unsigned", "UInt8"), ++ ([1.0, 1.0], "Float32", "unsigned", "UInt8"), ++--- a/pandas/tests/io/parser/test_c_parser_only.py +++++ b/pandas/tests/io/parser/test_c_parser_only.py ++@@ -26,6 +26,9 @@ from pandas import ( ++ concat, ++ ) ++ import pandas._testing as tm +++import platform +++import re +++is_platform_x86 = bool(re.match('i.?86|x86',platform.uname()[4])) ++ ++ ++ @pytest.mark.parametrize( ++@@ -673,9 +676,9 @@ def test_float_precision_options(c_parser_only): ++ ++ df3 = parser.read_csv(StringIO(s), float_precision="legacy") ++ ++- if IS64: +++ if is_platform_x86 and IS64: ++ assert not df.iloc[0, 0] == df3.iloc[0, 0] ++- else: +++ elif is_platform_x86: ++ assert df.iloc[0, 0] == df3.iloc[0, 0] ++ ++ msg = "Unrecognized float_precision option: junk" diff --cc debian/patches/fix_random_seeds.patch index 00000000,00000000..63a32f77 new file mode 100644 --- /dev/null +++ b/debian/patches/fix_random_seeds.patch @@@ -1,0 -1,0 +1,35 @@@ ++Description: Use fixed seeds for reproducible pseudorandomness ++ ++Author: Rebecca N. Palmer ++Forwarded: no ++ ++--- a/doc/source/getting_started/comparison/comparison_with_r.rst +++++ b/doc/source/getting_started/comparison/comparison_with_r.rst ++@@ -241,6 +241,7 @@ In pandas we may use :meth:`~pandas.pivo ++ ++ import random ++ import string +++ random.seed(123456) # for reproducibility ++ ++ baseball = pd.DataFrame( ++ { ++--- a/doc/source/user_guide/advanced.rst +++++ b/doc/source/user_guide/advanced.rst ++@@ -595,6 +595,7 @@ they need to be sorted. As with any inde ++ ++ 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 ++@@ -996,6 +996,7 @@ autocorrelation plots. ++ :suppress: ++ ++ np.random.seed(123456) +++ random.seed(123456) # for reproducibility - bootstrap_plot uses random.sample ++ ++ .. ipython:: python ++ diff --cc debian/patches/fsspec_version.patch index 00000000,00000000..4b0274dc new file mode 100644 --- /dev/null +++ b/debian/patches/fsspec_version.patch @@@ -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 ++Forwarded: no ++ ++--- a/pandas/tests/io/test_fsspec.py +++++ b/pandas/tests/io/test_fsspec.py ++@@ -30,7 +30,7 @@ text = str(df1.to_csv(index=False)).enco ++ ++ @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 ++@@ -519,7 +519,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" diff --cc debian/patches/hurd_compat.patch index 00000000,00000000..bf914881 new file mode 100644 --- /dev/null +++ b/debian/patches/hurd_compat.patch @@@ -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 ++Forwarded: no ++ ++--- a/pandas/tests/io/parser/common/test_file_buffer_url.py +++++ b/pandas/tests/io/parser/common/test_file_buffer_url.py ++@@ -79,7 +79,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 ++@@ -4,7 +4,12 @@ parsing files for each parser defined in ++ """ ++ from contextlib import ExitStack ++ 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 ++@@ -33,6 +33,11 @@ def df(): ++ # https://github.com/dask/dask/pull/7318 ++ @td.skip_array_manager_not_yet_implemented ++ 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 ++@@ -166,7 +166,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 = ( ++@@ -209,7 +209,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 = ( diff --cc debian/patches/ignore_sphinx_panels.patch index 00000000,00000000..a48a5911 new file mode 100644 --- /dev/null +++ b/debian/patches/ignore_sphinx_panels.patch @@@ -1,0 -1,0 +1,15 @@@ ++Author: Andreas Tille ++Last-Update: Wed, 10 Nov 2021 06:42:56 +0100 ++Description: Sphinx panels is not packaged yet, so ignore it for the moment ++ ++--- a/doc/source/conf.py +++++ b/doc/source/conf.py ++@@ -65,7 +65,7 @@ extensions = [ ++ "sphinx.ext.ifconfig", ++ "sphinx.ext.linkcode", ++ "nbsphinx", ++- "sphinx_panels", +++# "sphinx_panels", ++ "contributors", # custom pandas extension ++ ] ++ diff --cc debian/patches/mathjax-path.patch index 00000000,00000000..85b1bc22 new file mode 100644 --- /dev/null +++ b/debian/patches/mathjax-path.patch @@@ -1,0 -1,0 +1,16 @@@ ++Description: Use Debian packaged mathjax ++ ++Author: Andreas Tille ++Forwarded: not-needed ++ ++--- a/doc/source/conf.py +++++ b/doc/source/conf.py ++@@ -69,6 +69,8 @@ extensions = [ ++ "contributors", # custom pandas extension ++ ] ++ +++mathjax_path="MathJax.js" +++ ++ exclude_patterns = [ ++ "**.ipynb_checkpoints", ++ # to ensure that include files (partial pages) aren't built, exclude them diff --cc debian/patches/matplotlib33_compat.patch index 00000000,00000000..b2d2c345 new file mode 100644 --- /dev/null +++ b/debian/patches/matplotlib33_compat.patch @@@ -1,0 -1,0 +1,17 @@@ ++Description: Matplotlib 3.3 compatibility fixup ++ ++Author: Rebecca N. Palmer ++Bug-Debian: https://bugs.debian.org/966393 ++Forwarded: no ++ ++--- a/pandas/tests/plotting/test_datetimelike.py +++++ b/pandas/tests/plotting/test_datetimelike.py ++@@ -1437,7 +1437,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 diff --cc debian/patches/matplotlib35_compat.patch index 00000000,00000000..635cbe51 new file mode 100644 --- /dev/null +++ b/debian/patches/matplotlib35_compat.patch @@@ -1,0 -1,0 +1,146 @@@ ++Description: Be compatible with matplotlib 3.5 ++ ++Origin: upstream 63e323356eab4fd91e453a9855a97cbc210362ef ++Author: Thomas Li, Simon Hawkins ++Forwarded: not-needed ++ ++--- a/pandas/plotting/_matplotlib/compat.py +++++ b/pandas/plotting/_matplotlib/compat.py ++@@ -24,3 +24,4 @@ mpl_ge_3_1_0 = _mpl_version("3.1.0", ope ++ mpl_ge_3_2_0 = _mpl_version("3.2.0", operator.ge) ++ mpl_ge_3_3_0 = _mpl_version("3.3.0", operator.ge) ++ mpl_ge_3_4_0 = _mpl_version("3.4.0", operator.ge) +++mpl_ge_3_5_0 = _mpl_version("3.5.0", operator.ge) ++--- a/pandas/plotting/_matplotlib/converter.py +++++ b/pandas/plotting/_matplotlib/converter.py ++@@ -353,8 +353,8 @@ class PandasAutoDateLocator(dates.AutoDa ++ locator = MilliSecondLocator(self.tz) ++ locator.set_axis(self.axis) ++ ++- locator.set_view_interval(*self.axis.get_view_interval()) ++- locator.set_data_interval(*self.axis.get_data_interval()) +++ locator.axis.set_view_interval(*self.axis.get_view_interval()) +++ locator.axis.set_data_interval(*self.axis.get_data_interval()) ++ return locator ++ ++ return dates.AutoDateLocator.get_locator(self, dmin, dmax) ++--- a/pandas/plotting/_matplotlib/core.py +++++ b/pandas/plotting/_matplotlib/core.py ++@@ -983,6 +983,7 @@ class PlanePlot(MPLPlot): ++ # use the last one which contains the latest information ++ # about the ax ++ img = ax.collections[-1] +++ ax.grid(False) ++ cbar = self.fig.colorbar(img, ax=ax, **kwds) ++ ++ if mpl_ge_3_0_0(): ++--- a/pandas/tests/plotting/common.py +++++ b/pandas/tests/plotting/common.py ++@@ -45,6 +45,8 @@ class TestPlotBase: ++ ++ from pandas.plotting._matplotlib import compat ++ +++ self.compat = compat +++ ++ mpl.rcdefaults() ++ ++ self.start_date_to_int64 = 812419200000000000 ++@@ -569,6 +571,12 @@ class TestPlotBase: ++ """ ++ return [v[field] for v in rcParams["axes.prop_cycle"]] ++ +++ def get_x_axis(self, ax): +++ return ax._shared_axes["x"] if self.compat.mpl_ge_3_5_0() else ax._shared_x_axes +++ +++ def get_y_axis(self, ax): +++ return ax._shared_axes["y"] if self.compat.mpl_ge_3_5_0() else ax._shared_y_axes +++ ++ ++ def _check_plot_works(f, filterwarnings="always", default_axes=False, **kwargs): ++ """ ++--- a/pandas/tests/plotting/frame/test_frame.py +++++ b/pandas/tests/plotting/frame/test_frame.py ++@@ -525,8 +525,8 @@ class TestDataFramePlots(TestPlotBase): ++ df.plot(ax=ax1, kind="area") ++ df.plot(ax=ax2, kind="area") ++ ++- assert ax1._shared_y_axes.joined(ax1, ax2) ++- assert ax2._shared_y_axes.joined(ax1, ax2) +++ assert self.get_y_axis(ax1).joined(ax1, ax2) +++ assert self.get_y_axis(ax2).joined(ax1, ax2) ++ ++ def test_bar_linewidth(self): ++ df = DataFrame(np.random.randn(5, 5)) ++--- a/pandas/tests/plotting/test_common.py +++++ b/pandas/tests/plotting/test_common.py ++@@ -39,4 +39,6 @@ class TestCommon(TestPlotBase): ++ next(gen) ++ axes = fig.get_axes() ++ assert len(axes) == 1 ++- assert axes[0].get_geometry() == (2, 1, 2) +++ subplot_geometry = list(axes[0].get_subplotspec().get_geometry()[:-1]) +++ subplot_geometry[-1] += 1 +++ assert subplot_geometry == [2, 1, 2] ++--- a/pandas/tests/plotting/test_hist_method.py +++++ b/pandas/tests/plotting/test_hist_method.py ++@@ -728,35 +728,35 @@ class TestDataFrameGroupByPlots(TestPlot ++ ax1, ax2 = df.hist(column="height", by=df.gender, sharex=True) ++ ++ # share x ++- assert ax1._shared_x_axes.joined(ax1, ax2) ++- assert ax2._shared_x_axes.joined(ax1, ax2) +++ assert self.get_x_axis(ax1).joined(ax1, ax2) +++ assert self.get_x_axis(ax2).joined(ax1, ax2) ++ ++ # don't share y ++- assert not ax1._shared_y_axes.joined(ax1, ax2) ++- assert not ax2._shared_y_axes.joined(ax1, ax2) +++ assert not self.get_y_axis(ax1).joined(ax1, ax2) +++ assert not self.get_y_axis(ax2).joined(ax1, ax2) ++ ++ def test_axis_share_y(self): ++ df = self.hist_df ++ ax1, ax2 = df.hist(column="height", by=df.gender, sharey=True) ++ ++ # share y ++- assert ax1._shared_y_axes.joined(ax1, ax2) ++- assert ax2._shared_y_axes.joined(ax1, ax2) +++ assert self.get_y_axis(ax1).joined(ax1, ax2) +++ assert self.get_y_axis(ax2).joined(ax1, ax2) ++ ++ # don't share x ++- assert not ax1._shared_x_axes.joined(ax1, ax2) ++- assert not ax2._shared_x_axes.joined(ax1, ax2) +++ assert not self.get_x_axis(ax1).joined(ax1, ax2) +++ assert not self.get_x_axis(ax2).joined(ax1, ax2) ++ ++ def test_axis_share_xy(self): ++ df = self.hist_df ++ ax1, ax2 = df.hist(column="height", by=df.gender, sharex=True, sharey=True) ++ ++ # share both x and y ++- assert ax1._shared_x_axes.joined(ax1, ax2) ++- assert ax2._shared_x_axes.joined(ax1, ax2) +++ assert self.get_x_axis(ax1).joined(ax1, ax2) +++ assert self.get_x_axis(ax2).joined(ax1, ax2) ++ ++- assert ax1._shared_y_axes.joined(ax1, ax2) ++- assert ax2._shared_y_axes.joined(ax1, ax2) +++ assert self.get_y_axis(ax1).joined(ax1, ax2) +++ assert self.get_y_axis(ax2).joined(ax1, ax2) ++ ++ @pytest.mark.parametrize( ++ "histtype, expected", ++--- a/pandas/tests/plotting/test_series.py +++++ b/pandas/tests/plotting/test_series.py ++@@ -154,8 +154,8 @@ class TestSeriesPlots(TestPlotBase): ++ abs(self.ts).plot(ax=ax1, kind="area") ++ abs(self.ts).plot(ax=ax2, kind="area") ++ ++- assert ax1._shared_y_axes.joined(ax1, ax2) ++- assert ax2._shared_y_axes.joined(ax1, ax2) +++ assert self.get_y_axis(ax1).joined(ax1, ax2) +++ assert self.get_y_axis(ax2).joined(ax1, ax2) ++ ++ def test_label(self): ++ s = Series([1, 2]) diff --cc debian/patches/mips_warning.patch index 00000000,00000000..89f88455 new file mode 100644 --- /dev/null +++ b/debian/patches/mips_warning.patch @@@ -1,0 -1,0 +1,22 @@@ ++Description: Warn that pandas is possibly broken on mips(64)(el) ++ ++Tests disabled in d/rules ++ ++Author: Rebecca N. Palmer ++Forwarded: not-needed ++ ++--- pandas-1.3.4+dfsg.orig/pandas/__init__.py +++++ pandas-1.3.4+dfsg/pandas/__init__.py ++@@ -2,6 +2,12 @@ ++ ++ __docformat__ = "restructuredtext" ++ +++import platform +++import warnings +++if 'mips' in platform.uname()[4]: +++ warnings.warn("This appears to be a mips system, on which pandas is buggy (may give wrong answers or crash)") +++del platform, warnings +++ ++ # Let users know if they're missing any of our hard dependencies ++ hard_dependencies = ("numpy", "pytz", "dateutil") ++ missing_dependencies = [] diff --cc debian/patches/numba_fail_32bit.patch index 00000000,00000000..d9c8a54b new file mode 100644 --- /dev/null +++ b/debian/patches/numba_fail_32bit.patch @@@ -1,0 -1,0 +1,254 @@@ ++Description: Allow some numba errors on non-amd64, warn on non-x86 ++ ++Also one non-numba test that implicitly assumes 64 bit ++ ++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 ++Forwarded: no ++ ++--- a/pandas/tests/test_sorting.py +++++ b/pandas/tests/test_sorting.py ++@@ -23,6 +23,7 @@ from pandas.core.sorting import ( ++ lexsort_indexer, ++ nargsort, ++ ) +++import sys ++ ++ ++ class TestSorting: ++@@ -188,6 +189,7 @@ class TestSorting: ++ ++ class TestMerge: ++ @pytest.mark.slow +++ @pytest.mark.xfail(condition=sys.maxsize<2**33, reason="assumes default int is int64", strict=False) ++ def test_int64_overflow_issues(self): ++ ++ # #2690, combinatorial explosion ++--- a/pandas/tests/window/test_numba.py +++++ b/pandas/tests/window/test_numba.py ++@@ -12,9 +12,19 @@ from pandas import ( ++ ) ++ import pandas._testing as tm ++ from pandas.core.util.numba_ import NUMBA_FUNC_CACHE +++from pandas.compat import is_platform_little_endian +++import platform +++import sys +++try: +++ from numba.core.errors import UnsupportedParforsError,TypingError +++except ImportError: +++ UnsupportedParforsError = ImportError +++ TypingError = ImportError ++ ++ ++ @td.skip_if_no("numba", "0.46.0") +++@pytest.mark.xfail(condition=sys.maxsize<2**33, 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 TestEngine: ++@@ -82,6 +92,7 @@ class TestEngine: ++ ++ tm.assert_frame_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_apply(self, jit, nogil, parallel, nopython): ++ # Test that the functions are cached correctly if we switch functions ++@@ -123,6 +134,8 @@ class TestEngine: ++ ++ ++ @td.skip_if_no("numba", "0.46.0") +++@pytest.mark.xfail(condition=sys.maxsize<2**33, 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) ++ class TestEWMMean: ++ @pytest.mark.parametrize( ++ "grouper", [lambda x: x, lambda x: x.groupby("A")], ids=["None", "groupby"] ++@@ -186,6 +199,7 @@ class TestEWMMean: ++ ++ ++ @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 ++@@ -207,6 +221,7 @@ def test_invalid_kwargs_nopython(): ++ ++ @td.skip_if_no("numba", "0.46.0") ++ @pytest.mark.slow +++@pytest.mark.xfail(condition=sys.maxsize<2**33, raises=(UnsupportedParforsError,TypingError), reason="some Numba functionality is not available on 32 bit systems", strict=False) ++ @pytest.mark.filterwarnings("ignore:\\nThe keyword argument") ++ # Filter warnings when parallel=True and the function can't be parallelized by Numba ++ class TestTableMethod: ++--- a/pandas/tests/window/test_online.py +++++ b/pandas/tests/window/test_online.py ++@@ -9,6 +9,11 @@ from pandas import ( ++ ) ++ import pandas._testing as tm ++ +++import sys +++try: +++ from numba.core.errors import UnsupportedParforsError +++except ImportError: +++ UnsupportedParforsError = ImportError ++ ++ @td.skip_if_no("numba", "0.46.0") ++ @pytest.mark.filterwarnings("ignore:\\nThe keyword argument") ++@@ -23,6 +28,7 @@ class TestEWM: ++ online_ewm.mean(update=df.head(1)) ++ ++ @pytest.mark.slow +++ @pytest.mark.xfail(condition=sys.maxsize<2**33, raises=UnsupportedParforsError, reason="some Numba functionality is not available on 32 bit systems", strict=False) ++ @pytest.mark.parametrize( ++ "obj", [DataFrame({"a": range(5), "b": range(5)}), Series(range(5), name="foo")] ++ ) ++--- a/pandas/tests/window/conftest.py +++++ b/pandas/tests/window/conftest.py ++@@ -3,6 +3,7 @@ from datetime import timedelta ++ import pytest ++ ++ import pandas.util._test_decorators as td +++from pandas.compat import is_platform_little_endian ++ ++ from pandas import ( ++ DataFrame, ++@@ -128,7 +129,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 ++@@ -10,6 +10,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 ( ++ NUMBA_FUNC_CACHE, ++@@ -59,6 +63,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) ++ ++ @numba.jit(nopython=nopython, nogil=nogil, parallel=parallel) ++ def roll_apply( ++--- a/pandas/tests/groupby/aggregate/test_numba.py +++++ b/pandas/tests/groupby/aggregate/test_numba.py ++@@ -1,6 +1,14 @@ +++import sys +++ ++ import numpy as np ++ import pytest ++ +++try: +++ from numba.core.errors import UnsupportedParforsError,TypingError +++except ImportError: +++ UnsupportedParforsError = ImportError +++ TypingError = ImportError +++ ++ from pandas.errors import NumbaUtilError ++ import pandas.util._test_decorators as td ++ ++@@ -13,6 +21,8 @@ from pandas import ( ++ ) ++ import pandas._testing as tm ++ from pandas.core.util.numba_ import NUMBA_FUNC_CACHE +++from pandas.compat import is_platform_little_endian +++pytestmark = [pytest.mark.xfail(condition=not is_platform_little_endian(), reason="Numba may crash on s390x", run=False, strict=False),pytest.mark.xfail(condition=sys.maxsize<2**33, raises=(UnsupportedParforsError,TypingError), reason="some Numba functionality is not available on 32 bit systems", strict=False)] ++ ++ ++ @td.skip_if_no("numba", "0.46.0") ++@@ -48,6 +58,7 @@ def test_check_nopython_kwargs(): ++ ++ ++ @td.skip_if_no("numba", "0.46.0") +++@pytest.mark.xfail(condition=sys.maxsize<2**33, raises=UnsupportedParforsError, reason="some Numba functionality is not available on 32 bit systems", 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]) ++@@ -77,6 +88,7 @@ def test_numba_vs_cython(jit, pandas_obj, nogil, parallel, nopython): ++ ++ ++ @td.skip_if_no("numba", "0.46.0") +++@pytest.mark.xfail(condition=sys.maxsize<2**33, raises=UnsupportedParforsError, reason="some Numba functionality is not available on 32 bit systems", 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]) ++--- a/pandas/tests/groupby/transform/test_numba.py +++++ b/pandas/tests/groupby/transform/test_numba.py ++@@ -1,3 +1,5 @@ +++import sys +++ ++ import pytest ++ ++ from pandas.errors import NumbaUtilError ++@@ -10,6 +12,12 @@ from pandas import ( ++ ) ++ import pandas._testing as tm ++ from pandas.core.util.numba_ import NUMBA_FUNC_CACHE +++from pandas.compat import is_platform_little_endian +++try: +++ from numba.core.errors import UnsupportedParforsError,TypingError +++except ImportError: +++ UnsupportedParforsError = ImportError +++ TypingError = ImportError ++ ++ ++ @td.skip_if_no("numba", "0.46.0") ++@@ -45,6 +53,8 @@ def test_check_nopython_kwargs(): ++ ++ ++ @td.skip_if_no("numba", "0.46.0") +++@pytest.mark.xfail(condition=sys.maxsize<2**33, 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 ++ @pytest.mark.parametrize("jit", [True, False]) ++@@ -74,6 +84,8 @@ def test_numba_vs_cython(jit, pandas_obj, nogil, parallel, nopython): ++ ++ ++ @td.skip_if_no("numba", "0.46.0") +++@pytest.mark.xfail(condition=sys.maxsize<2**33, 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 ++ @pytest.mark.parametrize("jit", [True, False]) ++@@ -119,6 +131,7 @@ def test_cache(jit, pandas_obj, nogil, parallel, nopython): ++ ++ ++ @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 ++@@ -150,6 +163,7 @@ def test_multifunc_notimplimented(agg_func): ++ ++ ++ @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_args_not_cached(): ++ # GH 41647 ++ def sum_last(values, index, n): ++@@ -167,6 +181,7 @@ def test_args_not_cached(): ++ ++ ++ @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_index_data_correctly_passed(): ++ # GH 43133 ++ def f(values, index): diff --cc debian/patches/privacy.patch index 00000000,00000000..93a95ec3 new file mode 100644 --- /dev/null +++ b/debian/patches/privacy.patch @@@ -1,0 -1,0 +1,20 @@@ ++Description: Link to rather than embed Google calendar ++ ++Author: Rebecca N. Palmer ++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 ++- ++- +++`This calendar `__ shows all the developer meetings. ++ ++ You can subscribe to this calendar with the following links: ++ diff --cc debian/patches/python310_compat.patch index 00000000,00000000..20fe5b08 new file mode 100644 --- /dev/null +++ b/debian/patches/python310_compat.patch @@@ -1,0 -1,0 +1,16 @@@ ++Description: Accept changed error message from Python 3.10 ++ ++Author: Rebecca N. Palmer ++Forwarded: no ++ ++--- a/pandas/tests/plotting/frame/test_frame.py +++++ b/pandas/tests/plotting/frame/test_frame.py ++@@ -682,7 +682,7 @@ class TestDataFramePlots(TestPlotBase): ++ # GH 8113, datetime.time type is not supported by matplotlib in scatter ++ df = DataFrame(np.random.randn(10), columns=["a"]) ++ df["dtime"] = date_range(start="2014-01-01", freq="h", periods=10).time ++- msg = "must be a string or a number, not 'datetime.time'" +++ msg = "must be a string or a (real )?number, not 'datetime.time'" ++ ++ with pytest.raises(TypeError, match=msg): ++ df.plot(kind="scatter", x="dtime", y="a") diff --cc debian/patches/python398_compat.patch index 00000000,00000000..a9c407f7 new file mode 100644 --- /dev/null +++ b/debian/patches/python398_compat.patch @@@ -1,0 -1,0 +1,16 @@@ ++Description: Accept changed exception message ++ ++Origin: upstream 847e8ba1f89692d100a1087eec88afe36a98282b ++Author: Thomas Li ++ ++--- a/pandas/tests/io/parser/test_quoting.py +++++ b/pandas/tests/io/parser/test_quoting.py ++@@ -22,7 +22,7 @@ import pandas._testing as tm ++ {"quotechar": None, "quoting": csv.QUOTE_MINIMAL}, ++ "quotechar must be set if quoting enabled", ++ ), ++- ({"quotechar": 2}, '"quotechar" must be string, not int'), +++ ({"quotechar": 2}, '"quotechar" must be string( or None)?, not int'), ++ ], ++ ) ++ def test_bad_quote_char(all_parsers, kwargs, msg): diff --cc debian/patches/remove_ccbysa_snippets.patch index 00000000,00000000..96f65c6c new file mode 100644 --- /dev/null +++ b/debian/patches/remove_ccbysa_snippets.patch @@@ -1,0 -1,0 +1,255 @@@ ++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 ++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 ++@@ -49,4 +49,3 @@ Further information on any specific meth ++ scale ++ sparse ++ gotchas ++- cookbook ++--- a/pandas/io/sql.py +++++ b/pandas/io/sql.py ++@@ -1860,14 +1860,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 ++@@ -26,37 +26,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() ++- ++- with tm.assert_produces_warning( ++- FutureWarning, match="Dropping invalid", check_stacklevel=False ++- ): ++- expected = grouped.agg([peak_to_peak]) ++- expected.columns = ["data1", "data2"] ++- ++- with tm.assert_produces_warning( ++- FutureWarning, match="Dropping invalid", check_stacklevel=False ++- ): ++- 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 ++@@ -861,29 +861,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 ++@@ -12,28 +12,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) ++- ++- ++ @td.skip_array_manager_invalid_test # with ArrayManager df.loc[0] is not a view ++ def test_cache_updating(): ++ # 5216 ++--- a/pandas/tests/indexing/multiindex/test_setitem.py +++++ b/pandas/tests/indexing/multiindex/test_setitem.py ++@@ -148,37 +148,7 @@ class TestMultiIndexSetItem: ++ with pytest.raises(TypeError, match=msg): ++ df.loc["bar"] *= 2 ++ ++- def test_multiindex_setitem2(self): ++ ++- # 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 ++@@ -354,17 +354,6 @@ class TestChaining: ++ str(df) ++ ++ @pytest.mark.arm_slow ++- def test_detect_chained_assignment_undefined_column(self): ++- ++- # 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, match=msg): ++- df.iloc[0:5]["group"] = "a" ++- ++- @pytest.mark.arm_slow ++ def test_detect_chained_assignment_changing_dtype(self, using_array_manager): ++ ++ # Mixed type setting but same dtype & changing dtype ++--- a/pandas/tests/io/parser/common/test_common_basic.py +++++ b/pandas/tests/io/parser/common/test_common_basic.py ++@@ -355,24 +355,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 board","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_ignore_leading_whitespace(all_parsers): ++ # see gh-3374, gh-6607 ++ parser = all_parsers diff --cc debian/patches/series index 00000000,00000000..53d29fdf new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,31 @@@ ++deb_nonversioneer_version.patch ++deb_doc_donotoverride_PYTHONPATH.patch ++xfail_tests_nonintel_io.patch ++deb_disable_googleanalytics.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 ++979621_dead_url.patch ++ignore_sphinx_panels.patch ++python398_compat.patch ++matplotlib35_compat.patch ++python310_compat.patch ++fix_overly_arch_specific_xfails.patch ++mips_warning.patch diff --cc debian/patches/skip_noencoding_locales.patch index 00000000,00000000..19df6b23 new file mode 100644 --- /dev/null +++ b/debian/patches/skip_noencoding_locales.patch @@@ -1,0 -1,0 +1,28 @@@ ++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 ++Bug: https://github.com/pandas-dev/pandas/issues/20957 ++Forwarded: no ++ ++--- a/pandas/_config/localization.py +++++ b/pandas/_config/localization.py ++@@ -99,7 +99,10 @@ def _valid_locales(locales, normalize): ++ ++ ++ def _default_locale_getter(): ++- return subprocess.check_output(["locale -a"], shell=True) +++ 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 ++ ++ ++ def get_locales(prefix=None, normalize=True, locale_getter=_default_locale_getter): diff --cc debian/patches/skip_test_missing_required_dependency.patch index 00000000,00000000..85fe9528 new file mode 100644 --- /dev/null +++ b/debian/patches/skip_test_missing_required_dependency.patch @@@ -1,0 -1,0 +1,15 @@@ ++Description: Skip test that fails from outside the source tree ++ ++Author: Rebecca N. Palmer ++Forwarded: not-needed ++ ++--- a/pandas/tests/test_downstream.py +++++ b/pandas/tests/test_downstream.py ++@@ -166,6 +166,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 diff --cc debian/patches/sphinx_no_pandas_theme.patch index 00000000,00000000..bc79e116 new file mode 100644 --- /dev/null +++ b/debian/patches/sphinx_no_pandas_theme.patch @@@ -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 ++Forwarded: not-needed ++ ++--- a/doc/source/conf.py +++++ b/doc/source/conf.py ++@@ -217,7 +217,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 diff --cc debian/patches/stable_test_urls.patch index 00000000,00000000..47bf923d new file mode 100644 --- /dev/null +++ b/debian/patches/stable_test_urls.patch @@@ -1,0 -1,0 +1,44 @@@ ++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 ++Forwarded: not-needed ++ ++--- a/pandas/tests/io/excel/test_readers.py +++++ b/pandas/tests/io/excel/test_readers.py ++@@ -771,7 +771,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_network.py +++++ b/pandas/tests/io/parser/test_network.py ++@@ -36,7 +36,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 ++@@ -162,7 +162,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.*") diff --cc debian/patches/tests_dont_assume_endian.patch index 00000000,00000000..67acaad7 new file mode 100644 --- /dev/null +++ b/debian/patches/tests_dont_assume_endian.patch @@@ -1,0 -1,0 +1,138 @@@ ++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 ++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: ++@@ -269,6 +270,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"]}) ++@@ -342,11 +344,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 ++@@ -295,7 +295,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\]'\)" ++ ) ++ 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 ++@@ -141,7 +141,7 @@ nan 2 ++ "the dtype timedelta64 is not supported for parsing", ++ {"dtype": {"A": "timedelta64", "B": "float64"}}, ++ ), ++- ("the dtype ]U8 is not supported for parsing", dict(dtype={"A": "U8"})), ++ ], ++ ids=["dt64-0", "dt64-1", "td64", "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", ""], dtype=""], dtype="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 ABCIndex +++from pandas.compat import is_platform_little_endian ++ ++ import pandas as pd ++ import pandas._testing as tm ++@@ -284,7 +285,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", ""], dtype=""], dtype="U21") ++ ++ tm.assert_numpy_array_equal(a.astype(str), expected) ++ tm.assert_numpy_array_equal(a.astype("str"), expected) ++--- a/pandas/tests/arrays/floating/test_to_numpy.py +++++ b/pandas/tests/arrays/floating/test_to_numpy.py ++@@ -4,6 +4,7 @@ import pytest ++ import pandas as pd ++ import pandas._testing as tm ++ from pandas.core.arrays import FloatingArray +++from pandas.compat import is_platform_little_endian ++ ++ ++ @pytest.mark.parametrize("box", [True, False], ids=["series", "array"]) ++@@ -115,7 +116,7 @@ def test_to_numpy_string(box, dtype): ++ arr = con([0.0, 1.0, None], dtype="Float64") ++ ++ result = arr.to_numpy(dtype="str") ++- expected = np.array([0.0, 1.0, pd.NA], dtype="U32") ++ tm.assert_numpy_array_equal(result, expected) ++ ++ diff --cc debian/patches/use_system_intersphinx.patch index 00000000,00000000..0ec35f17 new file mode 100644 --- /dev/null +++ b/debian/patches/use_system_intersphinx.patch @@@ -1,0 -1,0 +1,29 @@@ ++Description: Use packaged intersphinx indexes ++ ++Author: Rebecca N. Palmer ++Bug-Debian: https://bugs.debian.org/876417 ++Forwarded: not-needed ++ ++--- a/doc/source/conf.py +++++ b/doc/source/conf.py ++@@ -430,13 +430,13 @@ latex_documents = [ ++ if include_api: ++ intersphinx_mapping = { ++ "dateutil": ("https://dateutil.readthedocs.io/en/latest/", None), ++- "matplotlib": ("https://matplotlib.org/stable/", 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/stable/", "/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), ++ } ++ diff --cc debian/patches/xfail_c_locale.patch index 00000000,00000000..b666ac6c new file mode 100644 --- /dev/null +++ b/debian/patches/xfail_c_locale.patch @@@ -1,0 -1,0 +1,15 @@@ ++Description: Xfail a test that doesn't work in the C locale ++ ++Author: Rebecca N. Palmer ++Forwarded: no ++ ++--- a/pandas/tests/config/test_localization.py +++++ b/pandas/tests/config/test_localization.py ++@@ -99,6 +99,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" diff --cc debian/patches/xfail_tests_nonintel_io.patch index 00000000,00000000..683685eb new file mode 100644 --- /dev/null +++ b/debian/patches/xfail_tests_nonintel_io.patch @@@ -1,0 -1,0 +1,286 @@@ ++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 , Graham Inggs , Yaroslav Halchenko , Rebecca N. Palmer ++Bug-Debian: https://bugs.debian.org/877419 ++Forwarded: no ++ ++--- a/pandas/io/pytables.py +++++ b/pandas/io/pytables.py ++@@ -23,6 +23,10 @@ from typing import ( ++ cast, ++ ) ++ 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 ++ ++@@ -565,6 +569,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") ++@@ -776,7 +782,10 @@ class HDFStore: ++ self._handle.flush() ++ if fsync: ++ with suppress(OSError): ++- 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 ++ ++ def get(self, key: str): ++ """ ++--- a/pandas/io/stata.py +++++ b/pandas/io/stata.py ++@@ -25,6 +25,9 @@ from typing import ( ++ cast, ++ ) ++ 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 ++@@ -896,6 +899,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_file_handling.py +++++ b/pandas/tests/io/pytables/test_file_handling.py ++@@ -25,6 +25,10 @@ from pandas.io.pytables import ( ++ PossibleDataLossError, ++ Term, ++ ) +++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 ++ ++ pytestmark = pytest.mark.single ++ ++@@ -270,6 +274,7 @@ def test_complibs(setup_path): ++ h5table.close() ++ ++ +++@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" ++ ) ++@@ -303,6 +308,7 @@ def test_encoding(setup_path): ++ ], ++ ) ++ @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(setup_path, dtype, val): ++ enc = "latin-1" ++ nan_rep = "" ++--- a/pandas/tests/io/pytables/test_append.py +++++ b/pandas/tests/io/pytables/test_append.py ++@@ -24,6 +24,10 @@ from pandas.tests.io.pytables.common imp ++ ensure_clean_path, ++ ensure_clean_store, ++ ) +++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 ++ ++ pytestmark = pytest.mark.single ++ ++@@ -277,6 +281,7 @@ def test_append_all_nans(setup_path): ++ tm.assert_frame_equal(store["df2"], df) ++ ++ +++@pytest.mark.xfail(condition=is_crashing_arch,reason="https://bugs.debian.org/790925",strict=False,run=False) ++ def test_append_frame_column_oriented(setup_path): ++ with ensure_clean_store(setup_path) as store: ++ ++--- a/pandas/tests/io/pytables/test_store.py +++++ b/pandas/tests/io/pytables/test_store.py ++@@ -39,6 +39,10 @@ from pandas.io.pytables import ( ++ HDFStore, ++ read_hdf, ++ ) +++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 ++ ++ pytestmark = pytest.mark.single ++ ++@@ -789,6 +793,7 @@ def test_start_stop_fixed(setup_path): ++ 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(setup_path): ++ ++ df = DataFrame(np.random.randn(50, 100)) ++--- a/pandas/tests/io/pytables/test_read.py +++++ b/pandas/tests/io/pytables/test_read.py ++@@ -5,7 +5,7 @@ import numpy as np ++ import pytest ++ ++ from pandas._libs.tslibs import Timestamp ++-from pandas.compat import is_platform_windows +++from pandas.compat import is_platform_windows, is_platform_little_endian ++ ++ import pandas as pd ++ from pandas import ( ++@@ -155,6 +155,7 @@ def test_pytables_native2_read(datapath, ++ assert isinstance(d1, DataFrame) ++ ++ +++@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(datapath, setup_path): ++ # GH 24510 ++ # legacy table with fixed format written in Python 2 ++@@ -170,6 +171,7 @@ def test_legacy_table_fixed_format_read_ ++ 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(datapath, setup_path): ++ # GH 31750 ++ # legacy table with fixed format and datetime64 column written in Python 2 ++@@ -319,6 +321,7 @@ def test_read_hdf_series_mode_r(format, ++ tm.assert_series_equal(result, series) ++ ++ +++@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(datapath): ++ # GH 16781 ++ ++--- a/pandas/tests/io/test_stata.py +++++ b/pandas/tests/io/test_stata.py ++@@ -33,6 +33,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(): ++@@ -207,7 +209,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 ++@@ -469,7 +471,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) ++@@ -1793,8 +1795,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 = DataFrame([["Düsseldorf"]] * 151, columns=["kreis1849"]) ++ tm.assert_frame_equal(encoded, expected) ++--- a/pandas/tests/io/pytables/test_timezones.py +++++ b/pandas/tests/io/pytables/test_timezones.py ++@@ -8,6 +8,7 @@ import pytest ++ ++ from pandas._libs.tslibs.timezones import maybe_get_tz ++ import pandas.util._test_decorators as td +++from pandas.compat import is_platform_little_endian ++ ++ import pandas as pd ++ from pandas import ( ++@@ -304,6 +305,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 ++@@ -356,6 +358,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 ++@@ -15,7 +15,7 @@ import tempfile ++ ++ 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 ++@@ -244,11 +244,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")), ++--- a/pandas/_testing/_warnings.py +++++ b/pandas/_testing/_warnings.py ++@@ -8,6 +8,7 @@ from typing import ( ++ cast, ++ ) ++ import warnings +++import platform ++ ++ ++ @contextmanager ++@@ -149,6 +150,8 @@ def _assert_caught_no_extra_warnings( ++ # FIXME: kludge because pytest.filterwarnings does not ++ # suppress these, xref GH#38630 ++ continue +++ 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( ++ ( diff --cc debian/patches/xfail_tests_nonintel_nannat.patch index 00000000,00000000..00a50add new file mode 100644 --- /dev/null +++ b/debian/patches/xfail_tests_nonintel_nannat.patch @@@ -1,0 -1,0 +1,215 @@@ ++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) ++ ++On riscv64 one test case raises an exception ++(though I suspect not the general case since there aren't more). ++ ++Author: Andreas Tille , Graham Inggs , Rebecca N. Palmer ++Bug-Debian: https://bugs.debian.org/877754 ++Forwarded: no ++ ++--- a/pandas/core/dtypes/cast.py +++++ b/pandas/core/dtypes/cast.py ++@@ -100,6 +100,9 @@ if TYPE_CHECKING: ++ TimedeltaArray, ++ ) ++ +++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 ++ _int8_max = np.iinfo(np.int8).max ++ _int16_max = np.iinfo(np.int16).max ++ _int32_max = np.iinfo(np.int32).max ++@@ -1195,6 +1198,8 @@ def astype_nansafe( ++ f"'{dtype.name}[ns]' instead." ++ ) ++ raise ValueError(msg) +++ if warn_nannat_platform and (is_datetime64_dtype(dtype) or is_timedelta64_dtype(dtype)) and not (is_datetime64_dtype(arr.dtype) or is_timedelta64_dtype(arr.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.dtype) or is_object_dtype(dtype): ++ # Explicit copy, or required since NumPy can't view from / to object. ++@@ -1625,6 +1630,8 @@ def maybe_cast_to_datetime( ++ dtype = ensure_nanosecond_dtype(dtype) ++ ++ value = np.array(value, copy=False) +++ if warn_nannat_platform and not (is_datetime64_dtype(value.dtype) or is_timedelta64_dtype(value.dtype)) and np.issubdtype(value.dtype, np.floating) and not np.isfinite(value).all(): +++ warnings.warn(warn_nannat_platform) ++ ++ # we have an array of datetime or timedeltas & nulls ++ if value.size or not is_dtype_equal(value.dtype, dtype): ++--- 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 Series ++ 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/test_reductions.py +++++ b/pandas/tests/frame/test_reductions.py ++@@ -28,6 +28,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( ++@@ -845,6 +848,7 @@ class TestDataFrameAnalytics: ++ expected = 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/frame/indexing/test_where.py +++++ b/pandas/tests/frame/indexing/test_where.py ++@@ -16,6 +16,9 @@ from pandas import ( ++ 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"]) ++@@ -360,6 +363,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/indexes/datetimes/test_datetime.py +++++ b/pandas/tests/indexes/datetimes/test_datetime.py ++@@ -14,6 +14,9 @@ from pandas import ( ++ offsets, ++ ) ++ import pandas._testing as tm +++import platform +++import re +++is_nannat_working=bool(re.match('i.?86|x86|s390|ppc',platform.uname()[4])) ++ ++ ++ class TestDatetimeIndex: ++@@ -55,6 +58,7 @@ class TestDatetimeIndex: ++ idx2 = 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 ++@@ -27,6 +27,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(): ++@@ -1346,6 +1349,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 ++@@ -47,6 +47,9 @@ from pandas.core.arrays import ( ++ ) ++ from pandas.core.internals.blocks import NumericBlock ++ +++import platform +++import re +++is_nannat_working=bool(re.match('i.?86|x86|s390|ppc',platform.uname()[4])) ++ ++ class TestSeriesConstructors: ++ @pytest.mark.parametrize( ++@@ -1057,6 +1060,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", NaT, np.nan, None]) ++ def test_constructor_with_naive_string_and_datetimetz_dtype(self, arg): ++ # GH 17415: With naive string ++@@ -1434,6 +1438,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 ++@@ -45,6 +45,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: ++@@ -1265,6 +1268,7 @@ class TestValueCounts: ++ expected = Series([3, 2, 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 + [2] * 3 + [np.nan] * 5) ++--- a/pandas/tests/tools/test_to_datetime.py +++++ b/pandas/tests/tools/test_to_datetime.py ++@@ -25,6 +25,9 @@ from pandas.errors import ( ++ OutOfBoundsTimedelta, ++ ) ++ import pandas.util._test_decorators as td +++import platform +++import re +++is_platform_x86 = bool(re.match('i.?86|x86',platform.uname()[4])) ++ ++ from pandas.core.dtypes.common import is_datetime64_ns_dtype ++ ++@@ -1484,6 +1487,7 @@ class TestToDatetimeUnit: ++ tm.assert_index_equal(result, expected) ++ ++ # TODO: this is moved from tests.series.test_timeseries, may be redundant +++ @pytest.mark.xfail(not is_platform_x86, strict=False, raises=OutOfBoundsDatetime, reason="fails on riscv64") ++ def test_to_datetime_unit(self): ++ ++ epoch = 1370745748 diff --cc debian/python-pandas-doc.doc-base index 00000000,00000000..b29cae02 new file mode 100644 --- /dev/null +++ b/debian/python-pandas-doc.doc-base @@@ -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/* diff --cc debian/python-pandas-doc.docs index 00000000,00000000..8137b041 new file mode 100644 --- /dev/null +++ b/debian/python-pandas-doc.docs @@@ -1,0 -1,0 +1,1 @@@ ++doc/build/html diff --cc debian/python-pandas-doc.links index 00000000,00000000..718f2af1 new file mode 100644 --- /dev/null +++ b/debian/python-pandas-doc.links @@@ -1,0 -1,0 +1,3 @@@ ++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 ++usr/share/javascript/mathjax/MathJax.js usr/share/doc/python-pandas-doc/html/_static/MathJax.js diff --cc debian/rules index 00000000,00000000..13cf05fe new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,115 @@@ ++#!/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, test_wrong_url needs internet, test_statsmodels is a circular dependency when adding a new Python version ++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 and not test_wrong_url and not test_statsmodels" --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/groupby/aggregate/test_numba.py {build_dir}/pandas/tests/window/test_numba.py {build_dir}/pandas/tests/window/test_apply.py {build_dir}/pandas/tests/window/test_online.py {build_dir}/pandas/tests/window/moments/test_moments_consistency_expanding.py || true ; rm -f test-data.xml ; $$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#\(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: ++ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) ++ PYBUILD_SYSTEM=custom dh_auto_test || [ `dpkg --print-architecture` = mips64el ] || [ `dpkg --print-architecture` = mipsel ] ++endif diff --cc debian/source/format index 00000000,00000000..163aaf8d new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/source/lintian-overrides index 00000000,00000000..1ea38fca new file mode 100644 --- /dev/null +++ b/debian/source/lintian-overrides @@@ -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 diff --cc debian/source/options index 00000000,00000000..e558c0fc new file mode 100644 --- /dev/null +++ b/debian/source/options @@@ -1,0 -1,0 +1,1 @@@ ++extend-diff-ignore="^[^/]+\.egg-info/|pandas/__version.py" diff --cc debian/tests/control index 00000000,00000000..cd91313d new file mode 100644 --- /dev/null +++ b/debian/tests/control @@@ -1,0 -1,0 +1,51 @@@ ++# 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 ++# xml test_wrong_url fails without ca-certificates ++Depends: ca-certificates, ++ 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 ++ python3-numba (>= 0.46.0~) [amd64 arm64 armhf i386 mips64el mipsel ppc64el s390x], ++ python3-numexpr (>= 2.7~), ++ python3-numpy (>= 1:1.15~), ++ python3-odf, ++ python3-openpyxl, ++ python3-pandas, ++ python3-pytest (>= 6.0~), ++ 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, ++ python3-xlrd, ++ python3-xlsxwriter, ++ python3-xlwt, ++ xauth, ++ xvfb, ++ xclip, ++Restrictions: allow-stderr, needs-internet diff --cc debian/tests/unittests3 index 00000000,00000000..2ccebd01 new file mode 100755 --- /dev/null +++ b/debian/tests/unittests3 @@@ -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 diff --cc debian/upstream/metadata index 00000000,00000000..5b320845 new file mode 100644 --- /dev/null +++ b/debian/upstream/metadata @@@ -1,0 -1,0 +1,14 @@@ ++Bug-Submit: https://github.com/pydata/pandas/issues/new ++Repository: https://github.com/pydata/pandas.git ++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 ++Repository-Browse: https://github.com/pydata/pandas ++Security-Contact: https://github.com/pydata/pandas/tree/HEAD/.github/SECURITY.md diff --cc debian/watch index 00000000,00000000..51912e9b new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -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 .*/v?([\d\.rc]+).tar.gz