semvec/pypi-packages huggingface dataset:
clop 0.2.8
A simple Command Line Option Processor
License: BSD
Keywords: option argument arg command line cmdline

clop: python Command Line Option Processor
==========================================

``$ pip install clop``

``$ pydoc clop``

``$ python -m clop # Run the demo``

clop provides minimal command line option specification and processing.

When your command line processing requires the power of a king on a real horse,
use argparse in the standard python library.

When banging two coconut halves together on a stick pony is good enough,
use clop.

A single class to specify command line options,
process a command line against those options,
and make the processed results available as a dict.
Also provides a simple help string for each option and the calling program.

::

    """Your program."""

    from clop import Clop

    ...

    # Make a Clop object.
    clp = Clop()

    # Specify acceptable options and their arguments.
    clp.addOptionDef(letter = 'k',
        required = True,
        numArgs = 3,
        help = 'Help for option k')

    ...

    # optArgs is a dictionary of options and arguments
    optArgs = clp.processCmdLine(sys.argv[1:])

    ...

    # Print the help string when you need it.
    helpStr = clp.helpString('clop:\nShort demo of the clop module.')
    print(helpStr)

  clop:
  Short demo of the clop module.
  
  REQUIRED OPTIONS:
  k: Help for option k
    Allowed arguments: Exactly 3
  m: Help for option m
    Allowed arguments: Exactly 1
  n: Help for option n
    Allowed arguments: 0 or more
  
  OPTIONAL OPTIONS:
  o: Help for option o
    Allowed arguments: Exactly 0
  p: Help for option p
    Allowed arguments: Exactly 1
  q: Help for option q
    Allowed arguments: 0 or more


clop includes a demo in its main() function:

``$ python -m clop -k 1 2 3 -m one-two -n 3 4 5 -o -p 1 -q "one two"``

``{'k': ['1', '2', '3'], 'm': ['one-two'], 'o': [], 'n': ['3', '4', '5'], 'q': ['one two'], 'p': ['1']}``

- Options are a dash and a single letter: -o
- An option can be followed by zero or more arguments.
- An option can only be specified with its letter (-o). No --long options.
- An option letter can be any "letter" where letter.isalpha() is True.
- Options cannot be composed. Only one character per dash, not -olmp.
- Options can appear in any order on the command line.
- Options and arguments on the command line are strings.
  The calling program does any type and value checking and conversion
  of arguments after clop's command line processing.
  Clop makes no judgments other than allowed options and arguments.

More clop features are unlikely. If you need more, argparse is excellent,
and comes with a real horse.
gakp-inet 0.2.9
Stable old version of inet
License: BSD

# inet

**v0.2.4 has bug so you'll have to clone the head**

A simple library built on top of zeromq to enable different python
programs talk over sockets. It works using three components
*server*, *name service* and *client*. The main feature(or use) of this
library is its persistent name service


### Name Service
Start the inet server on command line
```shell
$ inetserver
```

### Server
The server is a function to respond to requests

```python
from inet.inetclient import InetClient
from inet.server import RoutableServer

# talks with the inet server
proxy = InetClient('tcp://127.0.0.1:3014')

# frontend address is what clients connect to while backend address(unix socket)
# is what workers connect to
server = RoutableServer('testservice', proxy, 'tcp://127.0.0.1:4001',
                        'ipc:///tmp/inet.testservice.sock')


@server.route('hello/world')
def hello(req, resp):
    resp.data['greeting'] = 'World'
    return resp

server.setup(localproxy=False)
# spawn default(3) number of workers
server.spawnworkers()
server.loopforever()
```

### Client

```python
from inet.inetclient import InetClient
from inet.client import Client

proxy = InetClient('tcp://127.0.0.1:3014')
client = Client(proxy)

# service name acts as protocol
resp = client.get('testservice://hello/world')
print(resp.meta['status'])  # 200
print(resp.data['greeting']) # 'World'
```


*N.B*: Notes that it uses gevent for managing workers