Skip to main content

A Python Library that Helps You Do Some Simple Works.

Project description

python-simples: A Python Library that Helps You Do Some Simple Works

installation

pip install python-simples

features

  1. SimpleStructure, simple directory structure that store data and output files.
  2. SimpleCellar, simple command line application installation that not in PATH environment.
  3. SimpleTask, simple task that you and create it in somewhere, run it in another place.

usage

1. SimpleStructure

SimpleStructure is a suggested directory structure for command line software to run. I often have such a need, there is a directory /path/to/root, and several subdirectories are saved in this directory, which are:

  1. Data: The original data directory of the software running
  2. Output: software running output directory
from simples import SimpleStructure


ss = SimpleStructure('/path/to/root')
ss('stdout.txt')
ss('stderr.txt')
ss('status.txt')
ss.data_dir
ss.data('expression.txt')
ss.output_dir
ss.output('diff-exprs.txt')

2. SimpleCellar

SimpleCellar was written to solve the problem of running some command line software that is not in the PATH environment variable. For example, bioinformatics often needs to use blast. If your BLAST is not in the environment variable, it is very troublesome to call it.

from simples import SimpleCellar


sc = SimpleCellar('/path/to/blast/install')
sc.bin_dir
sc.bin('blastn')
sc.bin('blastp')

3. SimpleTask

The original intention of SimpleTask is to solve the problem of remote running of command line software. That is, the parameter specification of the command line software is not in the same place as the operation (the most typical case is the web, for example, the user specifies the parameters in the view, and the executed process is a Celery Task).

The solution is to:

  1. Create a serializable task type
  2. This type supports serialization and deserialization
  3. The task object knows how to run it

So there is SimpleTask.

from simples import SimpleTask, Option, Argument


# you create task in some place
st = SimpleTask('/path/to/root', 'ls')
st.add_param(Option('-l'))
st.add_param(Argument('-D', '%Y-%m-%d'))
st.add_param(Option('.))
file = st.save()

# you run in another place
new_st = SimpleTask.load_file(file)
new_st.run()

Files that SimpleTask generate:

  1. task.json, task serialization json, you can deserialize task object by this file
  2. stdout.txt, standard output message of this task
  3. stderr.txt, standard error message of this task
  4. status.txt, task status, -1 represents run failed, 0 represents running, 1 represent successful.

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

python-simples-1.0.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

python_simples-1.0.0-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file python-simples-1.0.0.tar.gz.

File metadata

  • Download URL: python-simples-1.0.0.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/29.0 requests/2.25.0 requests-toolbelt/0.9.1 urllib3/1.26.3 tqdm/4.59.0 importlib-metadata/4.11.1 keyring/23.0.0 rfc3986/1.4.0 colorama/0.4.4 CPython/3.7.9

File hashes

Hashes for python-simples-1.0.0.tar.gz
Algorithm Hash digest
SHA256 60a4bd8348e04ec9164b7d8d179747f9cf69113c150e1fee27b482ced89c12a5
MD5 6200993668627d3144c085dad2081a1f
BLAKE2b-256 b8c5e53588ce7e62350a169e6d44d29c190c85dcaacc255bbd669f44d8e0ccfa

See more details on using hashes here.

File details

Details for the file python_simples-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: python_simples-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/29.0 requests/2.25.0 requests-toolbelt/0.9.1 urllib3/1.26.3 tqdm/4.59.0 importlib-metadata/4.11.1 keyring/23.0.0 rfc3986/1.4.0 colorama/0.4.4 CPython/3.7.9

File hashes

Hashes for python_simples-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f99bad6eb4e56ab1f704170168afdd45b4e2fef683478916651386f058893460
MD5 3fc9b69e9a545acfb7aa6b18bf4e4e60
BLAKE2b-256 853a45d8bf1e21ea4c103f44636a2e0debe1ca509c6f71ca95b0c099e0c8cdc8

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