Skip to main content

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.

Source Distribution

pyicmd-1.0.3.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyicmd-1.0.3-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file pyicmd-1.0.3.tar.gz.

File metadata

  • Download URL: pyicmd-1.0.3.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for pyicmd-1.0.3.tar.gz
Algorithm Hash digest
SHA256 b9477be01f5413f09ee99cc4e3f622a1a868f72eac0308d70e070718f408173f
MD5 058e2093852c779826aa77542089a2a5
BLAKE2b-256 5a0a738688d756d40bc90f9d4f5c9360d2d30270c672d59340703c7df7dfcbe9

See more details on using hashes here.

File details

Details for the file pyicmd-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: pyicmd-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for pyicmd-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cf50223d70d4b8d86fcbace4400c0e6bdb34fef89cf34363eb17e0186835cedb
MD5 86bf3aba575465facdebcebb2b3802d6
BLAKE2b-256 71640cf7497638fb57c8b9e0a3b0e4b8ff2573047e25a85dcbb19f92a9a52b2c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page