-
Notifications
You must be signed in to change notification settings - Fork 52
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
Make hsds a Python package #26
Conversation
This looks great. I was planning to do something like this myself to support the direct access feature (https://github.com/HDFGroup/hsds/blob/master/docs/design/direct_access/direct_access.md). Re: doing pip install in the dockerfile: Won't that make it hard to do development on HSDS? (at least for testing with Docker or K8s) |
I'm not really familiar with docker and k8s so I don't really know the possible issues. It's still possible to copy |
Rebased to master and updated (added What is the usage of Let me know if there is anything to change in this PR. |
Lambda is for building AWS Lambda functions (serverless invocations). There's a bunch of code I copied from util that I need to refactor. |
Rebased to master to fix conflicts and update dependencies in |
Rebased to master to fix conflicts. |
Rebased to master to fix conflicts and update dependencies in |
PR merged to master! |
Hey @t20100 - I've refactored the app.py code a bit. Now rather than separate async tasks for DN, SN, and head, app.py spins up subprocesses for DN, SN, and the new rangeget node. There's no head node needed now, app.py supplies the coordinate info SN/DN nodes need via command line. You can specify the number of DN nodes via the --count argument. If you get a chance please try it out and let me know if you run into any issues. |
This PR is an attempt at putting
hsds
together as a Python package.The idea would be in the end to be able to install and run
hsds
without embedding it into docker (which would be particularly useful when it will be possible to open files with it).It contains:
hsds/__init__.py
setup.py
to put all dependencies in thesetup.py
withazure
as an "extras_require
" + some classifiers + some entrypoints.hsds
relative and importhsds
in othertests
andtools
.hsds/tools/
intotools/
as it doesn't seems to be used.entrypoint.sh
andDockerfile
to use the Python entrypoints and installhsds
with pipI haven't touched the following folder yet:
admin/
awslambda/
which containing some duplicates of somehsds
modulesexamples/
which would need to be updated and testedTests passes locally with openio object store.
There is certainly quite a few things to update, but if you are OK with the idea, I can further work on it.
closes #25