Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #3245

ANN: calf 0.3.1

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Isaac To <isaac.to@gmail.com>
Newsgroups comp.lang.python.announce
Subject ANN: calf 0.3.1
Date Sat, 9 Nov 2019 15:17:54 +0800
Lines 30
Approved python-announce-list@python.org
Message-ID <157328804168.21236.python-announce-list@python.org> (permalink)
Reply-To python-list@python.org
Mime-Version 1.0
Content-Type text/plain; charset="UTF-8"
X-Trace news.uni-berlin.de lAgj4Ka4GyBBaUX04pwh5QZClbuBtcpMyrOpo3nyMuug==
X-Spam-Status OK 0.001
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'default': 0.04; 'url- ip:151.101.0.223/32': 0.04; 'url-ip:151.101.128.223/32': 0.04; 'url-ip:151.101.192.223/32': 0.04; 'url-ip:151.101.64.223/32': 0.04; 'url:project': 0.05; 'url:pypi': 0.05; 'function.': 0.09; 'numpy': 0.09; 'subject:ANN': 0.09; 'python': 0.12; '=====': 0.16; 'annotations': 0.16; 'anyway.': 0.16; 'configured': 0.16; 'docstring': 0.16; 'frontend': 0.16; 'left,': 0.16; 'parameters.': 0.16; 'parser': 0.16; 'parsing': 0.16; 'style,': 0.16; 'type)': 0.16; 'all,': 0.17; 'url-ip:151.101.0/24': 0.17; 'url- ip:151.101.128/24': 0.17; 'url-ip:151.101.192/24': 0.17; 'url- ip:151.101.64/24': 0.17; 'values': 0.17; 'words,': 0.20; 'cases.': 0.25; 'interfaces': 0.25; 'slightly': 0.25; 'code,': 0.26; 'url- ip:151.101/16': 0.27; 'url-ip:151/8': 0.27; 'message- id:@mail.gmail.com': 0.28; 'announce': 0.28; 'command': 0.28; 'package': 0.29; 'ideas': 0.29; 'received:google.com': 0.30; 'from:addr:gmail.com': 0.32; "i'm": 0.32; 'argument': 0.33; 'configure': 0.33; 'but': 0.34; 'code': 0.34; 'url:3': 0.34; 'creating': 0.35; 'subject:: ': 0.35; 'function': 0.37; 'rather': 0.37; 'focused': 0.37; 'user': 0.38; 'least': 0.39; 'proto:https': 0.40; 'charset:utf-8': 0.40; 'range': 0.61; 'under': 0.61; 'line': 0.62; 'comfortable': 0.62; 'customize': 0.62; 'your': 0.62; 'call': 0.68; 'design': 0.69; 'lets': 0.70; 'treat': 0.70; 'easy': 0.73; 'remove': 0.74; 'wide': 0.74; 'fact,': 0.79; 'interface.': 0.84; 'sphinx,': 0.84; 'swap': 0.84; 'google,': 0.93; 'to:addr :python-announce': 0.97
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=nQb+njwav96mtCsYJq6Et4VDl5eqRtwvcWoxl0pyoCI=; b=FeSlfrwWkbm8+ydPxggS1FM4ISbwaA5q7oG5/TIm7UgbDtzr4oVG+BCo1OntcXJP64 1xYQE4tCDbUZvL3G2DFnH4MTwoLJ3vE0sbseEQEWzMLFMZAWGuaYOaxM3z8Y6FubfonL PqYFUHU5K7FyxRw0TZN/YyHifeuZk49bFoJkV40ZgvbovzCwWgDYy8JYzK3oJ9UKoulI hWW8kpzIRPhaI+yOhinM6/dy9ZBUeNEjR3h3vS1fLHVhQ38AeXDVG3cbuPGxjBZuIIqR n03p0EJczOMfo7oveFwj+GQJLBouGgoUPD4wjsZ/iYvXOLl6Epdw+MJcAYGzZPm3BrPG yNIw==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=nQb+njwav96mtCsYJq6Et4VDl5eqRtwvcWoxl0pyoCI=; b=RdPZub3VpUbPIMNq5aLCXgednekGHQeZ85AAbQzU9v4XXKG+PeMpJy4EiMIhGPpE4+ pZlto4ckmORI7mbvLSkp7RPEopYE5QkwdO2uf0tjwD+bqjOizTwC7AGC/Lk62JcSogaS DIC6XxKDhvlv94ttOexPx6GRqnTstqDBJ0PEZ47ufRLW9cnHdyYOl6v8E5kPkfNL1rUi 7Svm8+V7hwJXGOR2fus2ieyKVvrkO4hqS3QH2ySW7c0kkhb2YXqy83HQQHv8NvXG+JXy 7jpW+dsIsRKTrEKpvMnWNuYIjGD9l+zJcSw3DNXHWCJgZMpO4v2Z3U42ubUEhl34dVVp RqBQ==
X-Gm-Message-State APjAAAUmvmHr3xPoQdr3aPUbPDSp64Pji7tURZFQ7anc3Nvm8NobYRV5 oGGNITXFlZ2M9a8PN2rrHV1rdHW+59AOQcJIEtrCLqzE
X-Google-Smtp-Source APXvYqwrIOi9LCWJ2+tZha0bSvHMPZtmopijrrnnDa68WundHW9MAMogVbNadDGl++N6yx6yjI6uN2TRQpHDfWXMBTo=
X-Received by 2002:aca:d90a:: with SMTP id q10mr14134534oig.129.1573283886189; Fri, 08 Nov 2019 23:18:06 -0800 (PST)
X-MailFrom isaac.to@gmail.com
X-Mailman-Rule-Hits emergency
X-Mailman-Rule-Misses dmarc-mitigation; no-senders; approved
Message-ID-Hash JHUTIESG4TYVB6CLVPSX7DINH45UX6US
X-Message-ID-Hash JHUTIESG4TYVB6CLVPSX7DINH45UX6US
X-Mailman-Approved-At Sat, 09 Nov 2019 03:27:16 -0500
X-Content-Filtered-By Mailman/MimeDel 3.3.1
X-Mailman-Version 3.3.1
Precedence list
List-Id Announcement-only list for the Python programming language <python-announce-list.python.org>
Archived-At <https://mail.python.org/archives/list/python-announce-list@python.org/message/JHUTIESG4TYVB6CLVPSX7DINH45UX6US/>
List-Archive <https://mail.python.org/archives/list/python-announce-list@python.org/>
List-Help <mailto:python-announce-list-request@python.org?subject=help>
List-Post <mailto:python-announce-list@python.org>
List-Subscribe <mailto:python-announce-list-join@python.org>
List-Unsubscribe <mailto:python-announce-list-leave@python.org>
Xref csiph.com comp.lang.python.announce:3245

Show key headers only | View raw


Hello all,

I'm glad to announce the first public release of calf, 0.3.1:
https://pypi.org/project/calf/0.3.1/

About
=====

calf: Command Argument Loading Function for Python

Calf lets you remove all your command argument parsing code, at least
for simple cases. Only the implementation function is left, with
initialization code that uses calf to call this function. The command
argument parser is configured with a proper docstring, and perhaps
some annotations (argument type) and default values for the
parameters. In other words, stuffs that you would write anyway.

The docstring can be written in Google, Sphinx, epydoc or Numpy style,
and the design is that it is easy to swap the parsing function with
yours. In fact, you can customize such a wide range of characteristics
of calf, that you can treat it as a slightly restricted frontend to
the ArgumentParser under the hood. Used in this way, you can treat
calf as a cute way to configure argparse.

This package shamelessly stole a lot of ideas from plac, but hopes to
be more focused on creating comfortable command line interfaces rather
than becoming a Swiss knife for programs with text-only user
interface.

<python-announce@python.org>

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

ANN: calf 0.3.1 Isaac To <isaac.to@gmail.com> - 2019-11-09 15:17 +0800

csiph-web