Remove pyx dependencies from setup
State: closed

See discussion in #17419

- [ ] closes #xxxx
- [ ] tests added / passed
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry


Labels:
name: Internals
description: Related to non-user accessible pandas implementation
name: Clean

Comments:
Hello @jbrockmendel! Thanks for updating the PR.



Cheers ! There are no PEP8 issues in this Pull Request. :beers: 

##### Comment last updated on September 08, 2017 at 17:43 Hours UTC
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/17478?src=pr&el=h1) Report
> Merging [#17478](https://codecov.io/gh/pandas-dev/pandas/pull/17478?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/d6df8ea99f2574480e934aae01a1e142f935145e?src=pr&el=desc) will **decrease** coverage by `0.01%`.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/17478/graphs/tree.svg?token=eZ4WkYLtcO&src=pr&height=150&width=650)](https://codecov.io/gh/pandas-dev/pandas/pull/17478?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #17478      +/-   ##
==========================================
- Coverage   91.15%   91.13%   -0.02%     
==========================================
  Files         163      163              
  Lines       49534    49534              
==========================================
- Hits        45153    45144       -9     
- Misses       4381     4390       +9
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `88.92% <ø> (ø)` | :arrow_up: |
| #single | `40.22% <ø> (-0.07%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/17478?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/io/gbq.py](https://codecov.io/gh/pandas-dev/pandas/pull/17478?src=pr&el=tree#diff-cGFuZGFzL2lvL2dicS5weQ==) | `25% <0%> (-58.34%)` | :arrow_down: |
| [pandas/core/frame.py](https://codecov.io/gh/pandas-dev/pandas/pull/17478?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZnJhbWUucHk=) | `97.72% <0%> (-0.1%)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/17478?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/17478?src=pr&el=footer). Last update [d6df8ea...a06e178](https://codecov.io/gh/pandas-dev/pandas/pull/17478?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

@jbrockmendel : The builds are passing, so can't complain, but just curious : is there anything further that can be done now that you've dropped these dependencies?
@jbrockmendel 
does ``scripts/build_release_for_dist.sh`` work locally?
> does `scripts/build_release_for_dist.sh` work locally?

Just tried it and it went through OK.

> but just curious : is there anything further that can be done now that you've dropped these dependencies?

Not sure what you have in mind.  This doesn't affect the _actual_ dependencies, is just about the rules for declaring cython deps.
There _are_ some pretty significant simplifications that can be made once timezone functions get moved out of `tslib`, and another big batch if/when `NaT` becomes standalone.  Is that what you're referring to?
ok this looks fine. ping on green. 
ok going to merge. I hope this doesn't bite us from something we are not testing, possibly on the development side. 
Poking at this further has me confused.  It is not clear to me what is the distinction is between the `'include'` vs `'depends'` vs `'pxdfiles'`.

I saw that the `ext_data` entries that don't include a `'include'` key get the default include of `['pandas/_libs/src/klib', 'pandas/_libs/src']`.  Many of the `_libs` extensions only need one or two of the files in `_libs/src`, so I tried specifying those explicitly and pinning `include` entries to `[]` in the hopes of trimming the build time.  For the most part this led to compile-time errors complaining that there is no "datetime/np_datetime.h" file.  Lots of reasonable explanations for that, no big deal.

More noteworthy is that removing "compat_helper.h" from `lib_depends` doesn't seem to matter.  The only explanation I've come up with is that the `ext_data['_libs.lib']['include']` gets set to the default value of `common_include` which is `['pandas/_libs/src/klib', 'pandas/_libs/src']` and since "compat_helper.h" is in the "pandas/_libs/src" directory, that is sufficient.  But then why are there separate `'include'` and `'depends'` keys?

you should dig into the cython docs to see
I have.  I've also used Google.

These args are getting passed to `distutils.extension.Extension`, so I don't think it is cython-specific.  (Yes, I've looked through the distutils docs).