A collection of common data structures and utilities used in other ICHEC tools
Project description
iccore
This package is part of the Common Tooling Project at the Irish Centre for High End Computing toward creating a set of common tools and processes for our activities.
The package is a foundational collection of common data structures, data types and low-level utilities used in other ICHEC 'common tools'.
Install
It is available on PyPI:
pip install iccore
Features
The package consists of:
data structures
(list, strings, dicts etc.) and utilities for working with them- tooling for interacting with
system resources
, such as external processes, the filesystem and network. - basic
data types
for describing people, organizations, projects and code repositories - to supportprocess automation
and Open Science and FAIR activites.
Design Goals
The ICHEC Common Tools (ictools
) favour low dependencies and the use of low-level APIs over feature richness and 'quick wins'. The reasons for this are:
- transparency: given our focus on high performance computing we often want to know what is happening in a system at a low/detailed level. Abstraction layers and read-out modification by other libraries can hide outputs.
- control: It is useful to have access to tooling that we can quickly modify ourselves for our needs.
- training: It is useful for us to gain an understanding of how software interacts with system resources at a low level to support our users. Working with and understanding these tools can help with this.
Example Uses
A basic CLI is included, mostly for testing, but it may be useful for getting ideas on what features the package can be used to support.
System Resources
Filesystem
You can replace all occurences of a string with another recursively in files with:
iccore filesystem replace_in_files --target $REPLACE_DIR --search $FILE_WITH_SEARCH_TERM --replace $FILE_WITH_REPLACE_TERM
The search
and replace
terms are, perhaps unusually, read from files. This can be handy to avoid shell escape sequences - as might be used in sed
.
Networking
You can download a file with:
iccore network download --url $RESOURCE_URL --download_dir $WHERE_TO_PUT_DOWNLOAD
Process Automation Data Types
Project Management
You can get Gitlab Milestones given a project id and access token with:
iccore gitlab --token $GITLAB_TOKEN milestone $PROJECT_ID
You can get the version number of the most recent project release with:
iccore gitlab --token $GITLAB_TOKEN latest_release $PROJECT_ID
You can get info about a git repo with:
iccore git info
run in the repo.
License
This project is licensed under the GPLv3+. See the incluced LICENSE.txt
file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file iccore-0.1.5.tar.gz
.
File metadata
- Download URL: iccore-0.1.5.tar.gz
- Upload date:
- Size: 32.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f17db9e41486f8c0596f418389f3e9ad62a989725316898b77a2c38152fd1a28 |
|
MD5 | 1a32ac7e1e86fff882f3ef67e499ad41 |
|
BLAKE2b-256 | f79edaaece0510d8f66b1c3cd93bb5f97c8cfc09ba245848b115eb060c51cb75 |
File details
Details for the file iccore-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: iccore-0.1.5-py3-none-any.whl
- Upload date:
- Size: 35.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de5fc6879bfce1c0875b35782ccb893fc22adb2e7cbbbc5bcffa88b923d32091 |
|
MD5 | 59ea5dbc96128689375dc58c98f7f8d5 |
|
BLAKE2b-256 | 90c587c42dcda846c881e36c73201148208e5bee588d05b3be36b97bbbae04a2 |