-
Notifications
You must be signed in to change notification settings - Fork 85
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
[Feature]: make pandas optional / installation more lightweight #2010
Comments
Pandas is a dependency of I'm not sure how hard it would be to modify HDMF to make Pandas optional, but I suspect this may not be trivial since pandas DataFrame is used as the main format for returning results from tables. |
@rly can you comment |
Related: #1282
Yes, that would make it difficult. If you slice a set of rows from a DynamicTable, a Pandas DataFrame is returned. This is a fairly common use case if you are reusing data, but users could use the pattern of accessing a single column and slicing the column, which does not involve pandas DataFrames. So, we would have to change how slices of DynamicTable are returned and raise a notice when a user tries to use functionality requiring pandas. I understand that pandas is a heavy requirement, but manipulating tables is pretty common and IMO most users are more comfortable doing that in pandas than in our custom HDMF table syntax. |
Well, I was not suggesting to change those aspects. It should be indeed pandas where efficient manipulation of tables is needed. I just want to point that I do not think ( but I could be wrong) that e.g. |
I see. I am curious - what does the |
validation and access to metadata to extract/harmonize while uploading files to DANDI. We also collect statistics over data types , see e.g. "Assets summary" at https://dandiarchive.org/dandiset/000003 . |
Thanks. We discussed this at our developer meeting today and all lean toward keeping An alternate approach is for us to release a "pynwb-minimal" package that does not include pandas (and scipy). Let's keep the discussion open for now and revisit this later as use cases evolve. |
What would you like to see added to PyNWB?
pandas
is great but quite a heavy dependency. ATM it even simply fails to install for me "easily" in a test windows env.But it seems to be used only "optionally" (clearly should not mandate solely for conversion of age into isoformat)
Is your feature request related to a problem?
No response
What solution would you like?
so I wonder if it could be moved into some extra depends, and some checks adjusted depending on pandas availability (if not available -- can't be of that data time)?
Do you have any interest in helping implement the feature?
No.
Code of Conduct
The text was updated successfully, but these errors were encountered: