From: Rebecca N. Palmer Date: Sun, 22 Jan 2023 11:54:30 +0000 (+0000) Subject: pandas (1.5.3+dfsg-1) unstable; urgency=medium X-Git-Tag: archive/raspbian/1.5.3+dfsg-2+rpi1~1^2~28 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=7f3f7cc51ee7ab93eb7128baf030f5ab51f87469;p=pandas.git pandas (1.5.3+dfsg-1) unstable; urgency=medium * Upstream bugfix release. Update copyright and patches. * Tests: ignore plot rounding errors. (Closes: #1029251) * Tests: re-enable dask test, ignore numpy 1.24 warning. * Docs: re-enable style.ipynb. [dgit import unpatched pandas 1.5.3+dfsg-1] --- 7f3f7cc51ee7ab93eb7128baf030f5ab51f87469 diff --cc debian/README.source index 00000000,00000000..c60acd4c new file mode 100644 --- /dev/null +++ b/debian/README.source @@@ -1,0 -1,0 +1,18 @@@ ++New upstream and contributors_list update (warning: assumes my directory layout): ++ ++#update this: export version=1.5.1 ++cd ~/Debian/sourcepkgs/pandas ++GBP_CONF_FILES=~/.gbp.conf gbp import-orig --upstream-branch=upstream --debian-branch=main --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 ++git checkout main ++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..6b59ce26 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,1546 @@@ ++pandas (1.5.3+dfsg-1) unstable; urgency=medium ++ ++ * Upstream bugfix release. Update copyright and patches. ++ * Tests: ignore plot rounding errors. (Closes: #1029251) ++ * Tests: re-enable dask test, ignore numpy 1.24 warning. ++ * Docs: re-enable style.ipynb. ++ ++ -- Rebecca N. Palmer Sun, 22 Jan 2023 11:54:30 +0000 ++ ++pandas (1.5.2+dfsg-6) unstable; urgency=medium ++ ++ * Move xarray to Build-Depends-Indep to break circular dependency. ++ ++ -- Rebecca N. Palmer Wed, 11 Jan 2023 07:34:28 +0000 ++ ++pandas (1.5.2+dfsg-5) unstable; urgency=medium ++ ++ * Fix or ignore warnings from numpy 1.24. ++ * Stop ignoring tests on mips*, thanks to Adrian Bunk. ++ ++ -- Rebecca N. Palmer Tue, 10 Jan 2023 20:48:34 +0000 ++ ++pandas (1.5.2+dfsg-4) unstable; urgency=medium ++ ++ * Add dask transition Breaks (see #1025393). ++ * Don't try to load intersphinx links from python-numpy-doc, ++ as it no longer exists. ++ * Upload to unstable. (Closes: #1023965, #1022571) ++ ++ -- Rebecca N. Palmer Mon, 09 Jan 2023 19:45:45 +0000 ++ ++pandas (1.5.2+dfsg-3) experimental; urgency=medium ++ ++ * Tests: ignore a numpy warning. ++ ++ -- Rebecca N. Palmer Sat, 07 Jan 2023 10:09:11 +0000 ++ ++pandas (1.5.2+dfsg-2) experimental; urgency=medium ++ ++ * Fix date_range overflow in 32-bit. (Closes: #1026351) ++ * Don't try to load intersphinx links from python-matplotlib-doc, ++ as it no longer exists. (Closes: #1027576) ++ * Re-enable parso-using tests (as #1023896 has been fixed). ++ * Bump Standards-Version to 4.6.2 (no changes needed). ++ ++ -- Rebecca N. Palmer Fri, 06 Jan 2023 21:36:03 +0000 ++ ++pandas (1.5.2+dfsg-1) experimental; urgency=medium ++ ++ * Upstream bugfix release. Update contributors_list. ++ * Fix Lintian typo. ++ * Xfail parso-using tests (workaround for #1023896). ++ * Temporarily drop numba test-depends (skips tests), ++ as it is uninstallable due to #1024795. ++ * Add transition Breaks (see #1022571). ++ ++ -- Rebecca N. Palmer Wed, 30 Nov 2022 21:48:47 +0000 ++ ++pandas (1.3.5+dfsg-6) unstable; urgency=medium ++ ++ * Team upload ++ * Ignore test failures for first build with Python 3.11, ++ see #1023965 ++ ++ -- Graham Inggs Sun, 13 Nov 2022 10:36:51 +0000 ++ ++pandas (1.5.1+dfsg-3) experimental; urgency=medium ++ ++ * Revert minimum Cython version. ++ * Tests: fix another little-endian assumption. ++ * Silence some Lintian messages. ++ ++ -- Rebecca N. Palmer Thu, 10 Nov 2022 21:36:53 +0000 ++ ++pandas (1.5.1+dfsg-2) experimental; urgency=medium ++ ++ * Tests: xfail rolling.var/std rounding error on i386, ++ don't assume little-endian, ++ re-disable some SQL tests our setup blocks. ++ * Temporarily lower minimum Cython version (see LP#1995992). ++ ++ -- Rebecca N. Palmer Wed, 09 Nov 2022 21:17:44 +0000 ++ ++pandas (1.5.1+dfsg-1) experimental; urgency=medium ++ ++ * New upstream release. Update copyright and patches. ++ * Include more of the optional test-depends, for more test coverage. ++ * Update minimum dependency versions. ++ * Docs: update Sphinx extension dependencies, ++ use pydata theme but disable analytics (for privacy) and ++ features requiring dependencies we don't have. ++ * Tests: use the upstream mechanism to skip non-CI-friendly ++ (e.g. excessively resource-heavy) tests. ++ ++ -- Rebecca N. Palmer Mon, 07 Nov 2022 21:02:49 +0000 ++ ++pandas (1.4.3+dfsg-6) experimental; urgency=medium ++ ++ * Fix NaT bug introduced by previous patch. ++ ++ -- Rebecca N. Palmer Wed, 24 Aug 2022 22:01:26 +0100 ++ ++pandas (1.4.3+dfsg-5) experimental; urgency=medium ++ ++ * Fix bounds checking in float-to-datetime conversion. ++ ++ -- Rebecca N. Palmer Tue, 23 Aug 2022 22:24:15 +0100 ++ ++pandas (1.4.3+dfsg-4) experimental; urgency=medium ++ ++ * Tests: skip another s390x numba issue, new riscv64 date error test. ++ ++ -- Rebecca N. Palmer Mon, 22 Aug 2022 22:25:08 +0100 ++ ++pandas (1.4.3+dfsg-3) experimental; urgency=medium ++ ++ * Don't warn on non-x86 NaN->datetime cast, ++ as this has been fixed in numpy (#877754). ++ * Tests: fix architecture detection, skip another s390x numba crash, ++ extend hurd_compat.patch, more output around riscv64 date errors. ++ * Add transition Breaks (see #1017809). ++ ++ -- Rebecca N. Palmer Sun, 21 Aug 2022 18:13:03 +0100 ++ ++pandas (1.4.3+dfsg-2) experimental; urgency=medium ++ ++ * Tests: don't assume little-endian, ++ don't try to cast pytz version to float, ++ ignore a missing numpy warning on armel. ++ ++ -- Rebecca N. Palmer Sat, 20 Aug 2022 10:32:58 +0100 ++ ++pandas (1.4.3+dfsg-1) experimental; urgency=medium ++ ++ * New upstream release. Update copyright and patches. ++ * Upload to experimental, due to potential breakage. ++ * Remove xlwt Recommends. ++ * Update build/test-Depends. ++ * Re-enable numba (see #1000336). ++ * Update README.source. ++ * Update Lintian override format (see #1007002). ++ * Tests: add a searchable failure message to crashes/errors, ++ be less verbose so the log fits in the Salsa CI size limit, ++ remove a now-useless xlrd test, xfail some tests on 32-bit. ++ * Bump Standards-Version to 4.6.1 (no changes needed). ++ * Show the numba non-x86 warning on more (all?) numba uses. ++ * Drop stable_test_urls.patch. ++ ++ -- Rebecca N. Palmer Wed, 27 Jul 2022 22:17:33 +0100 ++ ++pandas (1.3.5+dfsg-5) unstable; urgency=medium ++ ++ * Fix FTBFS with Sphinx 5. (Closes: #1013375) ++ ++ -- Rebecca N. Palmer Sun, 26 Jun 2022 15:06:07 +0100 ++ ++pandas (1.3.5+dfsg-4) unstable; urgency=medium ++ ++ * Temporarily skip numba tests. (Closes: #1008179) ++ ++ -- Rebecca N. Palmer Fri, 25 Mar 2022 20:57:26 +0000 ++ ++pandas (1.3.5+dfsg-3) unstable; urgency=medium ++ ++ * Tests: be compatible with new fsspec. (Closes: #1006170) ++ * Re-enable numba tests. ++ * Fix pyversions call. ++ * Enable Salsa CI. ++ * Update Lintian overrides. ++ ++ -- Rebecca N. Palmer Mon, 21 Feb 2022 07:35:51 +0000 ++ ++pandas (1.3.5+dfsg-2) unstable; urgency=medium ++ ++ * Temporarily skip numba tests (see LP#1951814). ++ ++ -- Rebecca N. Palmer Fri, 28 Jan 2022 19:22:53 +0000 ++ ++pandas (1.3.5+dfsg-1) unstable; urgency=medium ++ ++ * Upstream bugfix release. Update contributors_list. ++ * Refresh patches, drop patches no longer needed. ++ * d/watch: Ignore RC versions. ++ * Docs: Add missing mathjax dependency. ++ ++ -- Rebecca N. Palmer Tue, 11 Jan 2022 21:25:17 +0000 ++ ++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..9573faf7 new file mode 100644 --- /dev/null +++ b/debian/contributors_list.txt @@@ -1,0 -1,0 +1,2989 @@@ ++Current to version 1.5.3 (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 ++ ++ 4022 jbrockmendel ++ 3130 Wes McKinney ++ 3043 jreback ++ 1690 Jeff Reback ++ 1254 Joris Van den Bossche ++ 943 y-p ++ 758 Tom Augspurger ++ 714 Matthew Roeschke ++ 630 Chang She ++ 620 Simon Hawkins ++ 607 Phillip Cloud ++ 464 gfyoung ++ 344 sinhrks ++ 327 Adam Klein ++ 241 William Ayd ++ 240 Patrick Hoefler ++ 198 Richard Shadrach ++ 196 MomIsBestFriend ++ 194 Marc Garcia ++ 178 patrick ++ 168 Daniel Saxton ++ 162 Torsten Wörtwein ++ 160 Andy Hayden ++ 154 Terji Petersen ++ 148 topper-123 ++ 145 MeeseeksMachine ++ 134 Fangchen Li ++ 128 Jeff Tratner ++ 122 Jeffrey Tratner ++ 119 attack68 ++ 115 Marco Gorelli ++ 109 Vytautas Jancauskas ++ 102 Matthew Zeitlin ++ 95 Thomas Li ++ 93 Jeremy Schendel ++ 92 Pietro Battiston ++ 89 Kaiqi Dong ++ 89 Skipper Seabold ++ 86 alimcmaster1 ++ 85 h-vetinari ++ 84 Stephan Hoyer ++ 77 JHM Darbyshire ++ 76 Wouter Overmeire ++ 74 Andrew Wieteska ++ 71 Kevin Sheppard ++ 70 jschendel ++ 66 Maxim Ivanov ++ 65 Sinhrks ++ 62 Martin Winkel ++ 61 TomAugspurger ++ 60 Mortada Mehyar ++ 57 Christopher Whelan ++ 55 Chris ++ 55 Thomas Kluyver ++ 54 behzad nouri ++ 51 Marco Edward Gorelli ++ 50 Irv Lustig ++ 49 Ka Wo Chen ++ 43 Kieran O'Mahony ++ 42 Dieter Vandenbussche ++ 38 Paul Reidy ++ 34 chris-b1 ++ 33 Evan Wright ++ 32 bwignall ++ 31 Jan Schulz ++ 31 Mak Sze Chun ++ 29 Yaroslav Halchenko ++ 29 immerrr ++ 28 David Stephens ++ 27 Avinash Pancham ++ 27 Luke Manley ++ 27 Thierry Moisan ++ 26 Gábor Lipták ++ 26 Justin Zheng ++ 26 Shoham Debnath ++ 26 realead ++ 25 Stephen Lin ++ 25 Thein Oo ++ 25 rockg ++ 24 Erfan Nariman ++ 24 Khor Chean Wei ++ 24 partev ++ 23 Fabian Haase ++ 23 Yuanhao Geng ++ 22 Jonas Haag ++ 22 Licht Takeuchi ++ 22 Ming Li ++ 22 ganevgv ++ 22 github-actions[bot] ++ 21 Ryan Nazareth ++ 21 moink ++ 20 DSM ++ 20 Dan Birken ++ 20 lexual ++ 19 Abraham Flaxman ++ 19 Alex Kirko ++ 19 Artemy Kolchinsky ++ 18 Ali McMaster ++ 18 Farhan Reynaldo ++ 18 Kerby Shedden ++ 18 Robert de Vries ++ 18 pilkibun ++ 18 unutbu ++ 17 Aidan Feldman ++ 17 Anthonios Partheniou ++ 17 Nicolas Bonnotte ++ 17 Uwe L. Korn ++ 16 Jiaxiang ++ 16 Matt Roeschke ++ 16 Saurav Chakravorty ++ 16 Tim Swast ++ 16 danielballan ++ 16 mzeitlin11 ++ 16 onesandzeroes ++ 15 Abdullah İhsan Seçer ++ 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 dataxerik ++ 13 willpeppo ++ 12 Albert Villanova del Moral ++ 12 Alex Rychyk ++ 12 Bharat Raghunathan ++ 12 Luca Beltrame ++ 12 PKEuS ++ 12 Richard T. Guy ++ 12 Thomas Smith ++ 12 Tommy ++ 12 Wenhuan ++ 11 Andrew Rosenfeld ++ 11 Daniel Himmelstein ++ 11 Joe Jevnik ++ 11 John Zangwill ++ 11 Keith Hughitt ++ 11 Pandas Development Team ++ 11 Parfait Gasana ++ 11 anmyachev ++ 11 proost ++ 11 terrytangyuan ++ 10 Aaron Critchley ++ 10 Alexander Ponomaroff ++ 10 Andrew Hawyrluk ++ 10 Anjali2019 ++ 10 Dale Jung ++ 10 DriesS ++ 10 Eric Leung ++ 10 Felix Dulys ++ 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 cbertinato ++ 9 3vts ++ 9 Damien Garaud ++ 9 Guillaume Gay ++ 9 Jack Goldsmith ++ 9 Jacob Schaer ++ 9 Michael Marino ++ 9 Shao Yang Hong ++ 9 Tobias Pitters ++ 9 Tong SHEN ++ 9 Vasily Litvinov ++ 9 Viktor Kerkez ++ 9 cleconte987 ++ 9 poloso ++ 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 Vyom Pathak ++ 8 himanshu awasthi ++ 8 iasoon ++ 8 jnmclarty ++ 7 Benedikt Sauer ++ 7 Chuanzhu Xu ++ 7 Dan Allan ++ 7 Daniel Schmidt ++ 7 Derek McCammond ++ 7 Francis T. O'Donovan ++ 7 Honfung Wong ++ 7 Jason Sexauer ++ 7 Johannes Mueller ++ 7 Kernc ++ 7 Michael Mueller ++ 7 Quang Nguyễn ++ 7 Robin to Roxel ++ 7 Rushabh Vasani ++ 7 Samesh Lakhotia ++ 7 Takafumi Arakaki ++ 7 Thomas Grainger ++ 7 Winterflower ++ 7 Younggun Kim ++ 7 Yury Mikhaylov ++ 7 dsm054 ++ 7 ftrihardjo ++ 7 nipunreddevil ++ 7 nrebena ++ 7 scls19fr ++ 7 themien ++ 6 ArtinSarraf ++ 6 Benjamin Rowell ++ 6 Brad Buran ++ 6 Bran Yang ++ 6 Brian Wignall ++ 6 Chris Whelan ++ 6 David Bew ++ 6 Deepyaman Datta ++ 6 FactorizeD ++ 6 Garrett-R ++ 6 Graham Inggs ++ 6 HH-MWB ++ 6 Jeff Carey ++ 6 Kashif Khan ++ 6 Kelsey Jordahl ++ 6 Mateusz Woś ++ 6 Matt Kirk ++ 6 Matti Picus ++ 6 Micael Jarniac ++ 6 Neil Parley ++ 6 Nicholaus E. Halecky ++ 6 Piotr Jucha ++ 6 Roman Yurchak ++ 6 Rouz Azari ++ 6 Stephen Hoover ++ 6 Steve ++ 6 Thomas A Caswell ++ 6 Thomas Dickson ++ 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 hasan-yaman ++ 6 ischwabacher ++ 6 kernc ++ 6 krajatcl ++ 6 mproszewska ++ 6 rbenes ++ 6 rebecca-palmer ++ 6 saehuihwang ++ 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 Joeperdefloep ++ 5 Jon Mease ++ 5 Joris Vankerschaver ++ 5 Josh ++ 5 Josh Dimarsky ++ 5 Ksenia ++ 5 Lars Buitinck ++ 5 LeakedMemory ++ 5 Loic Diridollou ++ 5 Loïc Estève ++ 5 Luis Pinto ++ 5 Marc Abramowitz ++ 5 Mark Wiebe ++ 5 Matthias Bussonnier ++ 5 Max Chen ++ 5 Michael Hsieh ++ 5 Nicholas Musolino ++ 5 Nick Crews ++ 5 Oğuzhan Öğreden ++ 5 Pauli Virtanen ++ 5 Peter ++ 5 Prabakaran Kumaresshan ++ 5 Prakhar Pandey ++ 5 Sangwoong Yoon ++ 5 Scott E Lasley ++ 5 Stijn Van Hoey ++ 5 Sumanau Sareen ++ 5 Sylvain Marié ++ 5 Tao He ++ 5 Tarbo Fukazawa ++ 5 Ted Petrou ++ 5 Tomaz Berisa ++ 5 TrigonaMinima ++ 5 Troels Nielsen ++ 5 William Blan ++ 5 Xingrong Chen ++ 5 Yuichiro Kaneko ++ 5 avinashpancham ++ 5 benjamin ++ 5 dieterv77 ++ 5 dilex42 ++ 5 donK23 ++ 5 fathomer ++ 5 kylekeppler ++ 5 pv8493013j ++ 5 tshauck ++ 5 yui-knk ++ 4 Adam Greenhall ++ 4 Alex Lim ++ 4 Alvaro Tejero-Cantero ++ 4 Andreas Würl ++ 4 Anna Daglis ++ 4 Anthony Milbourne ++ 4 Armin Varshokar ++ 4 Avi Sen ++ 4 Ben Beasley ++ 4 Benjamin Thyreau ++ 4 Blake Hawkins ++ 4 Bob Haffner ++ 4 Brenda Moon ++ 4 Brett Naul ++ 4 Brian Hulette ++ 4 Caleb Epstein ++ 4 Calvin Ho ++ 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 Danil Iashchenko ++ 4 Dave Hughes ++ 4 David Adrián Cañones Castellano ++ 4 Dražen Lučanin ++ 4 Ekaterina ++ 4 Erik ++ 4 Fred Reiss ++ 4 Gianluca Rossi ++ 4 Giftlin Rajaiah ++ 4 Goyo ++ 4 Gregg Lind ++ 4 Guilherme Beltramini ++ 4 Henning Sperr ++ 4 Isaac Virshup ++ 4 Jacques Kvam ++ 4 James Myatt ++ 4 Janosh Riebesell ++ 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 Lorenzo Maffioli ++ 4 Lucas Rodés-Guirao ++ 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 Nick Anderson ++ 4 OXPHOS ++ 4 Olivier Grisel ++ 4 Oluokun Adedayo ++ 4 Parthi ++ 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 Sven ++ 4 Trent Hauck ++ 4 Tyler Reddy ++ 4 Varun Shrivastava ++ 4 Vincent La ++ 4 Vladimir Filimonov ++ 4 Vyomkesh Tripathi ++ 4 Wenjun Si ++ 4 Will Holmgren ++ 4 Yoshiki Vázquez Baeza ++ 4 Zero ++ 4 akosel ++ 4 aneesh98 ++ 4 cel4 ++ 4 cgohlke ++ 4 chapman siu ++ 4 gliptak ++ 4 hugo ++ 4 junk ++ 4 kota matsuoka ++ 4 luzpaz ++ 4 robbuckley ++ 4 rosagold ++ 4 srotondo ++ 4 taytzehao ++ 4 vangorade ++ 4 waitingkuo ++ 4 wcwagner ++ 3 Aaditya Panikath ++ 3 Abhijeet Krishnan ++ 3 Adam Hooper ++ 3 Ahmed Ibrahim ++ 3 Aleksey Bilogur ++ 3 Alex Alekseyev ++ 3 Alexander Buchkovsky ++ 3 Alfonso MHC ++ 3 Alp Arıbal ++ 3 Andreas Winkler ++ 3 Andrew Wood ++ 3 Angelos Evripiotis ++ 3 Aniruddha Bhattacharjee ++ 3 Anjana S ++ 3 Anthony Givans ++ 3 Anton I. Sipos ++ 3 Baurzhan Muftakhidinov ++ 3 BeanNan ++ 3 Ben Welsh ++ 3 Benjamin Beier Liu ++ 3 Benoît Vinot ++ 3 Bhavani Ravi ++ 3 Big Head ++ 3 Boris Rumyantsev ++ 3 Brandon M. Burroughs ++ 3 Brian Sun ++ 3 Brock Mendel ++ 3 Carlos Souza ++ 3 Chris Bertinato ++ 3 Chris Mazzullo ++ 3 Christoph Gohlke ++ 3 Christos Petropoulos ++ 3 DaPy15 ++ 3 DanielFEvans ++ 3 Dave Hirschfeld ++ 3 Dave Willmer ++ 3 David Krych ++ 3 Devin Petersohn ++ 3 Dillon Niederhut ++ 3 Doug Latornell ++ 3 EdAbati ++ 3 Elle ++ 3 Elliot Rampono ++ 3 Eric Chea ++ 3 Felix Divo ++ 3 Francesc Via ++ 3 Gabriel Monteiro ++ 3 Gesa Stupperich ++ 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 Horace Lai ++ 3 Hubert ++ 3 Hugues Valois ++ 3 Hyukjin Kwon ++ 3 Iain Barr ++ 3 Ingolf Becker ++ 3 Iqrar Agalosi Nureyza ++ 3 Israel Saeta Pérez ++ 3 Ivan Nazarov ++ 3 JMBurley ++ 3 Jack Bicknell ++ 3 Jack Liu ++ 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 Mantios ++ 3 John McGuigan ++ 3 Joon Ro ++ 3 Jordan Hicks ++ 3 Josh Friedlander ++ 3 Josh Klein ++ 3 Josiah Baker ++ 3 José Duarte ++ 3 Julia Signell ++ 3 Justin Essert ++ 3 Kamil Trocewicz ++ 3 Kapil E. Iyer ++ 3 Karmel Allison ++ 3 Kate Surta ++ 3 Keshav Ramaswamy ++ 3 Kim, KwonHyun ++ 3 Krishna Chivukula ++ 3 Kyle Barron ++ 3 Leonardus Chen ++ 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 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 Noa Tamir ++ 3 Noah ++ 3 Noam Hershtig ++ 3 Nofar Mishraki ++ 3 Pamela Wu ++ 3 Patrick O'Brien ++ 3 Paul ++ 3 Paul Ganssle ++ 3 Philipp A ++ 3 Piotr Niełacny ++ 3 Pradyumna Rahul ++ 3 Prasanjit Prakash ++ 3 Prithvijit ++ 3 Pulkit Maloo ++ 3 Rahul Sathanapalli ++ 3 Randy Carnevale ++ 3 Ray Bell ++ 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 Shorokhov Sergey ++ 3 Simon Gibbons ++ 3 Souvik Mandal ++ 3 Sparkle Russell-Puleri ++ 3 Stefania Delprete ++ 3 Stefanie Molin ++ 3 Stefano Cianciulli ++ 3 Suvayu Ali ++ 3 TLouf ++ 3 Tania Allard ++ 3 Thijs Damsma ++ 3 Thomas Yu ++ 3 Tim Hoffmann ++ 3 Tjerk Santegoeds ++ 3 Toby Dylan Hocking ++ 3 Tom Ajamian ++ 3 Tom Bird ++ 3 UrielMaD ++ 3 Vaibhav K ++ 3 Victoria Zdanovskaya ++ 3 Yago González ++ 3 Yanxian Lin ++ 3 Yian ++ 3 Zac Hatfield-Dodds ++ 3 Zheyuan ++ 3 Zito Relova ++ 3 abmyii ++ 3 adneu ++ 3 aflah02 ++ 3 alm ++ 3 alphaCTzo7G ++ 3 anomrake ++ 3 arredond ++ 3 auderson ++ 3 beanan ++ 3 davidshinn ++ 3 dengemann ++ 3 deponovo ++ 3 duozhang ++ 3 ehsan shirvanian ++ 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 neelmraman ++ 3 ogiaquino ++ 3 prossahl ++ 3 rekcahpassyla ++ 3 ri938 ++ 3 shawnbrown ++ 3 shubham11941140 ++ 3 stonebig ++ 3 tehunter ++ 3 thatneat ++ 3 tushushu ++ 3 tv3141 ++ 3 unknown ++ 3 usersblock ++ 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 Volkov ++ 2 Alex Watt ++ 2 Alex-Gregory-1 ++ 2 Alexander Michael Schade ++ 2 Alexis Mignon ++ 2 AleÅ¡ Erjavec ++ 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 Bernard Willers ++ 2 Bhuvana KA ++ 2 Bill Letson ++ 2 Bobae Kim ++ 2 Bryan Cutler ++ 2 Camilo Cota ++ 2 Carol Willing ++ 2 Chamoun Saoma ++ 2 Chandrasekaran Anirudh Bhardwaj ++ 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 ChrisAlbertsen ++ 2 Christer van der Meeren ++ 2 Christian Chwala ++ 2 CloseChoice ++ 2 Cody ++ 2 Compro Prasad ++ 2 Dan Ringwalt ++ 2 Daniel Grady ++ 2 Daniel Hrisca ++ 2 Daniel I ++ 2 Daniel Isaac ++ 2 Dare Adewumi ++ 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 Dennis Chukwunta ++ 2 Dennis J. Gray ++ 2 DeviousLab ++ 2 Devjeet Roy ++ 2 Diane Trout ++ 2 Diego Argueta ++ 2 Digres45 ++ 2 Dom ++ 2 Doran Deluz ++ 2 Douglas Hanley ++ 2 Douglas Rudd ++ 2 Dražen Lučanin ++ 2 Drew Seibert ++ 2 Dror Atariah ++ 2 Eduardo Schettino ++ 2 Egor ++ 2 Egor Panfilov ++ 2 Eirik ++ 2 Elliott Sales de Andrade ++ 2 Emiliano Jordan ++ 2 Endre Mark Borza ++ 2 Eric Chlebek ++ 2 Eric Wieser ++ 2 EricLeer ++ 2 Eve ++ 2 Fabian Gabel ++ 2 Fabian Gebhart ++ 2 Fabian Retkowski ++ 2 Fabian Rost ++ 2 Fabio Zanini ++ 2 Florian Jetter ++ 2 Fábio Rosado ++ 2 Gabriel Corona ++ 2 Gabriel Di Pardi Arruda ++ 2 Gabriel Tutui ++ 2 Gautham ++ 2 George Hartzell ++ 2 Geraint Duck ++ 2 Giacomo Caria ++ 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 Jack Kelly ++ 2 Jacob Peacock ++ 2 Jacopo Rota ++ 2 Jaehoon Hwang ++ 2 Jaidev Deshpande ++ 2 James Draper ++ 2 James Lamb ++ 2 Jan Koch ++ 2 Jan Å koda ++ 2 Janus ++ 2 Jarrod Millman ++ 2 Jaume Bonet ++ 2 Javad Noorbakhsh ++ 2 Jay Parlar ++ 2 Jeet Parekh ++ 2 Jeff Knupp ++ 2 Jeff Mellen ++ 2 Jeffrey Gerard ++ 2 Jeremy Tuloup ++ 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 Juarez Bochi ++ 2 Julia Evans ++ 2 Julien Danjou ++ 2 Jung Dong Ho ++ 2 Justin Bozonier ++ 2 Justin Lecher ++ 2 Justin McOmie ++ 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 Kian Eliasi ++ 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 Martin Fleischmann ++ 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 Michael Wang ++ 2 Miguel ++ 2 Mike Phung ++ 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 Prettenhofer ++ 2 Phan Duc Nhat Minh ++ 2 Philipp Schaefer ++ 2 Pierre Haessig ++ 2 Piotr Chromiec ++ 2 Piyush Aggarwal ++ 2 Prayag Savsani ++ 2 Prerana Chakraborty ++ 2 Punitvara ++ 2 Rafal Skolasinski ++ 2 Rahul Chauhan ++ 2 Rajib Mitra ++ 2 Ravi Kumar Nimmi ++ 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 Ruan Pretorius ++ 2 RuiDC ++ 2 Ruijing Li ++ 2 Ryan Rehman ++ 2 Sachin Yadav ++ 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 Scott Talbert ++ 2 Seb ++ 2 Sebastián Vanrell ++ 2 Shadi Akiki ++ 2 Shahul Hameed ++ 2 Shantanu ++ 2 Shantanu Gontia ++ 2 Shawn Zhong ++ 2 Sheppard, Kevin ++ 2 Shiv Gupta ++ 2 Shuangchi He ++ 2 Sietse Brouwer ++ 2 Simon Knott ++ 2 Simon-Martin Schröder ++ 2 Simone Basso ++ 2 SleepingPills ++ 2 Somtochi Umeh ++ 2 Soyoun(Rose) Kim ++ 2 Stefaan Lippens ++ 2 Steffen Rehberg ++ 2 Stephen Childs ++ 2 Stephen Pascoe ++ 2 Stephen Simmons ++ 2 Steve Cook ++ 2 Steven Rotondo ++ 2 Steven Schaerer ++ 2 SylvainLan ++ 2 T. JEGHAM ++ 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 Tom Aarsen ++ 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 Venaturum ++ 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 Wilfred Hughes ++ 2 Will Ayd ++ 2 Will Furnass ++ 2 WillAyd ++ 2 William Andrea ++ 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 Yvan Gatete ++ 2 Zach Angell ++ 2 Zak Kohler ++ 2 adatasetaday ++ 2 akittredge ++ 2 andresmcneill ++ 2 ante328 ++ 2 bashtage ++ 2 bjonen ++ 2 bolkedebruin ++ 2 broessli ++ 2 cgangwar11 ++ 2 charalampos papaloizou ++ 2 charlogazzo ++ 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 ehallam ++ 2 elpres ++ 2 eshirvana ++ 2 fjdiod ++ 2 froessler ++ 2 fshi01 ++ 2 gabrielvf1 ++ 2 gdex1 ++ 2 ghasemnaddaf ++ 2 gunjan-solanki ++ 2 hardikpnsp ++ 2 i-aki-y ++ 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 michal-gh ++ 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 rtpsw ++ 2 rvernica ++ 2 ryangilmour ++ 2 s-scherrer ++ 2 scotthavard92 ++ 2 springcoil ++ 2 srib ++ 2 srinivasan ++ 2 ssikdar1 ++ 2 sstiijn ++ 2 stanleycai95 ++ 2 stphnlyd ++ 2 svenharris ++ 2 taeold ++ 2 tiagohonorato ++ 2 tim smith ++ 2 timhunderwood ++ 2 tobycheese ++ 2 tolhassianipar ++ 2 tomneep ++ 2 tonywu1999 ++ 2 tonyyyyip ++ 2 tsdlovell ++ 2 tzinckgraf ++ 2 westurner ++ 2 xpvpc ++ 2 yogendrasoni ++ 2 zeitlinv ++ 1 1_x7 ++ 1 21CSM ++ 1 3553x ++ 1 A Brooks ++ 1 A. Flaxman ++ 1 AJ Dyka ++ 1 AJ Pryor, Ph.D ++ 1 ARF ++ 1 Aadharsh-Acharya ++ 1 Aadhi Manivannan ++ 1 Aaron Barber ++ 1 Aaron Schumacher ++ 1 Aaron Toth ++ 1 Abbie Popa ++ 1 AbdealiJK ++ 1 AbdulMAbdi ++ 1 Abhiraj Hinge ++ 1 Abhishek R ++ 1 Abo7atm ++ 1 Acanthostega ++ 1 Ada Draginda ++ 1 Adam Bowden ++ 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 Aditya Agarwal ++ 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 Alastair Porter ++ 1 Alejandro Giacometti ++ 1 Alejandro Hall ++ 1 Alejandro Hohmann ++ 1 Aleksandr Drozd ++ 1 Alessandro Amici ++ 1 Alessandro Bisiani ++ 1 Alex B ++ 1 Alex Itkes ++ 1 Alex Lubbock ++ 1 Alex Marchenko ++ 1 Alex Povel ++ 1 Alex Radu ++ 1 Alex Strick van Linschoten ++ 1 Alex Thorne ++ 1 Alex Vig ++ 1 Alex-Blade ++ 1 AlexTereshenkov ++ 1 Alexander Gorodetsky ++ 1 Alexander Hendorf ++ 1 Alexander Hess ++ 1 Alexander Lenail ++ 1 Alexander Nordin ++ 1 Alexander Regueiro ++ 1 Alexandra Sciocchetti ++ 1 Alexandre Batisse ++ 1 Alexandre Decan ++ 1 Alexey Györi ++ 1 Alfredo Granja ++ 1 Alibi ++ 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 Andras Deak ++ 1 Andrea Bedini ++ 1 Andreas Buhr ++ 1 Andreas H. ++ 1 Andreas Klostermann ++ 1 Andreas Költringer ++ 1 Andrei Batomunkuev ++ 1 Andrew Bui ++ 1 Andrew Eckart ++ 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 亮 ++ 1 András Novoszáth ++ 1 André Jonasson ++ 1 Andy Craze ++ 1 Andy Grigg ++ 1 Andy Li ++ 1 Aneta Kahleová ++ 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 Anton Lodder ++ 1 Anton Shevtsov ++ 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 Armin Berres ++ 1 Arno Veenstra ++ 1 Arun12121 ++ 1 Arunim Samudra ++ 1 Arushi Sharma ++ 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 B. J. Potter ++ 1 BarkotBeyene ++ 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 Ben Wozniak ++ 1 Benedikt Heidrich ++ 1 Beni Bienz ++ 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 Bernhard Wagner ++ 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 Costa ++ 1 Bruno P. Kinoshita ++ 1 Bryan Racic ++ 1 Bryant Moscon ++ 1 Bryce Guinta ++ 1 Byron Boulton ++ 1 C John Klehm ++ 1 C.A.M. Gerlach ++ 1 CCXXXI ++ 1 Caleb ++ 1 Caleb Braun ++ 1 Carl Johan ++ 1 Carlos Eduardo Moreira dos Santos ++ 1 Carlos García Márquez ++ 1 Carsten van Weelden ++ 1 Carter Green ++ 1 Cecilia ++ 1 Cesar H ++ 1 Charles Blackmon-Luca ++ 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 Moradi ++ 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 ChristofKaufmann ++ 1 Christoph Deil ++ 1 Christoph Moehl ++ 1 Christoph Paulik ++ 1 Christopher Hadley ++ 1 Christopher Scanlin ++ 1 Christopher Yeh ++ 1 Chu Qing Hao ++ 1 Cihan Ceyhan ++ 1 ClaudiaSilver ++ 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 Barabonkov ++ 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 Coll ++ 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 Darin Plutchok ++ 1 Dav Clark ++ 1 Dave Lewis ++ 1 David ++ 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 Sanders ++ 1 David Schlachter ++ 1 David Wales ++ 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 Derzan Chiang ++ 1 Dhruv B Shetty ++ 1 Dhruv Samdani ++ 1 Diego Fernandez ++ 1 Diego Torres ++ 1 Dimitri ++ 1 Dimitris Spathis ++ 1 Dina ++ 1 Dmitriy Perepelkin ++ 1 Dmitry L ++ 1 Dmitry Savostyanov ++ 1 Dmytro Litvinov ++ 1 Do Young Kim ++ 1 Dobatymo ++ 1 Dody Suria Wijaya ++ 1 Dominik Kutra ++ 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 Drew Levitt ++ 1 Drewrey Lupton ++ 1 Dries Schaumont ++ 1 Dylan Dmitri Gray ++ 1 Dylan Percy ++ 1 Dāgs GrÄ«nbergs ++ 1 ETF ++ 1 Eduardo Blancas Reyes ++ 1 Edward Huang ++ 1 Ehsan Azarnasab ++ 1 Eli Dourado ++ 1 Eli Treuherz ++ 1 Eliza Mae Saret ++ 1 Elliot Marsden ++ 1 Elliot S ++ 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 Evgeny Naumov ++ 1 Ewout ter Hoeven ++ 1 Eyal Trabelsi ++ 1 Eyden Villanueva ++ 1 Ezra Brauner ++ 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 Andreuzzi ++ 1 Francesco Brundu ++ 1 Francesco Romandini ++ 1 Francesco Truzzi ++ 1 Francois Dion ++ 1 Frank Cleary ++ 1 Frank Hoang ++ 1 Frank Pinter ++ 1 Frans Larsson ++ 1 Frans van Dunné ++ 1 Fumito Hamamura ++ 1 GYHHAHA ++ 1 GYvan ++ 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 Gandenberger ++ 1 Greg Reda ++ 1 Greg Siano ++ 1 Greg Williams ++ 1 Gregory Livschitz ++ 1 Griffin Ansel ++ 1 Grigorios Giannakopoulos ++ 1 Grzegorz Konefał ++ 1 Guilherme Leite ++ 1 Guilherme Salomé ++ 1 Guilherme Samora ++ 1 Guillem Borrell ++ 1 Guillem Sánchez ++ 1 Guo Ci ++ 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 Hiroaki Ogasawara ++ 1 Hissashi Rocha ++ 1 Hood Chatham ++ 1 Horace ++ 1 Hsiaoming Yang ++ 1 Huan Li ++ 1 Hugo Herter ++ 1 Huize Wang ++ 1 Hung-Yi Wu ++ 1 Hussain Tamboli ++ 1 Ian Alexander Joiner ++ 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 Ivan Ng ++ 1 Iván Vallés Pérez ++ 1 JElfner ++ 1 Jack Greisman ++ 1 Jackie Leng ++ 1 Jacob Austin ++ 1 Jacob Buckheit ++ 1 Jacob Bundgaard ++ 1 Jacob Deppen ++ 1 Jacob Howard ++ 1 Jacob Skwirsk ++ 1 Jacob Stevens-Haas ++ 1 Jacob Wasserman ++ 1 Jaime Di Cristina ++ 1 Jake Tae ++ 1 Jake Torcasso ++ 1 Jake Vanderplas ++ 1 Jakob Jarmar ++ 1 Jakub Nowacki ++ 1 James Bourbeau ++ 1 James Casbon ++ 1 James Freeman ++ 1 James Goppert ++ 1 James Hiebert ++ 1 James Holcombe ++ 1 James McBride ++ 1 James Moro ++ 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 Jason Bandlow ++ 1 Jason Bian ++ 1 Jason Jia ++ 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 Jernej Makovsek ++ 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 Gibson ++ 1 Joel Whittier ++ 1 Joerg Rittinger ++ 1 Joeun Park ++ 1 Johan KÃ¥hrström ++ 1 Johan von Forstner ++ 1 John ++ 1 John Bencina ++ 1 John Bodley ++ 1 John Cant ++ 1 John Evans ++ 1 John Fremlin ++ 1 John Paton ++ 1 John S Bogaardt ++ 1 John Tucker ++ 1 John Ward ++ 1 Johnny ++ 1 Johnny Chiu ++ 1 Johnny Gill ++ 1 Johnny Metz ++ 1 Jon Bramley ++ 1 Jon Crall ++ 1 Jon Haitz Legarreta Gorroño ++ 1 Jon Thielen ++ 1 Jon Wiggins ++ 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 Ortiz ++ 1 Jose Rivera-Rubio ++ 1 Joseph Gulian ++ 1 JosephParampathu ++ 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 Fleischer ++ 1 Julian Kuhlmann ++ 1 Julian Santander ++ 1 Julian Schnitzler ++ 1 Julian Steger ++ 1 Julien Marrec ++ 1 Julien de la Bruère-T ++ 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 Kadatatlu Kishore ++ 1 Kai Priester ++ 1 Kamal Kamalaldin ++ 1 Kamil Sindi ++ 1 Kane ++ 1 Kapil Patel ++ 1 Karel De Brabandere ++ 1 Karl Dunkle Werner ++ 1 Karmanya Aggarwal ++ 1 Karrie Kehoe ++ 1 Karthik Velayutham ++ 1 Kassandra Keeton ++ 1 Katherine Surta ++ 1 Katherine Younglove ++ 1 Katie Atkinson ++ 1 Kaushal Rohit ++ 1 Kavya9986 ++ 1 Kazuki Igeta ++ 1 Keiron Pizzey ++ 1 Keith Kraus ++ 1 Keith Webber ++ 1 Kelly ++ 1 Keming Zhang ++ 1 Ken Mankoff ++ 1 Ken Van Haren ++ 1 Kendall ++ 1 Kenil ++ 1 Kenneth ++ 1 Ketan ++ 1 Kevin Anderson ++ 1 Kevin Jan Anker ++ 1 Kevin Kuhl ++ 1 Kevin Markham ++ 1 Kevin Nguyen ++ 1 Kian S ++ 1 Kiley Hewitt ++ 1 Kilian Lieret ++ 1 Kimi Li ++ 1 Kinza-Raza ++ 1 Kirk Hansen ++ 1 Kisekka David ++ 1 Kodi Arfer ++ 1 Koen Roelofs ++ 1 Koki Nishihara ++ 1 Konjeti Maruthi ++ 1 KotlinIsland ++ 1 Koushik ++ 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 Leonardo Freua ++ 1 Levi Matus ++ 1 Lewis Cowles ++ 1 Li Jin ++ 1 Liam Marshall ++ 1 Liang-Chi Hsieh ++ 1 Lightyears ++ 1 Linda Chen ++ 1 Line Pedersen ++ 1 Linxiao Francis Cong ++ 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 LucasG0 ++ 1 Lucca Delchiaro Costabile ++ 1 Luciano Viola ++ 1 Lucky Sivagurunathan ++ 1 Lucy Jiménez ++ 1 Ludovico Russo ++ 1 Luis Ortiz ++ 1 Luiz Gustavo ++ 1 Lukasz ++ 1 Luke Lee ++ 1 Luke Shepard ++ 1 LunarLanding ++ 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 Marcel Bittar ++ 1 Marcel Gerber ++ 1 Marco Farrugia ++ 1 Maria del Mar Bibiloni ++ 1 Maria-Alexandra Ilie ++ 1 Mariam-ke ++ 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 Grigorov ++ 1 Martin Jones ++ 1 Martin Journois ++ 1 Marty Rudolf ++ 1 Marvin ++ 1 Marvin John Walter ++ 1 Marvzinc ++ 1 María Marino ++ 1 MasonGallo ++ 1 MatanCohe ++ 1 Mateusz Piotrowski ++ 1 Matheus Cardoso ++ 1 Mathew Topper ++ 1 Mathias Hauser ++ 1 Matilda M ++ 1 Matt Bark ++ 1 Matt Boggess ++ 1 Matt Cooper ++ 1 Matt Gambogi ++ 1 Matt Richards ++ 1 Matt Savoie ++ 1 Matt Suggit ++ 1 Matt Williams ++ 1 MattRijk ++ 1 Matteo Felici ++ 1 Matthew Davis ++ 1 Matthew Kirk ++ 1 Matthew Lurie ++ 1 Matthew Rocklin ++ 1 Matthew Tan ++ 1 Matthias Kuhn ++ 1 Matthieu Brucher ++ 1 Matti Airas ++ 1 Mauro Silberberg ++ 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 Mehgarg ++ 1 Mehmet Ali "Mali" Akmanalp ++ 1 Melissa Weber Mendonça ++ 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 Milton ++ 1 Michael P. Moran ++ 1 Michael Röttger ++ 1 Michael Sarrazin ++ 1 Michael Scherer ++ 1 Michael Selik ++ 1 Michael Silverstein ++ 1 Michael Waskom ++ 1 Michael-J-Ward ++ 1 Michał Górny ++ 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 McCarty ++ 1 Mike Roberts ++ 1 Mike Taves ++ 1 Mikolaj Chwalisz ++ 1 Milo ++ 1 Miloni Atal ++ 1 Min ho Kim ++ 1 MinGyo Jung ++ 1 MinRK ++ 1 Misha Veldhoen ++ 1 Mitlasóczki Bence ++ 1 Mohamad Hussein Rkein ++ 1 Mohit Anand ++ 1 Monica ++ 1 Montana Low ++ 1 Moonsoo Kim ++ 1 Morgan Stuart ++ 1 Morgan243 ++ 1 Morisa Manzella ++ 1 Moritz Münst ++ 1 Moritz Schreiber ++ 1 Morten Canth Hels ++ 1 Morton Fox ++ 1 Moussa Taifi ++ 1 Muhammad Haseeb Tariq ++ 1 Mukul Ashwath Ram ++ 1 MusTheDataGuy ++ 1 Mykola Golubyev ++ 1 NJOKU OKECHUKWU VALENTINE ++ 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 Neal McBurnett ++ 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 Nicolas Hug ++ 1 Nidhi Zare ++ 1 Nigel Markey ++ 1 Nikita Sobolev ++ 1 Niklas Weber ++ 1 Nikoleta Glynatsi ++ 1 Nikos Karagiannakis ++ 1 Nima Sarang ++ 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 Cavadenti ++ 1 Olivier Harris ++ 1 Omar Afifi ++ 1 Omer Ozarslan ++ 1 Onno Eberhard ++ 1 Osman ++ 1 Owen Lamont ++ 1 Ozan Öğreden ++ 1 P-Tillmann ++ 1 PApostol ++ 1 Pablo Ambrosio ++ 1 Pan Deng / Zora ++ 1 Parfait G ++ 1 Partho ++ 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 Hawkins ++ 1 Peter Hoffmann ++ 1 Peter Liu ++ 1 Peter Quackenbush ++ 1 Peter Steinbach ++ 1 Peter Tillmann ++ 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 Pierrot ++ 1 Piotr Kasprzyk ++ 1 Prabha Arivalagan ++ 1 Prabhjot Singh ++ 1 Pradyumna Reddy Chinthala ++ 1 Pranav Suri ++ 1 Pranjal Bhardwaj ++ 1 Prashant Anand ++ 1 Pratap Vardhan ++ 1 Pratik Patel ++ 1 Priyanka Ojha ++ 1 Puneeth K ++ 1 Puneetha Pai ++ 1 Purna Chandra Mansingh ++ 1 Purushothaman Srikanth ++ 1 Pyry Kovanen ++ 1 QP Hou ++ 1 README Bot ++ 1 Radoslaw Lemiec ++ 1 Rafael Jaimes III ++ 1 Rafif ++ 1 Raghav ++ 1 Rahul Gaikwad ++ 1 RahulHP ++ 1 Rajat ++ 1 Rajhans Jadhao ++ 1 Rajiv Bharadwaj ++ 1 Rakshit Naidu ++ 1 Ralph Bean ++ 1 Red ++ 1 Redonnet Louis ++ 1 Reinert Huseby Karlsen ++ 1 RenzoBertocchi ++ 1 Reshama Shaikh ++ 1 Rhys Parry ++ 1 Ricardo Alanis ++ 1 Ricardo Martins ++ 1 Richard Eames ++ 1 Richard Lewis ++ 1 Ridhwan Luthra ++ 1 Rishipuri ++ 1 Rob Forgione ++ 1 Rob deCarvalho ++ 1 Robbert-jan 't Hoen ++ 1 Robbie Palmer ++ 1 Robert ++ 1 Robert Gibboni ++ 1 Robert Kern ++ 1 Robert Voyer ++ 1 Robin Kiplang'at ++ 1 Robin Raymond ++ 1 RobinFiveWords ++ 1 Rodolfo Fernandez ++ 1 Roger ++ 1 Roger Murray ++ 1 Rohan Pandit ++ 1 Rohan Sharma ++ 1 Rohan Sirohia ++ 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 Ruizhe Deng ++ 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 SELEE ++ 1 SEUNG HOON, SHIN ++ 1 SHUBH CHATTERJEE ++ 1 Saiwing Yeung ++ 1 Sakar Panta ++ 1 Sam Cohen ++ 1 Sam Ezebunandu ++ 1 Sam James ++ 1 Sam Purkis ++ 1 Sam Rao ++ 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 Sandro Casagrande ++ 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 SdgJlbl ++ 1 Sean Chan ++ 1 Sean M. Law ++ 1 Sebastiaan Vermeulen ++ 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 Shaghayegh ++ 1 Shannon Wang ++ 1 Sharad Vijalapuram ++ 1 Sharon Woo ++ 1 Shashank Agarwal ++ 1 Shashank Shet ++ 1 Shashwat Sharma ++ 1 Shengpu Tang ++ 1 Sheogorath27 ++ 1 ShilpaSugan ++ 1 Shirish Kadam ++ 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 Solomon Song ++ 1 Song Wenhao ++ 1 Soumya ++ 1 Sourav kumar ++ 1 Souris Ash ++ 1 Soyoun Kim ++ 1 Spencer Carrucciu ++ 1 Spencer Clark ++ 1 SplashDance ++ 1 Stan West ++ 1 Stefan Krawczyk ++ 1 Stefan Mejlgaard ++ 1 Stefan van der Walt ++ 1 Stefano Alberto Russo ++ 1 Stefano Miccoli ++ 1 Steffen Schmitz ++ 1 Sten ++ 1 Stephan Heßelmann ++ 1 Stephen ++ 1 Stephen Cowley ++ 1 Stephen Kappel ++ 1 StephenVoland ++ 1 Sterling Paramore ++ 1 Steve Baker ++ 1 Steve Choi ++ 1 Steve Dower ++ 1 Steven ++ 1 Steven Bamford ++ 1 Steven Cutting ++ 1 Steven Pitman ++ 1 Stewart Henderson ++ 1 Stuart Berg ++ 1 Stéphane Guillou ++ 1 Sudarshan Konge ++ 1 Sudeep ++ 1 SultanOrazbayev ++ 1 Sumin Byeon ++ 1 SurajH1 ++ 1 Suyash Gupta ++ 1 Swanand01 ++ 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 Tarun Raghunandan Kaushik ++ 1 Taylor Packard ++ 1 Telt ++ 1 Terry Santegoeds ++ 1 TheDerivator ++ 1 Thiago Cordeiro da Fonseca ++ 1 Thiago Serafim ++ 1 ThibTrip ++ 1 Thomas Heavey ++ 1 Thomas Kastl ++ 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 McFarland ++ 1 Tim McNamara ++ 1 Tim Tran ++ 1 Tim Yang ++ 1 Tirth Jain ++ 1 Tobias Gustafsson ++ 1 Tobias McNulty ++ 1 Tom ++ 1 Tom Farnbauer ++ 1 Tom Neep ++ 1 Tomasz Kluczkowski ++ 1 Tomasz Sakrejda ++ 1 Tommy Lynch ++ 1 Tomoki Nakagawa ++ 1 Tomáš Chvátal ++ 1 Tong Shen ++ 1 Tony Hirst ++ 1 TraverseTowner ++ 1 Travis ++ 1 Triple0 ++ 1 Tsvika Shapira ++ 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 V.I. Wood ++ 1 Vadym Barda ++ 1 Valentin Iovene ++ 1 Valentin Oliver Loftsson ++ 1 Vandana Iyer ++ 1 Varun Sharma ++ 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 Vinicius Akira Imaizumi ++ 1 Vinícius Figueiredo ++ 1 Vipin Kumar ++ 1 Vishwak Srinivasan ++ 1 Vishwam Pandya ++ 1 Vitória Helena ++ 1 Vivek ++ 1 Vivek Thazhathattil ++ 1 Vladimir Berkutov ++ 1 Vladimir Fokow ++ 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 Lachance ++ 1 Will Thompson ++ 1 William ++ 1 William Bradley ++ 1 William Hogman ++ 1 Wilson Lin ++ 1 Winand ++ 1 Wojciech Sadowski ++ 1 Wolfgang F. Riedl ++ 1 Wouter De Coster ++ 1 XF ++ 1 Xiang Zhang ++ 1 YG-Riku ++ 1 YaOzI ++ 1 Yadunandan ++ 1 Yao-Ching Huang ++ 1 Yash Gupta ++ 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 Yiannis Hadjicharalambous ++ 1 Yikun Jiang ++ 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 Yves Delley ++ 1 Zach Brookler ++ 1 Zach Dwiel ++ 1 Zach Rait ++ 1 Zachary Lawrence ++ 1 Zachary Moon ++ 1 Zaky Bilfagih ++ 1 Zbyszek Królikowski ++ 1 Zeb Nicholls ++ 1 Zeke ++ 1 Zhengfei Wang ++ 1 ZhihuiChen0903 ++ 1 Zhiyi Wu ++ 1 Zihao Zhao ++ 1 aaron315 ++ 1 abaldenko ++ 1 abarber4gh ++ 1 aberres ++ 1 acorbe ++ 1 adrian-stepien ++ 1 aeltanawy ++ 1 aernlund ++ 1 agustín méndez ++ 1 ailchau ++ 1 aiudirog ++ 1 ajenkins-cargometrics ++ 1 akielbowicz ++ 1 alex argunov ++ 1 alex arsenovic ++ 1 alexander135 ++ 1 alexandercbooth ++ 1 alexhtn ++ 1 alexondor ++ 1 ali sayyah ++ 1 alinde1 ++ 1 amphy ++ 1 amuta ++ 1 andhikayusup ++ 1 andjhall ++ 1 andymaheshw ++ 1 anilbey ++ 1 ankostis ++ 1 anton-d ++ 1 aptalca ++ 1 araraonline ++ 1 arnaudlegout ++ 1 asharma13524 ++ 1 atbd ++ 1 ateki ++ 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 bherwerth ++ 1 bicarlsen ++ 1 biddwan09 ++ 1 bk521234 ++ 1 bkandel ++ 1 bmagnusson ++ 1 bmu ++ 1 boombard ++ 1 bpraggastis ++ 1 bravech ++ 1 brendandrury ++ 1 brian-pantano ++ 1 bubblingoak ++ 1 c123w ++ 1 calvinsomething ++ 1 carbonleakage ++ 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 claws ++ 1 cmazzullo ++ 1 code-review-doctor ++ 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 dicristina ++ 1 dimitra-karadima ++ 1 dkamm ++ 1 dmanikowski-reef ++ 1 doosik_bae ++ 1 dospix ++ 1 dr-leo ++ 1 dubourg ++ 1 dylanchase ++ 1 ebardie ++ 1 economy ++ 1 eduardo naufel schettino ++ 1 edwardkong ++ 1 ejnens ++ 1 el-g-1 ++ 1 elmonsomiat ++ 1 elrubio ++ 1 ember91 ++ 1 emilydolson ++ 1 endenis ++ 1 engstrom ++ 1 enisnazif ++ 1 epizzigoni ++ 1 est271 ++ 1 estasney ++ 1 euri10 ++ 1 evangelineliu ++ 1 evensure ++ 1 ezcitron ++ 1 fabriziop ++ 1 faic ++ 1 fding253 ++ 1 fengyqf ++ 1 fivemok ++ 1 fl4p ++ 1 fleimgruber ++ 1 floydsoft ++ 1 flying-sheep ++ 1 fotino21 ++ 1 fractionalhare ++ 1 francisco souza ++ 1 funnycrab ++ 1 gabicca ++ 1 gabrielclow ++ 1 ganego ++ 1 gaotian98 ++ 1 garanews ++ 1 geetha-rangaswamaiah ++ 1 gesoos ++ 1 gfkang ++ 1 gfr ++ 1 goldenbull ++ 1 gunghub ++ 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 iansheng ++ 1 icanhazcodeplz ++ 1 ignamv ++ 1 igorfassen ++ 1 iulia ++ 1 ivanovmg ++ 1 jackieleng ++ 1 jakirkham ++ 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 joshuabello2550 ++ 1 jotasi ++ 1 joy-rosie ++ 1 jsexauer ++ 1 juan huguet ++ 1 juliandwain ++ 1 juliansmidek ++ 1 juricast ++ 1 justinchan23 ++ 1 jxb4892 ++ 1 jyuv ++ 1 kaustuv deolal ++ 1 kdiether ++ 1 kiwirob ++ 1 kjford ++ 1 klonuo ++ 1 knuu ++ 1 kotrfa ++ 1 kouya takahashi ++ 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 lmcindewar ++ 1 lodagro ++ 1 lpkirwin ++ 1 lrepiton ++ 1 lucas ++ 1 lucyleeow ++ 1 maheshbapatu ++ 1 majiang ++ 1 manikbhandari ++ 1 manoj_koneni ++ 1 manu ++ 1 manuels ++ 1 marcosrullan ++ 1 mariana-LJ ++ 1 marydmit ++ 1 masterpiga ++ 1 mattB1989 ++ 1 matthiashuschle ++ 1 mattrijk ++ 1 mavismonica ++ 1 maxalbert ++ 1 maximilianaccardo ++ 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 nealxm ++ 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 phofl ++ 1 pijucha ++ 1 pizzathief ++ 1 pmaxey83 ++ 1 pqzx ++ 1 pratyushsharan ++ 1 pvanhauw ++ 1 quantumalaviya ++ 1 rafael ++ 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 rocabrera ++ 1 roib20 ++ 1 rs2 ++ 1 ruiann ++ 1 rxxg ++ 1 s-weigand ++ 1 sage ++ 1 sagungrp ++ 1 sakkemo ++ 1 salem3358 ++ 1 salomondush ++ 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 shourya5 ++ 1 sideeye ++ 1 silentquasar ++ 1 skwbc ++ 1 sm1899 ++ 1 smartswdeveloper ++ 1 someben ++ 1 ssortman ++ 1 stahlous ++ 1 stas-sl ++ 1 staticdev ++ 1 stefansimik ++ 1 step4me ++ 1 stephenwlin ++ 1 steveayers124 ++ 1 steveya ++ 1 stijnvanhoey ++ 1 sudhir mohanraj ++ 1 sukriti1 ++ 1 suoniq ++ 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 theidexisted ++ 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 trevorkask ++ 1 tsinggggg ++ 1 tworec ++ 1 tyuyoshi ++ 1 venkateshdatta1993 ++ 1 verakai ++ 1 vernetya ++ 1 vineethraj510 ++ 1 vivikelapoutre ++ 1 vkk800 ++ 1 vladu ++ 1 vmdhhh ++ 1 vrserpa ++ 1 vytas ++ 1 wandersoncferreira ++ 1 wany-oh ++ 1 watercrossing ++ 1 wavedatalab ++ 1 wertha ++ 1 willbowditch ++ 1 willie3838 ++ 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 z3c0 ++ 1 zachcp ++ 1 zaki-indra ++ 1 zertrin ++ 1 zhanghui ++ 1 zhangjinjie ++ 1 zhangxiaoxing ++ 1 zhezherun ++ 1 znmean ++ 1 zys5945 ++ 1 zzgao ++ 1 Ádám Lippai ++ 1 Åsmund Hjulstad ++ 1 Øystein S. Haaland ++ 1 颜发才(Yan Facai) ++ ++Debian packaging ++ 400 Rebecca N. Palmer ++ 323 Yaroslav Halchenko ++ 49 Mo Zhou ++ 38 Andreas Tille ++ 26 Graham Inggs ++ 7 Jochen Sprickerhof ++ 4 Dmitry Shachnev ++ 2 Julian Taylor ++ 2 Yaroslav O Halchenko ++ 1 Diane Trout ++ 1 Ole Streicher diff --cc debian/control index 00000000,00000000..20581ff5 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,197 @@@ ++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.32~), ++# we don't have this version python3-blosc (>= 1.21.0~) , ++ python3-bottleneck (>= 1.3.2~) , ++ python3-bs4 (>= 4.9.3~) , ++ python3-dask (>= 2.10.1~) , ++ python3-dateutil, ++ python3-fsspec (>= 2021.07.0~) , ++ python3-html5lib (>= 1.1~) , ++ python3-hypothesis (>= 6.13.0~) , ++ python3-jinja2 (>= 3.0~) , ++ python3-lxml (>= 4.6.3~) , ++ python3-matplotlib (>= 3.3.2~) [!ia64 !sh4 !x32] , ++# armel, s390x numba crash, mipsel gives wrong answer, most ports don't have numba ++# uninstallable due to #1024795 python3-numba (>= 0.53.1~) [amd64 arm64 armhf i386 mips64el mipsel ppc64el s390x] , ++ python3-numexpr (>= 2.8.0~) , ++ python3-numpy (>= 1:1.18.5~), ++ python3-odf (>= 1.4.1~) , ++ python3-openpyxl (>= 3.0.7~) , ++# doesn't seem to work in this test environment python3-psycopg2 (>= 2.8.6~) , ++# doesn't seem to work in this test environment python3-pymysql (>= 1.0.2~) , ++ python3-pytest (>= 6.0~) , ++ python3-pytest-asyncio (>= 0.17~) , ++ python3-pytest-forked , ++ python3-pytest-xdist (>= 1.31~) , ++ python3-scipy, ++ python3-setuptools (>= 51~), ++ python3-six, ++# we don't have this version python3-snappy (>= 0.6.0~) , ++ python3-sqlalchemy (>= 1.4.16~) , ++ python3-tables (>= 3.6.1~) , ++ python3-tabulate (>= 0.8.9~) , ++ python3-tk , ++ python3-tz (>= 2022.1~) , ++# we don't have this version python3-xlrd (>= 2.0.1~) , ++ python3-xlsxwriter (>= 1.4.3~) , ++# having xlwt and not xlrd breaks tests/io/test_fsspec.py python3-xlwt (>= 1.3.0~) , ++ python3-zstandard , ++ sphinx-common, ++ xvfb , ++ xauth , ++ xclip ++Build-Depends-Indep: python3-sphinx , ++ python3-sphinx-copybutton , ++ python3-sphinx-panels , ++ python3-pydata-sphinx-theme , ++ python3-ipykernel , ++ python3-notebook (>= 6.0.3~) , ++ python3-nbconvert (>= 6.4.5~) , ++ python3-nbsphinx , ++ python3-numpydoc , ++ ipython3 (>= 7.11.1~) , ++ jdupes , ++# for style.ipynb ++ pandoc , ++# for intersphinx inventories ++ python3-doc , ++# no longer exists python-numpy-doc , ++ python-scipy-doc , ++# no longer exists 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 , ++#fails with KeyError 'state', possibly nbconvert bug 1731 python3-ipywidgets , ++ python3-rpy2 , ++ python3-seaborn , ++ python3-sqlalchemy , ++ python3-statsmodels , ++ python3-xarray (>= 0.19.0~) , ++Standards-Version: 4.6.2 ++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, ++# 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-seaborn (<< 0.9.1~), ++# 1.0 -> 1.1 API breaks, #969650 ++# 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), ++# 1.3 -> 1.4 API breaks, see #1017809 ++ python3-skbio (<= 0.5.6-6), ++ python3-ulmo (<= 0.8.8+dfsg1-1), ++# 1.4 -> 1.5 API breaks, see #1022571 ++ python3-emperor (<= 1.0.3+ds-4), ++ python3-statsmodels (<< 0.13.5~), ++ q2templates (<= 2022.8.0+ds-1), ++ python3-dask (<= 2022.02.0+dfsg-2) ++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}, ++ libjs-mathjax ++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..aeacbde4 new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,742 @@@ ++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-2023 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/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/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-2022 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-2022 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-2022, 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/test_rolling.py ++Copyright: 2010-2012 Archipel Asset Management AB ++ 2011-2022 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-2022 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-2022 Lambda Foundry, Inc. and PyData Development Team ++License: BSD-3 ++Origin: Pyperclip ++ ++Files: pandas/io/sas/sas7bdat.py ++Copyright: 2015 Jared Hobbs ++ 2016-2022 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: pandas/util/version/* ++Copyright: 2021 Donald Stufft and individual contributors ++License: Apache-2.0 or BSD-3 ++Origin: https://github.com/pypa/packaging/blob/main/packaging/_structures.py ++ ++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-2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team ++License: BSD-3 ++ ++Files: debian/* ++Copyright: 2011-2018, Yaroslav Halchenko ++ 2019-2023, 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 ++ See /usr/share/common-licenses/Apache-2.0 ++ (xarray notice) ++ 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. ++ . ++ (version/__init__.py notice) ++ This file is dual licensed under the terms of the Apache License, Version ++ 2.0, and the BSD License. See the LICENSE file in the root of this repository ++ for complete details. ++ ++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..8b88dba4 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 = upstream ++# the default branch for the debian patch: ++debian-branch = main ++ ++ diff --cc debian/patches/1029251_ignore_rounding_error.patch index 00000000,00000000..75dbd5a0 new file mode 100644 --- /dev/null +++ b/debian/patches/1029251_ignore_rounding_error.patch @@@ -1,0 -1,0 +1,79 @@@ ++Description: Don't fail plot tests on rounding error ++ ++Author: Rebecca N. Palmer ++Bug-Debian: https://bugs.debian.org/1029251 ++Forwarded: no ++ ++--- pandas-1.5.3+dfsg.orig/pandas/tests/plotting/frame/test_frame_subplots.py +++++ pandas-1.5.3+dfsg/pandas/tests/plotting/frame/test_frame_subplots.py ++@@ -4,6 +4,7 @@ import string ++ import warnings ++ ++ import numpy as np +++from numpy.testing import assert_array_almost_equal_nulp ++ import pytest ++ ++ import pandas.util._test_decorators as td ++@@ -378,7 +379,7 @@ class TestDataFramePlotsSubplots(TestPlo ++ # no subplots ++ df = DataFrame({"A": [3] * 5, "B": list(range(1, 6))}, index=range(5)) ++ ax = df.plot.bar(grid=True, log=True) ++- tm.assert_numpy_array_equal(ax.yaxis.get_ticklocs(), expected) +++ assert_array_almost_equal_nulp(ax.yaxis.get_ticklocs(), expected, 4) ++ ++ def test_bar_log_subplots(self): ++ expected = np.array([0.1, 1.0, 10.0, 100.0, 1000.0, 1e4]) ++@@ -387,8 +388,8 @@ class TestDataFramePlotsSubplots(TestPlo ++ log=True, subplots=True ++ ) ++ ++- tm.assert_numpy_array_equal(ax[0].yaxis.get_ticklocs(), expected) ++- tm.assert_numpy_array_equal(ax[1].yaxis.get_ticklocs(), expected) +++ assert_array_almost_equal_nulp(ax[0].yaxis.get_ticklocs(), expected, 4) +++ assert_array_almost_equal_nulp(ax[1].yaxis.get_ticklocs(), expected, 4) ++ ++ def test_boxplot_subplots_return_type(self, hist_df): ++ df = hist_df ++--- pandas-1.5.3+dfsg.orig/pandas/tests/plotting/test_series.py +++++ pandas-1.5.3+dfsg/pandas/tests/plotting/test_series.py ++@@ -3,6 +3,7 @@ from datetime import datetime ++ from itertools import chain ++ ++ import numpy as np +++from numpy.testing import assert_array_almost_equal_nulp ++ import pytest ++ ++ import pandas.util._test_decorators as td ++@@ -249,12 +250,12 @@ class TestSeriesPlots(TestPlotBase): ++ ++ _, ax = self.plt.subplots() ++ ax = Series([200, 500]).plot.bar(log=True, ax=ax) ++- tm.assert_numpy_array_equal(ax.yaxis.get_ticklocs(), expected) +++ assert_array_almost_equal_nulp(ax.yaxis.get_ticklocs(), expected, 4) ++ tm.close() ++ ++ _, ax = self.plt.subplots() ++ ax = Series([200, 500]).plot.barh(log=True, ax=ax) ++- tm.assert_numpy_array_equal(ax.xaxis.get_ticklocs(), expected) +++ assert_array_almost_equal_nulp(ax.xaxis.get_ticklocs(), expected, 4) ++ tm.close() ++ ++ # GH 9905 ++@@ -267,7 +268,7 @@ class TestSeriesPlots(TestPlotBase): ++ res = ax.get_ylim() ++ tm.assert_almost_equal(res[0], ymin) ++ tm.assert_almost_equal(res[1], ymax) ++- tm.assert_numpy_array_equal(ax.yaxis.get_ticklocs(), expected) +++ assert_array_almost_equal_nulp(ax.yaxis.get_ticklocs(), expected, 4) ++ tm.close() ++ ++ _, ax = self.plt.subplots() ++@@ -275,7 +276,7 @@ class TestSeriesPlots(TestPlotBase): ++ res = ax.get_xlim() ++ tm.assert_almost_equal(res[0], ymin) ++ tm.assert_almost_equal(res[1], ymax) ++- tm.assert_numpy_array_equal(ax.xaxis.get_ticklocs(), expected) +++ assert_array_almost_equal_nulp(ax.xaxis.get_ticklocs(), expected, 4) ++ ++ def test_bar_ignore_index(self): ++ df = Series([1, 2, 3, 4], index=["a", "b", "c", "d"]) diff --cc debian/patches/968208_rounding.patch index 00000000,00000000..046a4223 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/test_rolling.py +++++ b/pandas/tests/window/test_rolling.py ++@@ -1,3 +1,7 @@ +++import sys +++import platform +++import re +++ ++ from datetime import ( ++ datetime, ++ timedelta, ++@@ -1708,7 +1712,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/armel_ignore_nonwarning.patch index 00000000,00000000..b0b33c72 new file mode 100644 --- /dev/null +++ b/debian/patches/armel_ignore_nonwarning.patch @@@ -1,0 -1,0 +1,29 @@@ ++Description: Don't require a warning armel numpy doesn't have ++ ++Author: Rebecca N. Palmer ++Forwarded: no (this version requires dpkg) ++ ++--- a/pandas/tests/apply/test_str.py +++++ b/pandas/tests/apply/test_str.py ++@@ -72,6 +72,12 @@ def test_apply_np_reducer(op, how): ++ @pytest.mark.parametrize("how", ["transform", "apply"]) ++ def test_apply_np_transformer(float_frame, op, how): ++ # GH 39116 +++ # armel numpy currently doesn't have the invalid log/sqrt warning (see 1.4.3-1 build log, +++ # possibly the same underlying issue as statsmodels https://bugs.debian.org/956882) +++ # using nullcontext() instead of warn=None to not start failing if this ever gets fixed +++ import subprocess +++ import contextlib +++ debian_arch = subprocess.run(["dpkg","--print-architecture"],capture_output=True).stdout ++ ++ # float_frame will _usually_ have negative values, which will ++ # trigger the warning here, but let's put one in just to be sure ++@@ -80,7 +86,7 @@ def test_apply_np_transformer(float_fram ++ if op in ["log", "sqrt"]: ++ warn = RuntimeWarning ++ ++- with tm.assert_produces_warning(warn, check_stacklevel=False): +++ with (contextlib.nullcontext() if (debian_arch==b'armel\n') else tm.assert_produces_warning(warn, check_stacklevel=False)): ++ # float_frame fixture is defined in conftest.py, so we don't check the ++ # stacklevel as otherwise the test would fail. ++ result = getattr(float_frame, how)(op) 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..7198d365 new file mode 100644 --- /dev/null +++ b/debian/patches/deb_disable_googleanalytics.patch @@@ -1,0 -1,0 +1,92 @@@ ++Description: Avoid privacy breach by Google Analytics ++ ++Author: Yaroslav Halchenko , ++ Andreas Tille , ++ Rebecca N. Palmer ++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 ++ ++ ++--- a/doc/source/conf.py +++++ b/doc/source/conf.py ++@@ -243,7 +243,6 @@ html_theme_options = { ++ "footer_items": ["pandas_footer", "sphinx-version"], ++ "github_url": "https://github.com/pandas-dev/pandas", ++ "twitter_url": "https://twitter.com/pandas_dev", ++- "google_analytics_id": "UA-27880019-2", ++ "logo": {"image_dark": "https://pandas.pydata.org/static/img/pandas_white.svg"}, ++ "navbar_end": ["version-switcher", "theme-switcher", "navbar-icon-links"], ++ "switcher": { 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..5dc2fc24 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 ++@@ -175,13 +175,7 @@ from pandas.io.json import _json_normali ++ ++ from pandas.util._tester import test ++ ++-# 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 ++ __deprecated_num_index_names = ["Float64Index", "Int64Index", "UInt64Index"] ++--- a/pandas/tests/api/test_api.py +++++ b/pandas/tests/api/test_api.py ++@@ -195,7 +195,7 @@ class TestPDApi(Base): ++ "_is_numpy_dev", ++ "_testing", ++ "_typing", ++- "_version", +++# not in Debian "_version", ++ ] ++ ++ def test_api(self): ++--- a/pandas/tests/test_common.py +++++ b/pandas/tests/test_common.py ++@@ -156,7 +156,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..5f3eb3fe 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 ++@@ -30,6 +30,7 @@ from decimal import Decimal ++ import operator ++ import os ++ from typing import Callable +++import argparse ++ ++ from dateutil.tz import ( ++ tzlocal, ++@@ -112,6 +113,7 @@ def pytest_addoption(parser) -> None: ++ 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 ignore_doctest_warning(item: pytest.Item, path: str, message: str) -> None: ++@@ -1141,7 +1143,7 @@ def strict_data_files(pytestconfig): ++ ++ ++ @pytest.fixture ++-def datapath(strict_data_files: str) -> Callable[..., str]: +++def datapath(strict_data_files: str,pytestconfig) -> Callable[..., str]: ++ """ ++ Get the path to a data file. ++ ++@@ -1159,7 +1161,9 @@ def datapath(strict_data_files: str) -> ++ 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 ++@@ -40,6 +40,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..63f5fff5 new file mode 100644 --- /dev/null +++ b/debian/patches/fix_overly_arch_specific_xfails.patch @@@ -1,0 -1,0 +1,93 @@@ ++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 ++ ++pandas/tests/window/test_rolling.py also gets an i386 xfail for ++rounding error that may be x87 excess precision ++ ++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 ++ ++--- a/pandas/tests/window/test_rolling.py +++++ b/pandas/tests/window/test_rolling.py ++@@ -13,7 +13,12 @@ import pytest ++ from pandas.compat import ( ++ is_platform_arm, ++ is_platform_mac, +++ IS64, ++ ) +++import platform +++import re +++is_platform_x86_64 = bool(re.match('i.?86|x86',platform.uname()[4])) and IS64 +++ ++ from pandas.errors import UnsupportedFunctionCall ++ ++ from pandas import ( ++@@ -1195,7 +1200,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_64, 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 ++@@ -2587,7 +2587,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])] ++ ) ++@@ -2600,7 +2600,7 @@ def test_groupby_numerical_stability_sum ++ 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/tools/test_to_numeric.py +++++ b/pandas/tests/tools/test_to_numeric.py ++@@ -760,7 +760,7 @@ def test_to_numeric_from_nullable_string ++ "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 ++@@ -29,6 +29,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( ++@@ -680,9 +683,9 @@ def test_float_precision_options(c_parse ++ ++ 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..49165a1c 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 ++@@ -1019,6 +1019,7 @@ be passed, and when ``lag=1`` the plot i ++ :suppress: ++ ++ np.random.seed(123456) +++ random.seed(123456) # for reproducibility - bootstrap_plot uses random.sample ++ ++ .. ipython:: python ++ diff --cc debian/patches/float_to_datetime.patch index 00000000,00000000..dfe07c96 new file mode 100644 --- /dev/null +++ b/debian/patches/float_to_datetime.patch @@@ -1,0 -1,0 +1,46 @@@ ++Description: float-to-datetime conversion fixes ++ ++Avoid assuming that NaN casts to NaT (= fails on riscv64/hppa ?) ++Don't round to int for the bounds check when we don't for the real ++conversion (wrong near the bounds, and maybe also a waste of time) ++ ++Author: Rebecca N. Palmer ++Forwarded: https://github.com/pandas-dev/pandas/pull/50183 ++ ++--- a/pandas/_libs/tslib.pyx +++++ b/pandas/_libs/tslib.pyx ++@@ -296,12 +296,18 @@ def array_with_unit_to_datetime( ++ # if we have nulls that are not type-compat ++ # then need to iterate ++ ++- if values.dtype.kind in ["i", "f", "u"]: +++ if values.dtype.kind in ["i", "u"]: ++ iresult = values.astype("i8", copy=False) ++ # fill missing values by comparing to NPY_NAT ++ mask = iresult == NPY_NAT ++ iresult[mask] = 0 ++- fvalues = iresult.astype("f8") * mult +++ fvalues = iresult.astype("f8") * mult # TODO as this is only used for bounds checking, would it be more efficient to divide the bounds by mult? (don't just use integer iresult * mult, we need arithmetic overflow to be an error not a wraparound) +++ need_to_iterate = False +++ +++ if values.dtype.kind in ["f",]: +++ mask = (values != values) | (values == NPY_NAT) # first is NaNs +++ fvalues = (values * mult).astype("f8") # TODO would values.astype('f8')*mult have less rounding error? (or does this need to support longer-than-double floats where it's worse?) would copy=False be faster? +++ fvalues[mask] = 0 ++ need_to_iterate = False ++ ++ if not need_to_iterate: ++@@ -315,11 +321,9 @@ def array_with_unit_to_datetime( ++ result = (iresult * mult).astype("M8[ns]") ++ ++ elif values.dtype.kind == "f": ++- fresult = (values * mult).astype("f8") ++- fresult[mask] = 0 ++ if prec: ++- fresult = round(fresult, prec) ++- result = fresult.astype("M8[ns]", copy=False) +++ fvalues = round(fvalues, prec) # TODO why does this exist, it looks like prec's always 0 (was p from precision_to_unit meant to be prec?) +++ result = fvalues.astype("M8[ns]", copy=False) ++ ++ iresult = result.view("i8") ++ iresult[mask] = NPY_NAT diff --cc debian/patches/hurd_compat.patch index 00000000,00000000..351e21ba new file mode 100644 --- /dev/null +++ b/debian/patches/hurd_compat.patch @@@ -1,0 -1,0 +1,123 @@@ ++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 ++@@ -90,7 +90,7 @@ def test_nonexistent_path(all_parsers): ++ parser = all_parsers ++ path = f"{uuid.uuid4()}.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 ++@@ -101,7 +101,7 @@ def test_no_permission(all_parsers): ++ # GH 23784 ++ parser = all_parsers ++ ++- msg = r"\[Errno 13\]" +++ msg = r"\[Errno 13\]|\[Errno [0-9]+\] Permission denied" ++ with tm.ensure_clean() as path: ++ os.chmod(path, 0) # make file unreadable ++ ++--- a/pandas/tests/io/parser/common/test_float.py +++++ b/pandas/tests/io/parser/common/test_float.py ++@@ -53,7 +53,7 @@ def test_too_many_exponent_digits(all_pa ++ data = f"data\n10E{exp}" ++ result = parser.read_csv(StringIO(data), float_precision=precision) ++ if precision == "round_trip": ++- if exp == 999999999999999999 and is_platform_linux(): +++ if exp == 999999999999999999: ++ mark = pytest.mark.xfail(reason="GH38794, on Linux gives object result") ++ request.node.add_marker(mark) ++ ++--- 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 ++@@ -40,6 +40,11 @@ def df(): ++ ++ @pytest.mark.filterwarnings("ignore:.*64Index is deprecated:FutureWarning") ++ def test_dask(df): +++ try: +++ from multiprocessing.pool import ThreadPool +++ ThreadPool() +++ except ImportError: +++ pytest.skip("multiprocessing not available") ++ ++ # dask sets "compute.use_numexpr" to False, so catch the current value ++ # and ensure to reset it afterwards to avoid impacting other tests ++--- a/pandas/tests/io/test_common.py +++++ b/pandas/tests/io/test_common.py ++@@ -196,16 +196,16 @@ Look,a snake,🐍""" ++ ++ path = os.path.join(HERE, "data", "does_not_exist." + fn_ext) ++ msg1 = rf"File (b')?.+does_not_exist\.{fn_ext}'? does not exist" ++- msg2 = rf"\[Errno 2\] No such file or directory: '.+does_not_exist\.{fn_ext}'" +++ msg2 = rf"\[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 = ( ++- rf"\[Errno 2\] File .+does_not_exist\.{fn_ext} does not exist: " +++ rf"\[Errno [0-9]+\] File .+does_not_exist\.{fn_ext} does not exist: " ++ rf"'.+does_not_exist\.{fn_ext}'" ++ ) ++- msg6 = rf"\[Errno 2\] 没有那个文件或目录: '.+does_not_exist\.{fn_ext}'" +++ msg6 = rf"\[Errno [0-9]+\] 没有那个文件或目录: '.+does_not_exist\.{fn_ext}'" ++ msg7 = ( ++- rf"\[Errno 2\] File o directory non esistente: '.+does_not_exist\.{fn_ext}'" +++ rf"\[Errno [0-9]+\] File o directory non esistente: '.+does_not_exist\.{fn_ext}'" ++ ) ++ msg8 = rf"Failed to open local file.+does_not_exist\.{fn_ext}" ++ ++@@ -266,16 +266,16 @@ Look,a snake,🐍""" ++ monkeypatch.setattr(icom, "_expand_user", lambda x: os.path.join("foo", x)) ++ ++ msg1 = rf"File (b')?.+does_not_exist\.{fn_ext}'? does not exist" ++- msg2 = rf"\[Errno 2\] No such file or directory: '.+does_not_exist\.{fn_ext}'" +++ msg2 = rf"\[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 = ( ++- rf"\[Errno 2\] File .+does_not_exist\.{fn_ext} does not exist: " +++ rf"\[Errno [0-9]+\] File .+does_not_exist\.{fn_ext} does not exist: " ++ rf"'.+does_not_exist\.{fn_ext}'" ++ ) ++- msg6 = rf"\[Errno 2\] 没有那个文件或目录: '.+does_not_exist\.{fn_ext}'" +++ msg6 = rf"\[Errno [0-9]+\] 没有那个文件或目录: '.+does_not_exist\.{fn_ext}'" ++ msg7 = ( ++- rf"\[Errno 2\] File o directory non esistente: '.+does_not_exist\.{fn_ext}'" +++ rf"\[Errno [0-9]+\] File o directory non esistente: '.+does_not_exist\.{fn_ext}'" ++ ) ++ msg8 = rf"Failed to open local file.+does_not_exist\.{fn_ext}" ++ ++@@ -583,7 +583,7 @@ def test_bad_encdoing_errors(): ++ ++ def test_errno_attribute(): ++ # GH 13872 ++- with pytest.raises(FileNotFoundError, match="\\[Errno 2\\]") as err: +++ with pytest.raises(FileNotFoundError, match="\\[Errno [0-9]+\\]") as err: ++ pd.read_csv("doesnt_exist") ++ assert err.errno == errno.ENOENT ++ diff --cc debian/patches/mathjax-path.patch index 00000000,00000000..f8a596cf 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 ++@@ -71,6 +71,8 @@ extensions = [ ++ "nbsphinx", ++ ] ++ +++mathjax_path="MathJax.js" +++ ++ exclude_patterns = [ ++ "**.ipynb_checkpoints", ++ # to ensure that include files (partial pages) aren't built, exclude them diff --cc debian/patches/mips_warning.patch index 00000000,00000000..193a0fbd 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 ++ ++--- a/pandas/__init__.py +++++ b/pandas/__init__.py ++@@ -2,6 +2,12 @@ from __future__ import annotations ++ ++ __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/no_sphinx_toggleprompt.patch index 00000000,00000000..e92cc47d new file mode 100644 --- /dev/null +++ b/debian/patches/no_sphinx_toggleprompt.patch @@@ -1,0 -1,0 +1,15 @@@ ++Description: Don't try to use a Sphinx extension we don't have ++ ++Author: Rebecca N. Palmer ++Forwarded: not-needed ++ ++--- a/doc/source/conf.py +++++ b/doc/source/conf.py ++@@ -57,7 +57,6 @@ extensions = [ ++ "numpydoc", ++ "sphinx_copybutton", ++ "sphinx_panels", ++- "sphinx_toggleprompt", ++ "sphinx.ext.autodoc", ++ "sphinx.ext.autosummary", ++ "sphinx.ext.coverage", diff --cc debian/patches/numba_fail_32bit.patch index 00000000,00000000..514401df new file mode 100644 --- /dev/null +++ b/debian/patches/numba_fail_32bit.patch @@@ -1,0 -1,0 +1,278 @@@ ++Description: Allow some numba errors on non-amd64, warn on non-x86 ++ ++Specifying the exception type allows only explicit errors, ++not silently wrong answers ++ ++Numba has been observed to give wrong answers on mipsel, ++and crash on armel (LLVM ERROR) and s390x (segfault). ++ ++Author: Rebecca N. Palmer ++Forwarded: no ++ ++--- a/pandas/tests/window/test_numba.py +++++ b/pandas/tests/window/test_numba.py ++@@ -24,6 +24,14 @@ pytestmark = pytest.mark.skipif( ++ "'Windows fatal exception: stack overflow' " ++ "and MacOS can timeout", ++ ) +++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 ++ ++ ++ @pytest.fixture(params=["single", "table"]) ++@@ -50,6 +58,8 @@ def arithmetic_numba_supported_operators ++ ++ ++ @td.skip_if_no("numba") +++@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") ++ # Filter warnings when parallel=True and the function can't be parallelized by Numba ++ class TestEngine: ++@@ -134,6 +144,7 @@ class TestEngine: ++ expected = getattr(expand, method)(engine="cython", **kwargs) ++ tm.assert_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, step): ++ # Test that the functions are cached correctly if we switch functions ++@@ -227,6 +238,8 @@ class TestEngine: ++ ++ ++ @td.skip_if_no("numba") +++@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 TestEWM: ++ @pytest.mark.parametrize( ++ "grouper", [lambda x: x, lambda x: x.groupby("A")], ids=["None", "groupby"] ++@@ -310,6 +323,7 @@ class TestEWM: ++ ++ ++ @td.skip_if_no("numba") +++@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 ++@@ -331,6 +345,7 @@ def test_invalid_kwargs_nopython(): ++ ++ @td.skip_if_no("numba") ++ @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") ++ # 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 ++@@ -22,6 +22,11 @@ pytestmark = pytest.mark.skipif( ++ "and MacOS can timeout", ++ ) ++ +++import sys +++try: +++ from numba.core.errors import UnsupportedParforsError +++except ImportError: +++ UnsupportedParforsError = ImportError ++ ++ @td.skip_if_no("numba") ++ @pytest.mark.filterwarnings("ignore") ++@@ -37,6 +42,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 ++@@ -7,6 +7,7 @@ import numpy as np ++ import pytest ++ ++ import pandas.util._test_decorators as td +++from pandas.compat import is_platform_little_endian ++ ++ from pandas import ( ++ DataFrame, ++@@ -98,7 +99,7 @@ def engine(request): ++ ++ @pytest.fixture( ++ params=[ ++- pytest.param(("numba", True), marks=td.skip_if_no("numba")), +++ 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")]), ++ ("cython", True), ++ ("cython", False), ++ ] ++--- a/pandas/compat/_optional.py +++++ b/pandas/compat/_optional.py ++@@ -4,6 +4,9 @@ import importlib ++ import sys ++ import types ++ import warnings +++import platform +++import re +++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.util._exceptions import find_stack_level ++ ++@@ -129,6 +132,8 @@ def import_optional_dependency( ++ """ ++ ++ assert errors in {"warn", "raise", "ignore"} +++ if name=='numba' and warn_numba_platform: +++ warnings.warn(warn_numba_platform) ++ ++ package_name = INSTALL_MAPPING.get(name) ++ install_name = package_name if package_name is not None else name ++--- a/pandas/tests/groupby/test_numba.py +++++ b/pandas/tests/groupby/test_numba.py ++@@ -7,9 +7,17 @@ from pandas import ( ++ Series, ++ ) ++ import pandas._testing as tm ++- +++import sys +++try: +++ from numba.core.errors import UnsupportedParforsError,TypingError +++except ImportError: +++ UnsupportedParforsError = ImportError +++ TypingError = ImportError +++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) ++ ++ @td.skip_if_no("numba") +++@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") ++ # Filter warnings when parallel=True and the function can't be parallelized by Numba ++ class TestEngine: ++--- a/pandas/tests/groupby/test_timegrouper.py +++++ b/pandas/tests/groupby/test_timegrouper.py ++@@ -23,6 +23,7 @@ from pandas import ( ++ import pandas._testing as tm ++ from pandas.core.groupby.grouper import Grouper ++ from pandas.core.groupby.ops import BinGrouper +++from pandas.compat import is_platform_little_endian ++ ++ ++ @pytest.fixture ++@@ -908,6 +909,7 @@ class TestGroupBy: ++ tm.assert_series_equal(res, expected) ++ ++ @td.skip_if_no("numba") +++ @pytest.mark.xfail(condition=not is_platform_little_endian(), reason="Numba may crash on s390x", run=False, strict=False) ++ def test_groupby_agg_numba_timegrouper_with_nat( ++ self, groupby_with_truncated_bingrouper ++ ): ++--- a/pandas/tests/groupby/aggregate/test_numba.py +++++ b/pandas/tests/groupby/aggregate/test_numba.py ++@@ -1,6 +1,16 @@ +++import sys +++ ++ import numpy as np ++ import pytest ++ +++try: +++ from numba.core.errors import UnsupportedParforsError,TypingError +++except ImportError: +++ UnsupportedParforsError = ImportError +++ TypingError = ImportError +++ +++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)] ++ from pandas.errors import NumbaUtilError ++ import pandas.util._test_decorators as td ++ ++@@ -47,6 +57,7 @@ def test_check_nopython_kwargs(): ++ ++ ++ @td.skip_if_no("numba") +++@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") ++ # Filter warnings when parallel=True and the function can't be parallelized by Numba ++ @pytest.mark.parametrize("jit", [True, False]) ++@@ -76,6 +87,7 @@ def test_numba_vs_cython(jit, pandas_obj ++ ++ ++ @td.skip_if_no("numba") +++@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") ++ # 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 ++@@ -9,6 +11,12 @@ from pandas import ( ++ option_context, ++ ) ++ import pandas._testing as tm +++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") ++@@ -44,6 +52,8 @@ def test_check_nopython_kwargs(): ++ ++ ++ @td.skip_if_no("numba") +++@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") ++ # Filter warnings when parallel=True and the function can't be parallelized by Numba ++ @pytest.mark.parametrize("jit", [True, False]) ++@@ -73,6 +83,8 @@ def test_numba_vs_cython(jit, pandas_obj ++ ++ ++ @td.skip_if_no("numba") +++@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") ++ # Filter warnings when parallel=True and the function can't be parallelized by Numba ++ @pytest.mark.parametrize("jit", [True, False]) ++@@ -114,6 +126,7 @@ def test_cache(jit, pandas_obj, nogil, p ++ ++ ++ @td.skip_if_no("numba") +++@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 ++@@ -145,6 +158,7 @@ def test_multifunc_notimplimented(agg_fu ++ ++ ++ @td.skip_if_no("numba") +++@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): ++@@ -162,6 +176,7 @@ def test_args_not_cached(): ++ ++ ++ @td.skip_if_no("numba") +++@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): ++@@ -203,6 +218,8 @@ def test_engine_kwargs_not_cached(): ++ ++ @td.skip_if_no("numba") ++ @pytest.mark.filterwarnings("ignore") +++@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) ++ def test_multiindex_one_key(nogil, parallel, nopython): ++ def numba_func(values, index): ++ return 1 diff --cc debian/patches/numpy1p24.patch index 00000000,00000000..1934e12f new file mode 100644 --- /dev/null +++ b/debian/patches/numpy1p24.patch @@@ -1,0 -1,0 +1,22 @@@ ++Description: Ignore extra warning from numpy 1.24 ++ ++Author: Rebecca N. Palmer ++Forwarded: not-needed (on main, this is .raises due to other changes) ++ ++--- a/pandas/tests/test_downstream.py +++++ b/pandas/tests/test_downstream.py ++@@ -105,11 +105,11 @@ def test_construct_dask_float_array_int_ ++ expected = Series(arr, dtype="i8") ++ tm.assert_series_equal(res, expected) ++ ++- msg = "In a future version, passing float-dtype values containing NaN" +++ msg = "In a future version, passing float-dtype values containing NaN|invalid value encountered in cast" ++ arr[2] = np.nan ++- with tm.assert_produces_warning(FutureWarning, match=msg): +++ with tm.assert_produces_warning((FutureWarning,RuntimeWarning), match=msg, check_stacklevel=False): ++ res = Series(darr, dtype="i8") ++- with tm.assert_produces_warning(FutureWarning, match=msg): +++ with tm.assert_produces_warning((FutureWarning,RuntimeWarning), match=msg, check_stacklevel=False): ++ expected = Series(arr, dtype="i8") ++ tm.assert_series_equal(res, expected) ++ diff --cc debian/patches/privacy.patch index 00000000,00000000..93b50397 new file mode 100644 --- /dev/null +++ b/debian/patches/privacy.patch @@@ -1,0 -1,0 +1,23 @@@ ++Description: Link to rather than embed Google calendar ++ ++Author: Rebecca N. Palmer ++Forwarded: not-needed ++ ++--- a/doc/source/development/community.rst +++++ b/doc/source/development/community.rst ++@@ -48,14 +48,10 @@ The agenda for the next meeting and minu ++ Calendar ++ -------- ++ ++-This calendar shows all the community meetings. Our community meetings are +++`This calendar `__ shows all the community meetings. Our community meetings are ++ ideal for anyone wanting to contribute to pandas, or just curious to know how ++ current development is going. ++ ++-.. raw:: html ++- ++- ++- ++ You can subscribe to this calendar with the following links: ++ ++ * `iCal `__ diff --cc debian/patches/remove_ccbysa_snippets.patch index 00000000,00000000..1ae2e313 new file mode 100644 --- /dev/null +++ b/debian/patches/remove_ccbysa_snippets.patch @@@ -1,0 -1,0 +1,264 @@@ ++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 ++@@ -85,4 +85,3 @@ Guides ++ scale ++ sparse ++ gotchas ++- cookbook ++--- a/pandas/io/sql.py +++++ b/pandas/io/sql.py ++@@ -1832,14 +1832,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 + '"' ++ ++ ++ class SQLiteTable(SQLTable): ++--- a/pandas/tests/groupby/aggregate/test_other.py +++++ b/pandas/tests/groupby/aggregate/test_other.py ++@@ -25,37 +25,7 @@ import pandas._testing as tm ++ 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=r"\['key2'\] did not aggregate successfully", ++- ): ++- expected = grouped.agg([peak_to_peak]) ++- expected.columns = ["data1", "data2"] ++- ++- with tm.assert_produces_warning( ++- FutureWarning, ++- match=r"\['key2'\] did not aggregate successfully", ++- ): ++- result = grouped.agg(peak_to_peak) ++- tm.assert_frame_equal(result, expected) ++ ++ ++ def test_agg_datetimes_mixed(): ++--- a/pandas/tests/groupby/test_categorical.py +++++ b/pandas/tests/groupby/test_categorical.py ++@@ -901,29 +901,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_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/io/parser/common/test_common_basic.py +++++ b/pandas/tests/io/parser/common/test_common_basic.py ++@@ -379,24 +379,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:E501 ++- ++- 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"])) ++- ++- ++ @xfail_pyarrow ++ def test_ignore_leading_whitespace(all_parsers): ++ # see gh-3374, gh-6607 ++--- a/pandas/tests/indexing/multiindex/test_chaining_and_caching.py +++++ b/pandas/tests/indexing/multiindex/test_chaining_and_caching.py ++@@ -12,31 +12,6 @@ from pandas import ( ++ import pandas._testing as tm ++ ++ ++-def test_detect_chained_assignment(using_copy_on_write): ++- # 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) ++- ++- if using_copy_on_write: ++- zed["eyes"]["right"].fillna(value=555, inplace=True) ++- else: ++- msg = "A value is trying to be set on a copy of a slice from a DataFrame" ++- with pytest.raises(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(using_copy_on_write): ++ # 5216 ++--- a/pandas/tests/indexing/test_chaining_and_caching.py +++++ b/pandas/tests/indexing/test_chaining_and_caching.py ++@@ -407,23 +407,6 @@ class TestChaining: ++ str(df) ++ ++ @pytest.mark.arm_slow ++- def test_detect_chained_assignment_undefined_column(self, using_copy_on_write): ++- ++- # 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" ++- df_original = df.copy() ++- ++- if using_copy_on_write: ++- # TODO(CoW) can we still warn here? ++- df.iloc[0:5]["group"] = "a" ++- tm.assert_frame_equal(df, df_original) ++- else: ++- with pytest.raises(SettingWithCopyError, match=msg): ++- df.iloc[0:5]["group"] = "a" ++- ++- @pytest.mark.arm_slow ++ def test_detect_chained_assignment_changing_dtype( ++ self, using_array_manager, using_copy_on_write ++ ): diff --cc debian/patches/series index 00000000,00000000..8c9dfe91 new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,27 @@@ ++deb_nonversioneer_version.patch ++deb_doc_donotoverride_PYTHONPATH.patch ++xfail_tests_nonintel_io.patch ++deb_disable_googleanalytics.patch ++mathjax-path.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 ++privacy.patch ++find_test_data.patch ++remove_ccbysa_snippets.patch ++numba_fail_32bit.patch ++hurd_compat.patch ++968208_rounding.patch ++skip_test_missing_required_dependency.patch ++fix_overly_arch_specific_xfails.patch ++mips_warning.patch ++tests_dont_assume_64bit.patch ++armel_ignore_nonwarning.patch ++float_to_datetime.patch ++no_sphinx_toggleprompt.patch ++sphinx_old_pydata_theme.patch ++1029251_ignore_rounding_error.patch ++numpy1p24.patch diff --cc debian/patches/skip_noencoding_locales.patch index 00000000,00000000..f318331e 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 ++@@ -108,7 +108,10 @@ def _valid_locales(locales: list[str] | ++ ++ ++ def _default_locale_getter() -> bytes: ++- 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( diff --cc debian/patches/skip_test_missing_required_dependency.patch index 00000000,00000000..a9841257 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 ++@@ -275,6 +275,7 @@ def test_yaml_dump(df): ++ tm.assert_frame_equal(df, loaded2) ++ ++ +++@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_old_pydata_theme.patch index 00000000,00000000..e3847350 new file mode 100644 --- /dev/null +++ b/debian/patches/sphinx_old_pydata_theme.patch @@@ -1,0 -1,0 +1,34 @@@ ++Description: Allow building with Debian's pydata-sphinx-theme ++ ++This is currently too old to have all the options upstream expects ++ ++--- a/doc/source/conf.py +++++ b/doc/source/conf.py ++@@ -244,12 +244,7 @@ html_theme_options = { ++ "footer_items": ["pandas_footer", "sphinx-version"], ++ "github_url": "https://github.com/pandas-dev/pandas", ++ "twitter_url": "https://twitter.com/pandas_dev", ++- "logo": {"image_dark": "https://pandas.pydata.org/static/img/pandas_white.svg"}, ++- "navbar_end": ["version-switcher", "theme-switcher", "navbar-icon-links"], ++- "switcher": { ++- "json_url": "/versions.json", ++- "version_match": switcher_version, ++- }, +++ "navbar_end": ["navbar-icon-links"], ++ } ++ ++ # Add any paths that contain custom themes here, relative to this directory. ++--- a/doc/_templates/sidebar-nav-bs.html +++++ b/doc/_templates/sidebar-nav-bs.html ++@@ -1,9 +1,9 @@ ++ diff --cc debian/patches/tests_dont_assume_64bit.patch index 00000000,00000000..395bf92e new file mode 100644 --- /dev/null +++ b/debian/patches/tests_dont_assume_64bit.patch @@@ -1,0 -1,0 +1,107 @@@ ++Description: Fix test failures on 32-bit systems ++ ++Author: Rebecca N. Palmer ++Bug-Debian: partly https://bugs.debian.org/1026351 ++Forwarded: no ++ ++--- a/pandas/core/arrays/_ranges.py +++++ b/pandas/core/arrays/_ranges.py ++@@ -162,9 +162,7 @@ def _generate_range_overflow_safe_signed ++ # Putting this into a DatetimeArray/TimedeltaArray ++ # would incorrectly be interpreted as NaT ++ raise OverflowError ++- # error: Incompatible return value type (got "signedinteger[_64Bit]", ++- # expected "int") ++- return result # type: ignore[return-value] +++ return int(result) ++ except (FloatingPointError, OverflowError): ++ # with endpoint negative and addend positive we risk ++ # FloatingPointError; with reversed signed we risk OverflowError ++@@ -185,9 +183,7 @@ def _generate_range_overflow_safe_signed ++ i64max = np.uint64(i8max) ++ assert result > i64max ++ if result <= i64max + np.uint64(stride): ++- # error: Incompatible return value type (got "unsignedinteger", expected ++- # "int") ++- return result # type: ignore[return-value] +++ return int(result) ++ ++ raise OutOfBoundsDatetime( ++ f"Cannot generate range with {side}={endpoint} and periods={periods}" ++--- a/pandas/tests/test_sorting.py +++++ b/pandas/tests/test_sorting.py ++@@ -29,6 +29,7 @@ from pandas.core.sorting import ( ++ lexsort_indexer, ++ nargsort, ++ ) +++import sys ++ ++ ++ @pytest.fixture ++@@ -226,6 +227,7 @@ class TestSorting: ++ tm.assert_numpy_array_equal(result, np.array(exp), check_dtype=False) ++ ++ +++@pytest.mark.xfail(condition=sys.maxsize<2**33, reason="assumes default int is int64", strict=False)#used to be just the first one but that's been split into several ++ class TestMerge: ++ def test_int64_overflow_outer_merge(self): ++ # #2690, combinatorial explosion ++--- a/pandas/tests/frame/test_stack_unstack.py +++++ b/pandas/tests/frame/test_stack_unstack.py ++@@ -1,6 +1,7 @@ ++ from datetime import datetime ++ from io import StringIO ++ import itertools +++import sys ++ ++ import numpy as np ++ import pytest ++@@ -1862,6 +1863,7 @@ Thu,Lunch,Yes,51.51,17""" ++ tm.assert_frame_equal(recons, df) ++ ++ @pytest.mark.slow +++ @pytest.mark.xfail(condition=sys.maxsize<2**33, reason="assumes default int is int64", strict=False) ++ def test_unstack_number_of_levels_larger_than_int32(self, monkeypatch): ++ # GH#20601 ++ # GH 26314: Change ValueError to PerformanceWarning ++--- a/pandas/tests/reshape/test_pivot.py +++++ b/pandas/tests/reshape/test_pivot.py ++@@ -4,6 +4,7 @@ from datetime import ( ++ timedelta, ++ ) ++ from itertools import product +++import sys ++ ++ import numpy as np ++ import pytest ++@@ -2018,6 +2019,7 @@ class TestPivotTable: ++ tm.assert_frame_equal(result, expected) ++ ++ @pytest.mark.slow +++ @pytest.mark.xfail(condition=sys.maxsize<2**33, reason="assumes default int is int64", strict=False) ++ def test_pivot_number_of_levels_larger_than_int32(self, monkeypatch): ++ # GH 20601 ++ # GH 26314: Change ValueError to PerformanceWarning ++--- a/pandas/tests/test_downstream.py +++++ b/pandas/tests/test_downstream.py ++@@ -311,7 +311,7 @@ def test_missing_required_dependency(): ++ for name in ["numpy", "pytz", "dateutil"]: ++ assert name in output ++ ++- +++@pytest.mark.xfail(condition=sys.maxsize<2**33, reason="different nativesize-int vs int64 type rules", strict=False) ++ def test_frame_setitem_dask_array_into_new_col(): ++ # GH#47128 ++ ++--- a/pandas/tests/series/methods/test_round.py +++++ b/pandas/tests/series/methods/test_round.py ++@@ -30,8 +30,7 @@ class TestSeriesRound: ++ def test_round_numpy_with_nan(self, any_float_dtype): ++ # See GH#14197 ++ ser = Series([1.53, np.nan, 0.06], dtype=any_float_dtype) ++- with tm.assert_produces_warning(None): ++- result = ser.round() +++ result = ser.round() # on armhf, numpy warns ++ expected = Series([2.0, np.nan, 0.0], dtype=any_float_dtype) ++ tm.assert_series_equal(result, expected) ++ diff --cc debian/patches/tests_dont_assume_endian.patch index 00000000,00000000..6e19db56 new file mode 100644 --- /dev/null +++ b/debian/patches/tests_dont_assume_endian.patch @@@ -1,0 -1,0 +1,58 @@@ ++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: not-needed - upstream fix ad98c2b77 ++ ++--- 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: ++@@ -96,7 +97,7 @@ class TestDataFrameToRecords: ++ + [np.asarray(df.iloc[:, i]) for i in range(3)], ++ dtype={ ++ "names": ["A", "level_1", "0", "1", "2"], ++- "formats": ["O", "O", "f8", ">f8", ">f8"], ++ }, ++ ) ++ tm.assert_numpy_array_equal(result, expected) ++@@ -123,7 +124,7 @@ class TestDataFrameToRecords: ++ ("2022-01-01", "2022-01-01", "2022-01-01"), ++ ("2022-01-02", "2022-01-02", "2022-01-02"), ++ ], ++- dtype=[("1", "M8[ns]"), ("2", ">M8[ns]"), ("3", ">M8[ns]")], ++ ) ++ ++ result = df.to_records(index=False) ++--- a/pandas/tests/scalar/timedelta/test_arithmetic.py +++++ b/pandas/tests/scalar/timedelta/test_arithmetic.py ++@@ -435,7 +435,7 @@ class TestTimedeltaMultiplicationDivisio ++ ++ 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/arrays/floating/test_arithmetic.py +++++ b/pandas/tests/arrays/floating/test_arithmetic.py ++@@ -162,7 +162,7 @@ def test_error_invalid_values(data, all_ ++ "not all arguments converted during string formatting", ++ "can't multiply sequence by non-int of type 'float'", ++ "ufunc 'subtract' cannot use operands with types dtype", ++- r"ufunc 'add' cannot use operands with types dtype\(']M8\[ns\]'\)", ++ r"ufunc 'add' cannot use operands with types dtype\('float\d{2}'\)", ++ "cannot subtract DatetimeArray from ndarray", ++ ] diff --cc debian/patches/use_system_intersphinx.patch index 00000000,00000000..cc27315d new file mode 100644 --- /dev/null +++ b/debian/patches/use_system_intersphinx.patch @@@ -1,0 -1,0 +1,27 @@@ ++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 ++@@ -449,12 +449,12 @@ 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/", None), +++ "matplotlib": ("https://matplotlib.org/stable/", None), # no longer has a -doc in Debian "/usr/share/doc/python-matplotlib-doc/html/objects.inv" +++ "numpy": ("https://numpy.org/doc/stable/", None), # no longer has a -doc in Debian "/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/", ("/usr/share/doc/python-scipy-doc/html/objects.inv","/usr/share/doc/python-scipy/html/objects.inv")), ++ "pyarrow": ("https://arrow.apache.org/docs/", None), ++ } ++ diff --cc debian/patches/xfail_c_locale.patch index 00000000,00000000..c6349bc5 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 ++@@ -132,6 +132,7 @@ def test_set_locale(lang, enc): ++ assert before_locale == after_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..2dd0a1cc 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 ++@@ -27,6 +27,10 @@ from typing import ( ++ overload, ++ ) ++ 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 ++ ++@@ -552,6 +556,8 @@ class HDFStore: ++ fletcher32: bool = False, ++ **kwargs, ++ ) -> None: +++ if warn_hdf_platform: +++ warnings.warn(warn_hdf_platform) ++ ++ if "format" in kwargs: ++ raise ValueError("format is not a defined argument for HDFStore") ++@@ -773,7 +779,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 ++@@ -28,6 +28,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 ++@@ -970,6 +973,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 ++@@ -22,6 +22,10 @@ from pandas.tests.io.pytables.common imp ++ ensure_clean_store, ++ tables, ++ ) +++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 ++ ++ from pandas.io import pytables as pytables ++ from pandas.io.pytables import Term ++@@ -263,6 +267,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" ++ ) ++@@ -296,6 +301,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 ++@@ -23,6 +23,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_cpu ++ ++@@ -276,6 +280,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_cpu ++ ++@@ -790,6 +794,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): ++ # 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): ++ # 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 ++@@ -36,6 +36,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(): ++@@ -148,7 +150,7 @@ class TestStata: ++ # ) ++ ++ # 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 ++@@ -414,7 +416,7 @@ class TestStata: ++ warnings.simplefilter("always", InvalidColumnName) ++ original.to_stata(path, convert_dates=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) ++@@ -1759,8 +1761,9 @@ the string values returned are correct." ++ encoded = read_stata( ++ datapath("io", "data", "stata", "stata1_encoding_118.dta") ++ ) ++- 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): ++ # 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): ++ # 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 ++@@ -16,7 +16,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 ++@@ -301,11 +301,11 @@ Look,a snake,🐍""" ++ "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 ++@@ -13,6 +13,7 @@ from typing import ( ++ cast, ++ ) ++ import warnings +++import platform ++ ++ ++ @contextmanager ++@@ -178,6 +179,8 @@ def _assert_caught_no_extra_warnings( ++ # due to these open files. ++ if any("matplotlib" in mod for mod in sys.modules): ++ 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/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/python3-pandas.lintian-overrides index 00000000,00000000..d0868ca8 new file mode 100644 --- /dev/null +++ b/debian/python3-pandas.lintian-overrides @@@ -1,0 -1,0 +1,4 @@@ ++# these are test data, not user-facing text ++python3-pandas: national-encoding [usr/lib/python3/dist-packages/pandas/tests/io/data/xml/baby_names.xml] ++python3-pandas: package-contains-documentation-outside-usr-share-doc [usr/lib/python3/dist-packages/pandas/tests/io/data/gbq_fake_job.txt] ++python3-pandas: package-contains-documentation-outside-usr-share-doc [usr/lib/python3/dist-packages/pandas/tests/io/data/fixed_width/fixed_width_format.txt] diff --cc debian/rules index 00000000,00000000..0155875f new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,117 @@@ ++#!/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 ++# The echo-random-characters is to allow searching for fails that don't show the usual test failure message i.e. crashes/errors ++# -v makes the log too long for salsa-ci ++export PYBUILD_TEST_ARGS=TEST_SUCCESS=true; cd {build_dir} ; for TEST_SUBSET in {build_dir}/pandas/tests/* ; do PANDAS_CI=1 LOCALE_OVERRIDE=C xvfb-run -a -s "-screen 0 1280x1024x24 -noreset" {interpreter} -m pytest -s -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 && echo "rdjoqkol test state = $$TEST_SUCCESS"; done ; PANDAS_CI=1 LOCALE_OVERRIDE=C {interpreter} -m pytest -s -m "$(PYTEST_MARKER)" --forked --runxfail --confcutdir={build_dir}/pandas --deb-data-root-dir={dir}/pandas/tests --strict-data-files {build_dir}/pandas/tests/groupby/test_numba.py {build_dir}/pandas/tests/groupby/test_timegrouper.py {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 ++endif diff --cc debian/salsa-ci.yml index 00000000,00000000..e7d2961b new file mode 100644 --- /dev/null +++ b/debian/salsa-ci.yml @@@ -1,0 -1,0 +1,14 @@@ ++--- ++include: ++ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml ++ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml ++variables: ++# what triggers source-is-missing seems different between lintian.d.o, salsa-ci and local: possibly version dependent? ++ SALSA_CI_LINTIAN_SUPPRESS_TAGS: "mismatched-override" ++ SALSA_CI_LINTIAN_FAIL_WARNING: 1 ++# clearer errors from reproducibility test ++ SALSA_CI_REPROTEST_ENABLE_DIFFOSCOPE: 1 ++# known not currently reproducible ++ SALSA_CI_DISABLE_REPROTEST: 1 ++# long and mostly duplicates the build-time test ++ SALSA_CI_DISABLE_AUTOPKGTEST: 1 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..e2653a01 new file mode 100644 --- /dev/null +++ b/debian/source/lintian-overrides @@@ -1,0 -1,0 +1,5 @@@ ++# long lines in test data are not a bug ++very-long-line-length-in-source-file * [pandas/tests/io/data/*] ++very-long-line-length-in-source-file * [pandas/tests/io/sas/data/*] ++# long lines also don't equal actually missing source ++source-is-missing [pandas/tests/io/data/html/*] 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..e7d08b70 new file mode 100644 --- /dev/null +++ b/debian/tests/control @@@ -1,0 -1,0 +1,58 @@@ ++# 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: python3-pandas, ++ ca-certificates, ++ locales-all, ++ python3-all, ++# we don't have this version python3-blosc (>= 1.21.0~), ++ python3-bottleneck (>= 1.3.2~), ++ python3-bs4 (>= 4.9.3~), ++ python3-dask (>= 2.10.1~), ++ python3-dateutil, ++ python3-fsspec (>= 2021.07.0~), ++ python3-html5lib (>= 1.1~), ++ python3-hypothesis (>= 6.13.0~), ++ python3-jinja2 (>= 3.0~), ++ python3-lxml (>= 4.6.3~), ++ python3-matplotlib (>= 3.3.2~) [!ia64 !sh4 !x32], ++# armel, s390x numba crash, mipsel gives wrong answer, most ports don't have numba ++# uninstallable due to #1024795 python3-numba (>= 0.53.1~) [amd64 arm64 armhf i386 mips64el mipsel ppc64el s390x], ++ python3-numexpr (>= 2.8.0~), ++ python3-numpy (>= 1:1.18.5~), ++ python3-odf (>= 1.4.1~), ++ python3-openpyxl (>= 3.0.7~), ++# doesn't seem to work in this test environment python3-psycopg2 (>= 2.8.6~), ++# doesn't seem to work in this test environment python3-pymysql (>= 1.0.2~), ++ python3-pytest (>= 6.0~), ++ python3-pytest-asyncio (>= 0.17~), ++ python3-pytest-forked, ++ python3-pytest-xdist (>= 1.31~), ++ python3-scipy, ++ python3-setuptools (>= 51~), ++ python3-six, ++# we don't have this version python3-snappy (>= 0.6.0~), ++ python3-sqlalchemy (>= 1.4.16~), ++ python3-tables (>= 3.6.1~), ++ python3-tabulate (>= 0.8.9~), ++ python3-tk, ++ python3-tz (>= 2022.1~), ++ python3-xarray (>= 0.19.0~), ++# we don't have this version python3-xlrd (>= 2.0.1~), ++ python3-xlsxwriter (>= 1.4.3~), ++# having xlwt and not xlrd breaks tests/io/test_fsspec.py python3-xlwt (>= 1.3.0~), ++ python3-zstandard, ++ xauth, ++ xvfb, ++ xclip, ++Restrictions: allow-stderr, needs-internet diff --cc debian/tests/unittests3 index 00000000,00000000..d8a60d94 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 -s 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 ++ PANDAS_CI=1 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..6c46ad9d 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\.]+).tar.gz