Skip to content
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

pipdate dependency #305

Closed
mikedh opened this issue Sep 12, 2018 · 9 comments
Closed

pipdate dependency #305

mikedh opened this issue Sep 12, 2018 · 9 comments

Comments

@mikedh
Copy link

mikedh commented Sep 12, 2018

Hey, thanks for the library, it looks great!

I noticed that pipdate is a soft dependency already:
https://github.com/nschloe/meshio/blob/master/meshio/__init__.py#L24-L30

Would you be willing to remove it from install_requires?
https://github.com/nschloe/meshio/blob/master/setup.py#L31

It's also a little atypical for libraries to actively complain when they need to be upgraded- generally that's left to the package manager 😁

@nschloe
Copy link
Owner

nschloe commented Sep 12, 2018

Does it cause any problems?

@mikedh
Copy link
Author

mikedh commented Sep 13, 2018

I think it may be a difference in expectation: when I'm importing a library, I'm expecting it to not do network queries until I explicitly call functions. This assumption holds true for pretty much every library in both the standard library and the numpy/scipy/conda-forge ecosystem.

I think the upside of the pipdate requirement is that the user gets a message when they haven't upgraded in a while.

The downsides are the user gets a nag message they may not want or care about, the library does unexpected network queries (which may hang imports for up to timeout=1.0 seconds), and the dependency tree expands.

That being said, it's your party and I'm not trying to impose my lifestyle choices! Feel free to close if you disagree.

@nschloe
Copy link
Owner

nschloe commented Sep 13, 2018

I get the point. I might think about it in the future, but see no real urgency for now. If more people +1 this request, I'll reopen.

@nschloe nschloe closed this as completed Sep 13, 2018
@kinnala
Copy link

kinnala commented Sep 14, 2018

+1

@kinnala
Copy link

kinnala commented Oct 25, 2018

Just a note that this would also drop the number of extra dependencies; pipdate depends on appdirs and requests, and requests depends on urllib3, chardet, idna, certifi. All this seems to be not so useful for the typical use case of meshio.

@nschloe
Copy link
Owner

nschloe commented Oct 25, 2018

this would also drop the number of extra dependencies

Frankly I couldn't care less about the dependencies. Those packages are so small that bandwidth and storage space cannot be issues. Plus, requests is so popular as a package that in all likelihood you'd still have it if meshio drops the pipdate dependency.

@sigvaldm
Copy link

+1

First of all, good work with meshio. It's great.

Like @mikedh, I don't like packages to do networking behind my back. It was not at all obvious that meshio did this, although it does so for a completely innocent reason. I also agree this is a job for the package manager. Second, if I were to import meshio into another program and share it (currently, it's only for my own use), I would like to maintain control of the output of my program. It's common practice to leave printing to the end user of libraries.

These are only my two cents.

nschloe added a commit that referenced this issue Mar 21, 2019
@nschloe nschloe mentioned this issue Mar 21, 2019
@nschloe
Copy link
Owner

nschloe commented Mar 21, 2019

Alright, three is a party. Just removed pipdate and updated to v2.3.6.

@sigvaldm
Copy link

Thanks for listening, and thank you again for the good software.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants