# ichec-platform-core
This package has a set of low-level and low-dependency tools used by several ICHEC Platform Engineering projects. Some basic CLI commands are also included, sometimes just as a demo or way to easily test out library features.
# Features #
## Filesystem ##
Filesystem interaction utilities.
**Example CLI:** You can replace all occurences of a string with another recursively in files with:
``` shell
ichec_platform_core filesystem replace_in_files --target $REPLACE_DIR --search $FILE_WITH_SEARCH_TERM --replace $FILE_WITH_REPLACE_TERM
```
The `search` and `replace` terms are read from files. This can be handy to avoid shell escape sequences - as might be needed in `sed`.
## Network ##
Tooling for communication over a network, includes a:
* `HttpClient`
**Example CLI:** You can download a file with:
``` shell
ichec_platform_core network download --url $RESOURCE_URL --download_dir $WHERE_TO_PUT_DOWNLOAD
```
## Version Control ##
Tooling for interacting with `git` and `gitlab` via its API. Includes a:
* `GitlabClient`
**Example CLI:** You can get the version number of the most recent project release with:
``` shell
ichec_platform_core gitlab --token $GITLAB_TOKEN latest_release $PROJECT_ID
```
or download a particular release asset with:
``` shell
ichec_platform_core gitlab --token $GITLAB_TOKEN latest_release $PROJECT_ID --asset_name $ASSET_NAME
```
The token should have suitable permissions to download project release assets, in particular 'read api', 'repo access' and Developer Role.
You can get info about a git repo with:
``` shell
ichec_platform_core git info
```
run in the repo.
# Install #
It is available on PyPI:
``` sh
pip install ichec_platform_core
```
# License #
This project is licensed under the GPLv3+. See the incluced `LICENSE.txt` file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "ichec-platform-core",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "HPC",
"author": "Irish Centre for High End Computing",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/c2/f8/b8c84559c143a95b07563a7d90772c930436f8fc003d044623189f212806/ichec_platform_core-0.0.2.tar.gz",
"platform": null,
"description": "# ichec-platform-core\n\nThis package has a set of low-level and low-dependency tools used by several ICHEC Platform Engineering projects. Some basic CLI commands are also included, sometimes just as a demo or way to easily test out library features.\n\n# Features #\n\n## Filesystem ##\n\nFilesystem interaction utilities.\n\n**Example CLI:** You can replace all occurences of a string with another recursively in files with:\n\n``` shell\nichec_platform_core filesystem replace_in_files --target $REPLACE_DIR --search $FILE_WITH_SEARCH_TERM --replace $FILE_WITH_REPLACE_TERM \n```\n\nThe `search` and `replace` terms are read from files. This can be handy to avoid shell escape sequences - as might be needed in `sed`.\n\n## Network ##\n\nTooling for communication over a network, includes a:\n\n* `HttpClient`\n\n**Example CLI:** You can download a file with:\n\n``` shell\nichec_platform_core network download --url $RESOURCE_URL --download_dir $WHERE_TO_PUT_DOWNLOAD\n```\n\n## Version Control ##\n\nTooling for interacting with `git` and `gitlab` via its API. Includes a:\n\n* `GitlabClient`\n\n**Example CLI:** You can get the version number of the most recent project release with:\n\n``` shell\nichec_platform_core gitlab --token $GITLAB_TOKEN latest_release $PROJECT_ID\n```\n\nor download a particular release asset with:\n\n``` shell\nichec_platform_core gitlab --token $GITLAB_TOKEN latest_release $PROJECT_ID --asset_name $ASSET_NAME\n```\n\nThe token should have suitable permissions to download project release assets, in particular 'read api', 'repo access' and Developer Role.\n\nYou can get info about a git repo with:\n\n``` shell\nichec_platform_core git info \n```\n\nrun in the repo.\n\n# Install #\n\nIt is available on PyPI:\n\n``` sh\npip install ichec_platform_core\n```\n\n# License #\n\nThis project is licensed under the GPLv3+. See the incluced `LICENSE.txt` file for details.\n",
"bugtrack_url": null,
"license": null,
"summary": "Utility library to support ICHEC Platform Engineering tools",
"version": "0.0.2",
"project_urls": {
"Homepage": "https://git.ichec.ie/platform-engineering/ichec-platform-core",
"Repository": "https://git.ichec.ie/platform-engineering/ichec-platform-core"
},
"split_keywords": [
"hpc"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e07979165be47a0ee159454fe3b63ebe5acb51a3ff465c9007e0ec0e70bce67d",
"md5": "bf301e99eae10f8b91145a49961df8c3",
"sha256": "7d1a73f13a931efb63fbee682b86e82f920edc695e34baeb810efab98d673d6a"
},
"downloads": -1,
"filename": "ichec_platform_core-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bf301e99eae10f8b91145a49961df8c3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 41019,
"upload_time": "2025-10-15T19:10:32",
"upload_time_iso_8601": "2025-10-15T19:10:32.316458Z",
"url": "https://files.pythonhosted.org/packages/e0/79/79165be47a0ee159454fe3b63ebe5acb51a3ff465c9007e0ec0e70bce67d/ichec_platform_core-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c2f8b8c84559c143a95b07563a7d90772c930436f8fc003d044623189f212806",
"md5": "513fda752394d131fa48cc5bed727aa6",
"sha256": "d8be2a0fcd3dee6d34a20ca40d75413ab2639d156fb15c831e2436a2dc0891af"
},
"downloads": -1,
"filename": "ichec_platform_core-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "513fda752394d131fa48cc5bed727aa6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 34617,
"upload_time": "2025-10-15T19:10:33",
"upload_time_iso_8601": "2025-10-15T19:10:33.520143Z",
"url": "https://files.pythonhosted.org/packages/c2/f8/b8c84559c143a95b07563a7d90772c930436f8fc003d044623189f212806/ichec_platform_core-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-15 19:10:33",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "ichec-platform-core"
}