Skip to content

Commit de6c469

Browse files
author
harisbal
committed
Allow for join between two multi-index dataframe instances
1 parent b1c113f commit de6c469

File tree

787 files changed

+90112
-58190
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

787 files changed

+90112
-58190
lines changed

.circleci/config.yml

+147
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
version: 2
2+
jobs:
3+
4+
# --------------------------------------------------------------------------
5+
# 0. py27_compat
6+
# --------------------------------------------------------------------------
7+
py27_compat:
8+
docker:
9+
- image: continuumio/miniconda:latest
10+
# databases configuration
11+
- image: circleci/postgres:9.6.5-alpine-ram
12+
environment:
13+
POSTGRES_USER: postgres
14+
POSTGRES_DB: pandas_nosetest
15+
- image: circleci/mysql:8-ram
16+
environment:
17+
MYSQL_USER: "root"
18+
MYSQL_HOST: "localhost"
19+
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
20+
MYSQL_DATABASE: "pandas_nosetest"
21+
environment:
22+
JOB: "2.7_COMPAT"
23+
ENV_FILE: "ci/circle-27-compat.yaml"
24+
LOCALE_OVERRIDE: "it_IT.UTF-8"
25+
MINICONDA_DIR: /home/ubuntu/miniconda3
26+
steps:
27+
- checkout
28+
- run:
29+
name: build
30+
command: |
31+
./ci/install_circle.sh
32+
./ci/show_circle.sh
33+
- run:
34+
name: test
35+
command: ./ci/run_circle.sh --skip-slow --skip-network
36+
37+
# --------------------------------------------------------------------------
38+
# 1. py36_locale
39+
# --------------------------------------------------------------------------
40+
py36_locale:
41+
docker:
42+
- image: continuumio/miniconda:latest
43+
# databases configuration
44+
- image: circleci/postgres:9.6.5-alpine-ram
45+
environment:
46+
POSTGRES_USER: postgres
47+
POSTGRES_DB: pandas_nosetest
48+
- image: circleci/mysql:8-ram
49+
environment:
50+
MYSQL_USER: "root"
51+
MYSQL_HOST: "localhost"
52+
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
53+
MYSQL_DATABASE: "pandas_nosetest"
54+
55+
environment:
56+
JOB: "3.6_LOCALE"
57+
ENV_FILE: "ci/circle-36-locale.yaml"
58+
LOCALE_OVERRIDE: "zh_CN.UTF-8"
59+
MINICONDA_DIR: /home/ubuntu/miniconda3
60+
steps:
61+
- checkout
62+
- run:
63+
name: build
64+
command: |
65+
./ci/install_circle.sh
66+
./ci/show_circle.sh
67+
- run:
68+
name: test
69+
command: ./ci/run_circle.sh --skip-slow --skip-network
70+
71+
# --------------------------------------------------------------------------
72+
# 2. py36_locale_slow
73+
# --------------------------------------------------------------------------
74+
py36_locale_slow:
75+
docker:
76+
- image: continuumio/miniconda:latest
77+
# databases configuration
78+
- image: circleci/postgres:9.6.5-alpine-ram
79+
environment:
80+
POSTGRES_USER: postgres
81+
POSTGRES_DB: pandas_nosetest
82+
- image: circleci/mysql:8-ram
83+
environment:
84+
MYSQL_USER: "root"
85+
MYSQL_HOST: "localhost"
86+
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
87+
MYSQL_DATABASE: "pandas_nosetest"
88+
89+
environment:
90+
JOB: "3.6_LOCALE_SLOW"
91+
ENV_FILE: "ci/circle-36-locale_slow.yaml"
92+
LOCALE_OVERRIDE: "zh_CN.UTF-8"
93+
MINICONDA_DIR: /home/ubuntu/miniconda3
94+
steps:
95+
- checkout
96+
- run:
97+
name: build
98+
command: |
99+
./ci/install_circle.sh
100+
./ci/show_circle.sh
101+
- run:
102+
name: test
103+
command: ./ci/run_circle.sh --only-slow --skip-network
104+
105+
# --------------------------------------------------------------------------
106+
# 3. py35_ascii
107+
# --------------------------------------------------------------------------
108+
py35_ascii:
109+
docker:
110+
- image: continuumio/miniconda:latest
111+
# databases configuration
112+
- image: circleci/postgres:9.6.5-alpine-ram
113+
environment:
114+
POSTGRES_USER: postgres
115+
POSTGRES_DB: pandas_nosetest
116+
- image: circleci/mysql:8-ram
117+
environment:
118+
MYSQL_USER: "root"
119+
MYSQL_HOST: "localhost"
120+
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
121+
MYSQL_DATABASE: "pandas_nosetest"
122+
123+
environment:
124+
JOB: "3.5_ASCII"
125+
ENV_FILE: "ci/circle-35-ascii.yaml"
126+
LOCALE_OVERRIDE: "C"
127+
MINICONDA_DIR: /home/ubuntu/miniconda3
128+
steps:
129+
- checkout
130+
- run:
131+
name: build
132+
command: |
133+
./ci/install_circle.sh
134+
./ci/show_circle.sh
135+
- run:
136+
name: test
137+
command: ./ci/run_circle.sh --skip-slow --skip-network
138+
139+
140+
workflows:
141+
version: 2
142+
build_and_test:
143+
jobs:
144+
- py27_compat
145+
- py36_locale
146+
- py36_locale_slow
147+
- py35_ascii

.coveragerc

-27
This file was deleted.

.github/PULL_REQUEST_TEMPLATE.md

-24
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,3 @@
1-
Checklist for the pandas documentation sprint (ignore this if you are doing
2-
an unrelated PR):
3-
4-
- [ ] PR title is "DOC: update the <your-function-or-method> docstring"
5-
- [ ] The validation script passes: `scripts/validate_docstrings.py <your-function-or-method>`
6-
- [ ] The PEP8 style check passes: `git diff upstream/master -u -- "*.py" | flake8 --diff`
7-
- [ ] The html version looks good: `python doc/make.py --single <your-function-or-method>`
8-
- [ ] It has been proofread on language by another sprint participant
9-
10-
Please include the output of the validation script below between the "```" ticks:
11-
12-
```
13-
# paste output of "scripts/validate_docstrings.py <your-function-or-method>" here
14-
# between the "```" (remove this comment, but keep the "```")
15-
16-
```
17-
18-
If the validation script still gives errors, but you think there is a good reason
19-
to deviate in this case (and there are certainly such cases), please state this
20-
explicitly.
21-
22-
23-
Checklist for other PRs (remove this part if you are doing a PR for the pandas documentation sprint):
24-
251
- [ ] closes #xxxx
262
- [ ] tests added / passed
273
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`

.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ dist
6161
.coverage
6262
coverage.xml
6363
coverage_html_report
64+
*.pytest_cache
65+
# hypothesis test database
66+
.hypothesis/
6467

6568
# OS generated files #
6669
######################
@@ -90,7 +93,6 @@ scikits
9093

9194
# Unit / Performance Testing #
9295
##############################
93-
.pytest_cache/
9496
asv_bench/env/
9597
asv_bench/html/
9698
asv_bench/results/

.travis.yml

+16-11
Original file line numberDiff line numberDiff line change
@@ -34,55 +34,59 @@ matrix:
3434
- os: osx
3535
language: generic
3636
env:
37-
- JOB="3.5_OSX" TEST_ARGS="--skip-slow --skip-network"
37+
- JOB="3.5, OSX" ENV_FILE="ci/travis-35-osx.yaml" TEST_ARGS="--skip-slow --skip-network"
38+
3839
- dist: trusty
3940
env:
40-
- JOB="2.7_LOCALE" LOCALE_OVERRIDE="zh_CN.UTF-8" SLOW=true
41+
- JOB="3.7" ENV_FILE="ci/travis-37.yaml" TEST_ARGS="--skip-slow --skip-network"
42+
43+
- dist: trusty
44+
env:
45+
- JOB="2.7, locale, slow, old NumPy" ENV_FILE="ci/travis-27-locale.yaml" LOCALE_OVERRIDE="zh_CN.UTF-8" SLOW=true
4146
addons:
4247
apt:
4348
packages:
4449
- language-pack-zh-hans
4550
- dist: trusty
4651
env:
47-
- JOB="2.7" TEST_ARGS="--skip-slow" LINT=true
52+
- JOB="2.7, lint" ENV_FILE="ci/travis-27.yaml" TEST_ARGS="--skip-slow" LINT=true
4853
addons:
4954
apt:
5055
packages:
5156
- python-gtk2
52-
# In allow_failures
5357
- dist: trusty
5458
env:
55-
- JOB="3.6" TEST_ARGS="--skip-slow --skip-network" PANDAS_TESTING_MODE="deprecate" CONDA_FORGE=true COVERAGE=true
59+
- JOB="3.6, coverage" ENV_FILE="ci/travis-36.yaml" TEST_ARGS="--skip-slow --skip-network" PANDAS_TESTING_MODE="deprecate" COVERAGE=true DOCTEST=true
5660
# In allow_failures
5761
- dist: trusty
5862
env:
59-
- JOB="2.7_SLOW" SLOW=true
63+
- JOB="3.6, slow" ENV_FILE="ci/travis-36-slow.yaml" SLOW=true
6064
# In allow_failures
6165
- dist: trusty
6266
env:
63-
- JOB="3.6_NUMPY_DEV" TEST_ARGS="--skip-slow --skip-network" PANDAS_TESTING_MODE="deprecate"
67+
- JOB="3.7, NumPy dev" ENV_FILE="ci/travis-37-numpydev.yaml" TEST_ARGS="--skip-slow --skip-network -W error" PANDAS_TESTING_MODE="deprecate"
6468
addons:
6569
apt:
6670
packages:
6771
- xsel
6872
# In allow_failures
6973
- dist: trusty
7074
env:
71-
- JOB="3.6_DOC" DOC=true
75+
- JOB="3.6, doc" ENV_FILE="ci/travis-36-doc.yaml" DOC=true
7276
allow_failures:
7377
- dist: trusty
7478
env:
75-
- JOB="2.7_SLOW" SLOW=true
79+
- JOB="3.6, slow" ENV_FILE="ci/travis-36-slow.yaml" SLOW=true
7680
- dist: trusty
7781
env:
78-
- JOB="3.6_NUMPY_DEV" TEST_ARGS="--skip-slow --skip-network" PANDAS_TESTING_MODE="deprecate"
82+
- JOB="3.7, NumPy dev" ENV_FILE="ci/travis-37-numpydev.yaml" TEST_ARGS="--skip-slow --skip-network -W error" PANDAS_TESTING_MODE="deprecate"
7983
addons:
8084
apt:
8185
packages:
8286
- xsel
8387
- dist: trusty
8488
env:
85-
- JOB="3.6_DOC" DOC=true
89+
- JOB="3.6, doc" ENV_FILE="ci/travis-36-doc.yaml" DOC=true
8690

8791
before_install:
8892
- echo "before_install"
@@ -115,6 +119,7 @@ script:
115119
- ci/script_single.sh
116120
- ci/script_multi.sh
117121
- ci/lint.sh
122+
- ci/doctests.sh
118123
- echo "checking imports"
119124
- source activate pandas && python ci/check_imports.py
120125
- echo "script done"

MANIFEST.in

+23-11
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,39 @@ include LICENSE
33
include RELEASE.md
44
include README.md
55
include setup.py
6-
include pyproject.toml
76

87
graft doc
98
prune doc/build
109

10+
graft LICENSES
11+
1112
graft pandas
1213

13-
global-exclude *.so
14-
global-exclude *.pyd
14+
global-exclude *.bz2
15+
global-exclude *.csv
16+
global-exclude *.dta
17+
global-exclude *.gz
18+
global-exclude *.h5
19+
global-exclude *.html
20+
global-exclude *.json
21+
global-exclude *.msgpack
22+
global-exclude *.pickle
23+
global-exclude *.png
1524
global-exclude *.pyc
25+
global-exclude *.pyd
26+
global-exclude *.sas7bdat
27+
global-exclude *.so
28+
global-exclude *.xls
29+
global-exclude *.xlsm
30+
global-exclude *.xlsx
31+
global-exclude *.xpt
32+
global-exclude *.xz
33+
global-exclude *.zip
1634
global-exclude *~
17-
global-exclude \#*
18-
global-exclude .git*
1935
global-exclude .DS_Store
20-
global-exclude *.png
36+
global-exclude .git*
37+
global-exclude \#*
2138

22-
# include examples/data/*
23-
# recursive-include examples *.py
24-
# recursive-include doc/source *
25-
# recursive-include doc/sphinxext *
26-
# recursive-include LICENSES *
2739
include versioneer.py
2840
include pandas/_version.py
2941
include pandas/io/formats/templates/*.tpl

Makefile

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ build: clean_pyc
1313
python setup.py build_ext --inplace
1414

1515
lint-diff:
16-
git diff master --name-only -- "*.py" | grep "pandas" | xargs flake8
16+
git diff master --name-only -- "*.py" | grep -E "pandas|scripts" | xargs flake8
1717

1818
develop: build
1919
-python setup.py develop
@@ -23,3 +23,4 @@ doc:
2323
cd doc; \
2424
python make.py clean; \
2525
python make.py html
26+
python make.py spellcheck

0 commit comments

Comments
 (0)