Skip to main content
# Python port of the iRODS icommands.
---
## Install
```bash
pip3 install --user pyicmd
```

## Usage
```bash
usage: pyicmd [--host HOST] [--port PORT] [--user USER] [--passwd PASSWD]
[--zone ZONE] [--version]
[cmd]

Python port of the iRODS icommands.

Supports irods_environment.json file created by iinit. File can be at its
default location ('~/.irods/irods_environment.json') or set via the
IRODS_ENVIRONMENT_FILE variable.

If user is set via the command line irods_environment.json is ignored
and given (or default) command line arguments are used to open the session.


positional arguments:
cmd The icommand to run:
rm [file(s)] Remove the files listed from the iRODS server
ls [path] List the files and folders at the given path
put [loc] [file(s)] Copy file(s) and folder(s) from the local computer to [loc] on the server
get [files(s)] [loc] Copy file(s) and folder(s) from the server to [loc] on the local computer
test Test the connection to the iRODS server.
To learn more about a function, type pyicmd [cmd] -h


optional arguments:
--host HOST Address of iRODS server
--port PORT iRODS server port
--user USER iRODS username
--passwd PASSWD iRODS user password
--zone ZONE iRODS zone
--version show programs version number and exit
```

## Speed Test
By default, icommands uses multi-threading for uploads greater than ~35MB. pyicmd does not currently support multiple threaded uploads, causing it to be slower for large files.
![Speed Test](assets/UploadTimes.png)

# Contributing
----
## Testing
Tests for the functional.py API are written in pytest format and can be run
with

```bash
make test
```

Tests require a valid iRODS server and configured irods_environment.json file created by iinit. [This iRODS docker container](https://github.com/mjstealey/irods-provider-postgres) was used to run the tests.

## Code Standard
Code should follow [Python's PEP8 style guide](https://www.python.org/dev/peps/pep-0008/). All contributions should pass standard pylint tests. These can be run using:

```bash
make lint
```


Metadata

Release files for pyicmd 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyicmd 1.0.3
File Size Uploaded
pyicmd-1.0.3.tar.gz 4.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyicmd 1.0.3
File Interpreter ABI Platform
pyicmd-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 12.3 kB

Release files / pyicmd-1.0.3.tar.gz

Download URL pyicmd-1.0.3.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b9477be01f5413f09ee99cc4e3f622a1a868f72eac0308d70e070718f408173f
BLAKE2b-256 checksum
How to use checksums
5a0a738688d756d40bc90f9d4f5c9360d2d30270c672d59340703c7df7dfcbe9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

Release files / pyicmd-1.0.3-py3-none-any.whl

Download URL pyicmd-1.0.3-py3-none-any.whl
Size 7.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cf50223d70d4b8d86fcbace4400c0e6bdb34fef89cf34363eb17e0186835cedb
BLAKE2b-256 checksum
How to use checksums
71640cf7497638fb57c8b9e0a3b0e4b8ff2573047e25a85dcbb19f92a9a52b2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page