Skip to main content

Path-and-File-IO-over-HTTP

Project description

https://badge.fury.io/py/pfioh.svg https://travis-ci.org/FNNDSC/pfioh.svg?branch=master https://img.shields.io/badge/python-3.5%2B-blue.svg

Overview

This repository provides pfioh – a server process (think of it as anonymous ftp that natively understands recursive paths) that allows for file/path push/copy.

pfioh

pfioh is a service that pushes/pulls files and directories between different locations.

Installation

Installation is relatively straightforward, and we recommend using either python virtual environments or docker.

Python Virtual Environment

On Ubuntu, install the Python virtual environment creator

sudo apt install virtualenv

Then, create a directory for your virtual environments e.g.:

mkdir ~/python-envs

You might want to add to your .bashrc file these two lines:

export WORKON_HOME=~/python-envs
source /usr/local/bin/virtualenvwrapper.sh

Then you can source your .bashrc and create a new Python3 virtual environment:

source .bashrc
mkvirtualenv --python=python3 python_env

To activate or “enter” the virtual env:

workon python_env

To deactivate virtual env:

deactivate

Using the fnndsc/pfioh dock

The easiest option however, is to just use the fnndsc/pfioh dock.

docker pull fnndsc/pfioh

and then run

docker run --name pfioh -v /home:/Users --rm  \
    fnndsc/pfioh                              \
    --forever --httpResponse                  \
    --storeBase=/tmp --createDirsAsNeeded

Usage

pfioh usage

For pfioh detailed information, see the pfioh wiki page.

[--ip <IP>]

The IP interface on which to listen. Defaults to current host IP.

[--port <port>]
The port on which to listen. Defaults to '5055'.

[--forever]
Start service and do not terminate.

[--httpResponse]
Send return strings as HTTP formatted replies with content-type html.

[--storeBase <storagePath>]
A file system location in the network space accessible to ``pfioh``
that is used to unpack received files and also store results of
processing.

[--createDirsAsNeeded]
If specified, create dirs in the base storage as needed.

[--enableTokenAuth]
Enables token based authorization and can be configured to look for a .ini
file or an openshift secret.

[--tokenPath <tokenPath>]
Specify the absolute path to the token in the file system.
By default, this looks for the pfiohConfig.ini file in the current working directory.

[--swift-storage]
If specified, use Swift as object storage.

[--test]
Run internal tests.

[-x|--desc]
Provide an overview help page.

[-y|--synopsis]
Provide a synopsis help summary.

[--version]
Print internal version number and exit.

[-v|--verbosity <level>]
Set the verbosity level. "0" typically means no/minimal output. Allows for
more fine tuned output control as opposed to '--quiet' that effectively
silences everything.

EXAMPLES

Start pfioh in forever mode, accessible on localhost:

pfioh                                                   \\
    --forever                                           \\
    --port 5055                                         \\
    --storeBase=/tmp                                    \\
    --httpResponse                                      \\
    --createDirsAsNeeded                                \\
    --verbosity 1                                       \\
    --ip 127.0.0.1

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

pfioh-2.2.0.8.tar.gz (20.7 kB view details)

Uploaded Source

File details

Details for the file pfioh-2.2.0.8.tar.gz.

File metadata

  • Download URL: pfioh-2.2.0.8.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.2

File hashes

Hashes for pfioh-2.2.0.8.tar.gz
Algorithm Hash digest
SHA256 989764c1a150f7e2514aa2dee676356b45a156a0805a264f64f1c442dc472a86
MD5 4f1f4ae68eec48395907fe3128be8c0e
BLAKE2b-256 ae26f0d03a0b1c04d8394c3cf8ae9f720952137df38b6b2adec7867eaa2cc193

See more details on using hashes here.

Supported by

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