-
-
Notifications
You must be signed in to change notification settings - Fork 18.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BLD: consolidate remaining extensions #15537
Conversation
I'd suggest deprecating at least |
df4f898
to
407a415
Compare
@chris-b1 added |
cc @wesm |
Codecov Report
@@ Coverage Diff @@
## master #15537 +/- ##
==========================================
- Coverage 91.06% 90.99% -0.07%
==========================================
Files 137 143 +6
Lines 49313 49295 -18
==========================================
- Hits 44906 44858 -48
- Misses 4407 4437 +30
Continue to review full report at Codecov.
|
cc @shoyer FYI (I could make this a DeprecationWarning, but those get ignored :<)
|
We used It would be nice to move that to public API somewhere, maybe |
81be544
to
6f264e5
Compare
This looks fine from superficial glance. Might want to nest src at |
@wesm sure that sounds good. yeah that's the idea :> |
5d1d491
to
00a7751
Compare
going to merge on pass. |
Big +1 on consolidation of where and how the c/cython extensions are organized (and for removing them from the top-level namespace). Some comments:
I am personally in favour of using more underscores, making it very clear that something is private stuff. |
underscores!
…On Fri, Mar 3, 2017 at 8:17 AM Joris Van den Bossche < ***@***.***> wrote:
Big +1 on consolidation of where and how the c/cython extensions are
organized (and for removing them from the top-level namespace).
Some comments:
- is there a specific reason libwindow is in core and not libs?
- the same as I commented in the other PR, IMO we should think about
whether we need to recommend users to import from pandas.libs directly
(the deprecation warnings now do that).
- Regarding the indication of 'privateness', something like
pandas.tools.libhash looks more public compared to pandas._hash to me
(it's not because it is not top-level anymore, that it is not public. We
have public non-top-level API). So if we regard that as non-public, I find
that not an improvement (that aspect).
I am personally in favour of using more underscores, making it very clear
that something is private stuff.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#15537 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABKS1ihs1kbBkpLbnU84w2Yh8P8RHiR0ks5riD0ogaJpZM4MP0a7>
.
|
well, underscores do a lot to make this non-readable. I could make this
which looks really ugly to me. |
to some of @jorisvandenbossche points
so from a code organization perspective. directly attributable libs make sense to be right next to there respective libs. general libs like Similarly for json, sas, and the parser. They are self-contained. Its a tradeoff between dev flexibility and privacy really. I think the
I could do this as
see comment above. I mean ALL of pandas code is 'public', but that's the point of having |
Agreed, there's no need to use more than one level of underscores. I also prefer using |
renamed to @jorisvandenbossche w.r.t. the |
bec46a7
to
44be976
Compare
xref pandas-dev#12588 pandas.parser -> io/libparsers.pyx pandas.json -> pandas.io.json.libjson pandas.io.sas.saslib -> libsas pandas.msgpack -> pandas.io.msgpack pandas._testing -> pandas.util.libtesting pandas._sparse -> pandas.sparse.libsparse pandas._hash -> pandas.tools.libhash pandas.tslib -> pandas.libs.tslib pandas.index -> pandas.libs.index pandas.algos -> pandas.libs.algos pandas.lib -> pandas.libs.lib pandas.hashtable -> pandas.libs.hashtable pandas._window -> pandas.core.libwindow pandas._join -> pandas.libs.join move algos*.in, index*.in, hashtable*.in to libs pandas._period -> pandas.libs.period
bombs away. |
moves extensions to pandas/_libs, which holds the extension code and also the generated builds (as its importable). pandas/_libs/src is now almost an includes dir, holding low-frequency changing code. This consolidates the import process making it more uniform and consistent throughout the codebase. Finally this cleans up the remaining top-level namespace (with some deprecations in place for example pandas.lib, pandas.tslib, pandas.json, pandas.parser. I listed all of the changes in the whatsnew, but I don't think worthwhile deprecating anything else. Author: Jeff Reback <jeff@reback.net> Closes pandas-dev#15537 from jreback/extensions3 and squashes the following commits: a6d6cfa [Jeff Reback] BLD: rename / move some extensions
xref pandas-devgh-15537. Need to bumpy xarray version for Travis 2.7 because 0.8.0 becomes incompatible with this change.
xref gh-15537. Need to bumpy xarray version for Travis 2.7 because 0.8.0 becomes incompatible with this change.
xref pandas-devgh-15537. Need to bumpy xarray version for Travis 2.7 because 0.8.0 becomes incompatible with this change.
xref pandas-devgh-15537. Need to bumpy xarray version for Travis 2.7 because 0.8.0 becomes incompatible with this change.
xref pandas-devgh-15537. Need to bumpy xarray version for Travis 2.7 because 0.8.0 becomes incompatible with this change.
moves extensions to
pandas/libs
, which holds the extension code and also the generated builds (as its importable).pandas/src
is now almost an includes dir, holding low-frequency changing code.This consolidates the import process making it more uniform and consistent throughout the codebase.
Finally this cleans up the remaining top-level namespace (with some deprecations in place for example
pandas.lib
,pandas.tslib
,pandas.json
,pandas.parser
. I listed all of the changes in the whatsnew, but I don't think worthwhile deprecating anything else.