Hammerspace CLI tool and python toolkit (hstk)
Supports Hammerspace release 4.5.x and later, and python 3
Install
=======
Installing with pip
-------------------
The easiest way to install the hs command + hstk library is with pip. You may
need to use your package manager (yum/apt/etc) to install the python-pip
package. Once you have the 'pip' command, decide if you want to install for
all users in the system libraries or for just your account.
As your user (installs in your account only) or using sudo/root (installs in system directories):
$ pip3 install hstk
This will pull down the needed dependencies as well. This does not install the
bash completions, see [shell completions](shell-completions)
python click dependency
-----------------------
There is a dependency on the click python package. It is known to work with
click version 6.7 that comes from the EPEL repo for centos 7. The easiest
thing to do is to grab that RPM. If you have EPEL repos enabled:
$ yum install python2-click
If not, you can build your own RPM of click... This example grabs an older version
of click, if you try a newer version and it doesn't work, plese file a bug at
https://github.com/hammer-space/hstk
$ yum install rpm-build
$ wget https://github.com/pallets/click/archive/6.7.tar.gz
$ tar xzvf 6.7.tar.gz
$ cd click-6.7/
$ python2 setup.py bdist_rpm
$ ls -l dist/click-6.7-1.noarch.rpm
-rw-r----- 1 user group 120312 Dec 18 19:59 dist/click-6.7-1.noarch.rpm
building hstk rpm
-----------------
$ git clone https://github.com/hammer-space/hstk.git
$ cd hstk
$ python3 setup.py bdist_rpm
$ ls -l dist/hstk-4.1.0.1-1.noarch.rpm
-rw-r----- 1 root root 20652 Dec 18 20:01 dist/hstk-4.1.0.1-1.noarch.rpm
shell completion
----------------
The above pip and rpm install methods don't configure shell completion. The
short version, for bash, to enable system wide completions, add this file
$ cat /etc/bash_completion.d/hs_bash_completion
eval "$(LANG=en_US.utf8 _HS_COMPLETE=source hs)"
More details on how to enable shell completion are available from the
[Click Project](https://click.palletsprojects.com/en/6.x/bashcomplete/)
Installing on a system that is not connected to the internet
============================================================
Centos8
-------
Install base python3 RPMs on target system
python3 python3-pip python3-setuptools
move on to 'Collect and install wheel files for any Distro'
Collect and install wheel files for any Distro
----------------------------------------------
On an internet connected system, generate the pip requirements and download all
needd packages.
python3 -m hstk_for_req
source hstk_for_req/bin/activate
pip3 install hstk
mkdir /tmp/hstk_pkgs
cd /tmp/hstk_pkgs
pip3 freeze > requirements.txt
Note that you may need to remove some old packages installed by RPM for
download to work, I removed the 'gpg==' and 'rpm==' lines from the generated
requirements.txt
pip3 download -r requirements.txt
Copy that directory over to your offline system and (assuming you are going to
install into a venv)
python3 -m venv hstk
source hstk/bin/activate
cd /path/to/hstk_pkgs # copied over to this node
pip3 install *.whl
Changelog
=========
4.6.6.0
-------
* No longer works with Hammerspace 4.6.4 and earlier
* Removed support for python2
* Moved to shadow gateway file for issuing commands, benefits include
* no limitation on length of hammerscript command
* doesn’t lock out the directory on the client it was run from on long running commands
* better support for windows
* For windows, is write a bunch of null padding. For some reason if the write to the shadow gateway file isn't big enough it will not be pushed all the way through the stack on a windows client.
Raw data
{
"_id": null,
"home_page": "https://github.com/hammer-space/hstk",
"name": "hstk",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6.0",
"maintainer_email": null,
"keywords": "hammerspace, hammerscript, metadata, global filesystem, archive, object, s3, nfs, nfs4, nfs4.2, smb",
"author": "Hammerspace Inc",
"author_email": "support@hammerspace.com",
"download_url": "https://files.pythonhosted.org/packages/0a/65/8c7e8ee16ab308ceace7a8eb241f18d06184df89944734e18eb6326f425f/hstk-4.6.6.1.tar.gz",
"platform": null,
"description": "Hammerspace CLI tool and python toolkit (hstk)\n\nSupports Hammerspace release 4.5.x and later, and python 3\n\nInstall\n=======\n\nInstalling with pip\n-------------------\n\nThe easiest way to install the hs command + hstk library is with pip. You may\nneed to use your package manager (yum/apt/etc) to install the python-pip\npackage. Once you have the 'pip' command, decide if you want to install for\nall users in the system libraries or for just your account.\n\nAs your user (installs in your account only) or using sudo/root (installs in system directories):\n\n$ pip3 install hstk\n\nThis will pull down the needed dependencies as well. This does not install the\nbash completions, see [shell completions](shell-completions)\n\n\npython click dependency\n-----------------------\n\nThere is a dependency on the click python package. It is known to work with\nclick version 6.7 that comes from the EPEL repo for centos 7. The easiest\nthing to do is to grab that RPM. If you have EPEL repos enabled:\n$ yum install python2-click\n\nIf not, you can build your own RPM of click... This example grabs an older version\nof click, if you try a newer version and it doesn't work, plese file a bug at\nhttps://github.com/hammer-space/hstk\n\n$ yum install rpm-build\n$ wget https://github.com/pallets/click/archive/6.7.tar.gz\n$ tar xzvf 6.7.tar.gz\n$ cd click-6.7/\n$ python2 setup.py bdist_rpm\n$ ls -l dist/click-6.7-1.noarch.rpm\n-rw-r----- 1 user group 120312 Dec 18 19:59 dist/click-6.7-1.noarch.rpm\n\nbuilding hstk rpm\n-----------------\n\n$ git clone https://github.com/hammer-space/hstk.git\n$ cd hstk\n$ python3 setup.py bdist_rpm\n$ ls -l dist/hstk-4.1.0.1-1.noarch.rpm\n-rw-r----- 1 root root 20652 Dec 18 20:01 dist/hstk-4.1.0.1-1.noarch.rpm\n\n\nshell completion\n----------------\n\nThe above pip and rpm install methods don't configure shell completion. The\nshort version, for bash, to enable system wide completions, add this file\n $ cat /etc/bash_completion.d/hs_bash_completion\n eval \"$(LANG=en_US.utf8 _HS_COMPLETE=source hs)\"\n\nMore details on how to enable shell completion are available from the\n[Click Project](https://click.palletsprojects.com/en/6.x/bashcomplete/)\n\n\nInstalling on a system that is not connected to the internet\n============================================================\n\nCentos8\n-------\n\nInstall base python3 RPMs on target system\n python3 python3-pip python3-setuptools\n\nmove on to 'Collect and install wheel files for any Distro'\n\n\nCollect and install wheel files for any Distro\n----------------------------------------------\n\nOn an internet connected system, generate the pip requirements and download all\nneedd packages.\n python3 -m hstk_for_req\n source hstk_for_req/bin/activate\n pip3 install hstk\n mkdir /tmp/hstk_pkgs\n cd /tmp/hstk_pkgs\n pip3 freeze > requirements.txt\n\nNote that you may need to remove some old packages installed by RPM for\ndownload to work, I removed the 'gpg==' and 'rpm==' lines from the generated\nrequirements.txt\n\n pip3 download -r requirements.txt\n\nCopy that directory over to your offline system and (assuming you are going to\ninstall into a venv)\n\n python3 -m venv hstk\n source hstk/bin/activate\n cd /path/to/hstk_pkgs # copied over to this node\n pip3 install *.whl\n\n\nChangelog\n=========\n\n4.6.6.0\n-------\n\n* No longer works with Hammerspace 4.6.4 and earlier\n* Removed support for python2\n* Moved to shadow gateway file for issuing commands, benefits include\n * no limitation on length of hammerscript command\n * doesn\u2019t lock out the directory on the client it was run from on long running commands\n * better support for windows\n* For windows, is write a bunch of null padding. For some reason if the write to the shadow gateway file isn't big enough it will not be pushed all the way through the stack on a windows client.\n\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "Hammerspace CLI tool and python toolkit (hstk)",
"version": "4.6.6.1",
"project_urls": {
"Homepage": "https://github.com/hammer-space/hstk"
},
"split_keywords": [
"hammerspace",
" hammerscript",
" metadata",
" global filesystem",
" archive",
" object",
" s3",
" nfs",
" nfs4",
" nfs4.2",
" smb"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "73eb6d7d7eb3cf46c41eb1ab78d640e64ba717d46d69e14a65eac75705aa24a4",
"md5": "41896da90b0bf543de6738a4d5b50139",
"sha256": "75c92957f0500c70c9ae36899a778f1f403632c664cae62b9477bb07261efc39"
},
"downloads": -1,
"filename": "hstk-4.6.6.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "41896da90b0bf543de6738a4d5b50139",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6.0",
"size": 25960,
"upload_time": "2024-07-26T18:20:34",
"upload_time_iso_8601": "2024-07-26T18:20:34.205174Z",
"url": "https://files.pythonhosted.org/packages/73/eb/6d7d7eb3cf46c41eb1ab78d640e64ba717d46d69e14a65eac75705aa24a4/hstk-4.6.6.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0a658c7e8ee16ab308ceace7a8eb241f18d06184df89944734e18eb6326f425f",
"md5": "49d4243b86560e9b386a677f6d41f1df",
"sha256": "d90209845410fc73c49c57ae494c8d2436488ee9e0f8162c9ea29ae0cc6bfe0c"
},
"downloads": -1,
"filename": "hstk-4.6.6.1.tar.gz",
"has_sig": false,
"md5_digest": "49d4243b86560e9b386a677f6d41f1df",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.0",
"size": 30628,
"upload_time": "2024-07-26T18:20:35",
"upload_time_iso_8601": "2024-07-26T18:20:35.933286Z",
"url": "https://files.pythonhosted.org/packages/0a/65/8c7e8ee16ab308ceace7a8eb241f18d06184df89944734e18eb6326f425f/hstk-4.6.6.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-26 18:20:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hammer-space",
"github_project": "hstk",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "hstk"
}