The lab is an interactive development environment for working notebooks, code, and data (especially HDF data).
The lab works with most browsers, but is most thoroughly tested with Chome and Firefox.
The lab is hosted on Amazon AWS, in the us-west-2 region (Oregon, USA)
The lab is based on the Open Source JupyterLab project, but contains several extensions to facilitate working with HDF data:
Everyone gets a 30-day free trial of Kita Lab. After the free trial, there is a small subscription fee.
Your account gives you:
Your 10GB disk is stored as an AWS EBS Volume. Content in Kita Server is stored in a S3 Bucket. Each user has a server folder where they have permissions to write to. The name of the folder is listed in the output of the "hsinfo" command (see "command line tools" below). Typically it is
Yes, click on the "upload" button in the UI () and select the file you wish to upload.
Use Shift+Right Click (Ctrl+Shift on Mac) and select copy from the popup menu.
Yes, in the directory "/home/jovyan/examples" you will find sample notebooks and a tutorial. Running the different notebooks in the tutorial is a good way to become familiar with the capabilities of Kita Server. The GitHub repository for the examples is located at https://github.com/HDFGroup/hdflab_examples.
The easiest method would be to create a Github repository and have other users clone the repo.
Yes, follow these steps:
You can upload directly from your desktop. Follow these steps:
No, not directly, though you could share via git or other such means.
Yes, use the hsacl tool to make your folder or domain publically readable. If the domain is: /home/myname/mydata.h5, run the command:
To enable specific users to read the folder or domain, replace "default" in the above command with the user's email address that they use when logging in to Kita Lab.
You can also enable other users to have write permission to the domain, see the
You can get free help from the HDF community at https://forum.hdfgroup.org.
These are listed below.
This tool returns basic information on the server state and validates the username and password saved in the .hscfg file. For example:
$ hsinfo endpoint: http://hsdshdflab.hdfgroup.org server name: HDF Server for Kita Lab server state: READY username: test_user1 password: ******************************** home: /home/test_user1/ server version: 0.3 up: 55 min 27 sec h5pyd version: 0.3.3
If you add a domain argument to hsinfo, summary information about that domain will be displayed. Example:
$ hsinfo /shared/tall.h5
This tool list either folders and domains at the given path.
Rather than directories and files, Kita uses the terms folders and domains. A folder is used to store collections of folders and domains. A domain is the equivalent to a regular HDF5 file stored in a POSIX filesystem.
During installation, a home folder is created for each user in the path:
peterpan folder 2018-06-25 17:01:24 /home/peterpan/ 1 items
As additional content is created in this folder, those items will be displayed by
This tool will upload an HDF5 from the client environment to Kita.
hsload myhdf5file.h5 /home/bob/ # creates
Note: There's no equivalent to the concept of "current working directory" for paths on the server. Always use absolute path names.
Note: By default
Note: The requesting user most have permissions to write to the folder that will be used to store the domain (see
Note: Non-HDF5 files cannot be loaded. Use
Note: If you need a test file, you can download this one: https://s3.amazonaws.com/hdfgroup/data/hdf5test/tall.h5.
This tool retrieves a domain from the server an stores it as a ordinary HDF5 file on the client system.
hsget /home/bob/myhdf5file.h5 myhdf5file.h5 # stores myhdf5file.h5 in the
This tool creates a new folder or a domain (which will contain just the root group) on the server.
This tool removes a folder or domain from the server.
This tool can be used to move a domain from one folder location to another.
hsmv /home/bob/folder1/myhdf5file.h5 /home/bob/folder2/
This tool copies all content from the given domain to a new domain.
hscp /home/bob/myhdf5file.h5 /home/bob/myhdf5file_copy.h5
This tool compares the content of an HDF5 file with a domain and prints a message if the two objects are different.
$ hsdiff myhdf5file.h5 /home/bob/myhdf5file.h5
This tools can be used to display or modify ACLs (Access Control List) for folders or domains. The ACL for a given user controls which actions ("create", "read", "update", "delete", "read ACL", "update ACL") can be performed (either via the CLI tools, or programmatically).
Also, this blog post: https://www.hdfgroup.org/2015/12/serve-protect-web-security-hdf5/ describes the design and use of ACLs as well as well as other web security related issues.