Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Python port of the iRODS icommands

Project description

# 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
```


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pyicmd, version 1.0.3
Filename, size File type Python version Upload date Hashes
Filename, size pyicmd-1.0.3-py3-none-any.whl (7.6 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size pyicmd-1.0.3.tar.gz (4.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page