{ "info": { "author": "Wes Turner", "author_email": "wes@wrd.nu", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7" ], "description": "===============================\npyline\n===============================\n\n\n`GitHub`_ |\n`PyPi`_ |\n`Warehouse`_ |\n`ReadTheDocs`_ |\n`Travis-CI`_\n\n\n.. image:: https://badge.fury.io/py/pyline.png\n :target: http://badge.fury.io/py/pyline\n\n.. image:: https://travis-ci.org/westurner/pyline.png?branch=master\n :target: https://travis-ci.org/westurner/pyline\n\n.. image:: https://pypip.in/d/pyline/badge.png\n :target: https://pypi.python.org/pypi/pyline\n\n.. _GitHub: https://github.com/westurner/pyline\n.. _PyPi: https://pypi.python.org/pypi/pyline\n.. _Warehouse: https://warehouse.python.org/project/pyline\n.. _ReadTheDocs: https://pyline.readthedocs.org/en/latest\n.. _Travis-CI: https://travis-ci.org/westurner/pyline\n\nPyline is a grep-like, sed-like, awk-like command-line tool for\nline-based text processing in Python.\n\n.. contents:: \n\nFeatures\n==========\n\n* Compatibility with the `original pyline recipe`_\n* Python `str.split`_ by an optional delimiter str (``-F``, ``--input-delim``)\n* `Python regex`_ (``-r``, ``--regex``, ``-R``, ``--regex-options``)\n* Output as `txt`, `csv`, `tsv`, `json`, `html` (``-O csv``, ``--output-filetype=csv``)\n* Output as Markdown/ReStructuredText checkboxes (``-O checkbox``, ``--output-filetype=checkbox``)\n* Lazy sorting (``-s``, ``--sort-asc``; ``-S``, ``--sort-desc``)\n* Create `path.py `__\n (or `pathlib`_) objects from each line (``-p``,\n ``--path-tools``)\n* Functional `namedtuples`_, `iterators`_ ``yield`` -ing `generators`_\n* `optparse`_ argument parsing (``-h``, ``--help``)\n* `cookiecutter-pypackage`_ project templating \n\n\n.. _path.py: https://pypi.python.org/pypi/path.py\n.. _str.split: https://docs.python.org/2/library/stdtypes.html#str.split\n.. _Python regex: https://docs.python.org/2/library/re.html \n.. _pathlib: https://pypi.python.org/pypi/pathlib\n.. _namedtuples: https://docs.python.org/2/library/collections.html#collections.namedtuple \n.. _iterators: https://docs.python.org/2/howto/functional.html#iterators\n.. _generators: https://docs.python.org/2/howto/functional.html#generators \n.. _optparse: https://docs.python.org/2/library/optparse.html \n.. _cookiecutter-pypackage: https://github.com/audreyr/cookiecutter-pypackage \n\n\nWhy\n=====\nSomewhat unsurprisingly, I found the `original pyline recipe`_\nwhile searching for \"python grep sed\"\n(see ``AUTHORS.rst`` and ``LICENSE.psf``).\n\nI added an option for setting ``p = Path(line)``\nin the `eval`_/`compile`_ command context and `added it to my dotfiles\n`_\n; where it grew tests and an ``optparse.OptionParser``; and is now\npromoted to a `GitHub`_ project with `ReadTheDocs`_ documentation,\ntests with tox and `Travis-CI`_, and a setup.py for `PyPi`_.\n\n\n.. _original Pyline recipe: https://code.activestate.com/recipes/437932-pyline-a-grep-like-sed-like-command-line-tool/\n.. _eval: https://docs.python.org/2/library/functions.html#eval\n.. _compile: https://docs.python.org/2/library/functions.html#compile\n.. _MapReduce: https://en.wikipedia.org/wiki/MapReduce\n\n\nWhat\n======\nPyline is an ordered `MapReduce`_ tool:\n\nInput Readers:\n * stdin (default)\n * file (``codecs.open(file, 'r', encoding='utf-8')``)\n\nMap Functions:\n * Python module imports (``-m os``)\n * Python regex pattern (``-r '\\(.*\\)'``)\n * path library (``p`` from ``--pathpy`` OR ``--pathlib``)\n * Python codeobj **eval** output transform:\n\n .. code:: bash\n\n ls | pyline -m os 'line and os.path.abspath(line.strip())'\n ls | pyline -r '\\(.*\\)' 'rgx and (rgx.group(0), rgx.group(1)) or line'\n ls | pyline -p 'p and p.abspath() or (\"# \".format(line))'\n\n # With an extra outer loop to bind variables in\n # (because (_p = p.abspath(); ) does not work)\n find $PWD | pyline --pathpy -m os -m collections --input-delim='/' \\\n 'p and [collections.OrderedDict((\n (\"p\", p),\n (\"_p\", _p),\n (\"_p.split()\", str(_p).split(os.path.sep)),\n (\"line.rstrip().split()\", line.rstrip().split(os.path.sep)),\n (\"l.split()\", l.split(os.path.sep)),\n (\"words\", words),\n (\"w\", w)))\n for _p in [p.abspath()]][0]' \\\n -O json\n\nPartition Function:\n None\n\nCompare Function:\n ``Result(collections.namedtuple).__cmp__``\n\nReduce Functions:\n ``bool()``, ``sorted()``\n\nOutput Writers:\n ``ResultWriter`` classes\n\n .. code:: bash\n\n pyline -O csv\n pyline -O tsv\n pyline -O json\n\n\nInstalling\n============\nInstall from `PyPi`_::\n\n pip install pyline\n\nInstall from `GitHub`_ as editable (add a ``pyline.pth`` in ``site-packages``)::\n\n pip install -e git+https://github.com/westurner/pyline#egg=pyline\n\n\nUsage\n=========\n\nPrint help::\n\n pyline --help\n\nProcess::\n\n # Print every line (null transform)\n cat ~/.bashrc | pyline line\n cat ~/.bashrc | pyline l\n\n # Number every line\n cat ~/.bashrc | pyline -n l\n\n # Print every word (str.split(input-delim=None))\n cat ~/.bashrc | pyline words\n cat ~/.bashrc | pyline w\n\n # Split into words and print (default: tab separated)\n cat ~/.bashrc | pyline 'len(w) >= 2 and w[1] or \"?\"'\n\n # Select the last word, dropping lines with no words\n pyline -f ~/.bashrc 'w[-1:]'\n\n # Regex matching with groups\n cat ~/.bashrc | pyline -n -r '^#(.*)' 'rgx and rgx.group()'\n cat ~/.bashrc | pyline -n -r '^#(.*)'\n\n ## Original Examples\n # Print out the first 20 characters of every line\n tail access_log | pyline \"line[:20]\"\n\n # Print just the URLs in the access log (seventh \"word\" in the line)\n tail access_log | pyline \"words[6]\"\n\nWork with paths and files::\n\n # List current directory files larger than 1 Kb\n ls | pyline -m os \\\n \"os.path.isfile(line) and os.stat(line).st_size > 1024 and line\"\n\n # List current directory files larger than 1 Kb\n #pip install path.py\n ls | pyline -p 'p and p.size > 1024 and line'\n\n\nDocumentation\n==============\nhttps://pyline.readthedocs.org/en/latest/\n\n\nLicense\n========\n`Python Software License\n`_\n\n\n.\n\nHistory\n=========\n\n\n\n\nhotfix/0.3.16 (2016-07-22 11:41:13 -0500)\n+++++++++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.15..hotfix/0.3.16\n\n* BUG: pyline.py: sys.argv\\[1:\\] (#7) \\[a548405\\]\n* RLS: pyline v0.3.16 \\[b17153a\\]\n\n\nv0.3.15 (2016-07-22 11:34:56 -0500)\n+++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.14..v0.3.15\n\n* MRG: Merge tag 'v0.3.12' into develop \\[b4a3ec7\\]\n* BUG: include files named \\s+ with -p/--pathpy or --pathlib (fixes #24) \\[6c3f658\\]\n* MRG: Merge tag 'v0.3.13' into develop \\[1f2b64b\\]\n* MRG: Merge tag 'v0.3.14' into develop \\[b27731a\\]\n* ETC: pyline/__init__.py: __version__ = version = pyline.version \\[4065820\\]\n* RLS: setup.py, pyline.py: version='0.3.15' \\[a83ad49\\]\n* DOC: HISTORY.rst: git-changelog.py -r \"release/0.3.15\" --hdr=\"+\"\\` \\[cfd26be\\]\n* MRG: Merge branch 'release/0.3.15' \\[2225fd6\\]\n\n\nv0.3.14 (2016-07-22 11:27:03 -0500)\n+++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.13..v0.3.14\n\n* BUG: pyline/__init__.py: remove untested package-level __main__ function \\[91e1f5f\\]\n* RLS: setup.py, __init__.py, pyline.py: v0.3.14 (in 3 places) \\[3186eb5\\]\n* MRG: Merge branch 'hotfix/0.3.14' \\[527df85\\]\n\n\nv0.3.13 (2016-07-22 11:16:44 -0500)\n+++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.12..v0.3.13\n\n* BUG,TST: pyline/pyline.py: console_entrypoint -> pyline.pyline:main_entrypoint (see: #7) \\[a16570e\\]\n* MRG: Merge branch 'hotfix/0.3.13' \\[29b64ef\\]\n\n\nv0.3.12 (2016-02-16 16:07:18 -0600)\n+++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.11..v0.3.12\n\n* MRG: Merge tag 'v0.3.11' into develop \\[98adc78\\]\n* DOC: README.rst: add \\.. contents:: \\[4416581\\]\n* TST,UBY: pyline.py, scripts/pyline.py: symlinks to pyline/pyline.py \\[2fda52e\\]\n* UBY,BUG: pyline.py: loglevels \\[WARN\\], -v/--verbose/DEBUG, -q/--quiet/ERROR \\[07fbc09\\]\n* RLS,DOC: setup.py,pyline.py: version 0.3.12 \\[0cb05f3\\]\n* DOC: HISTORY.rst: git-changelog.py --hdr=+ --rev 'release/0.3.12' \\| pbcopy \\[3b4d775\\]\n* MRG: Merge branch 'release/0.3.12' \\[29332e2\\]\n\n\nv0.3.11 (2016-02-14 22:29:55 -0600)\n+++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.10..v0.3.11\n\n* MRG: Merge tag 'v0.3.10' into develop \\[ed296ea\\]\n* BLD: tox.ini: testenv/deps/jinja2 \\[1a6c2f5\\]\n* BLD: tox.ini, requirements.txt: add jinja2 to requirements.txt \\[e267a1e\\]\n* RLS,DOC: setup.py,pyline.py: version 0.3.11 \\[21bd6e9\\]\n* DOC: HISTORY.rst: git-changelog.py --hdr=+ --rev 'release/0.3.11' \\| pbcopy \\[efc24ce\\]\n* MRG: Merge branch 'release/0.3.11' \\[9c05df0\\]\n\n\nv0.3.10 (2016-02-14 21:56:36 -0600)\n+++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.9..v0.3.10\n\n* MRG: Merge tag 'v0.3.9' into develop \\[f7c8a16\\]\n* BUG,UBY: pyline.py: logging config (default INFO, -q/--quiet, -v/--verbose (DEBUG)) \\[8a060ab\\]\n* UBY,DOC: pyline.py: log.info(('pyline.version', __version__)) at startup \\[da1e883\\]\n* BUG,UBY: pyline.py: log.info(('argv', argv)) \\[ede1d5e\\]\n* BUG,REF: opts\\['cmd'\\], main->(int, results\\[\\]), log opts after all config \\[3cf9585\\]\n* UBY: pyline.py: log.info(('_rgx', _regexstr)) \\[02bd234\\]\n* RLS,DOC: setup.py,pyline.py: version 0.3.10 \\[ea6a1fd\\]\n* DOC: HISTORY.rst: git-changelog.py --hdr=+ --rev 'release/0.3.10' \\| pbcopy \\[5266662\\]\n* MRG: Merge branch 'release/0.3.10' \\[aa2529a\\]\n\n\nv0.3.9 (2016-02-14 17:58:36 -0600)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.8..v0.3.9\n\n* ENH: pyline.py: --version arg \\[a38bf5a\\]\n* MRG: Merge tag 'v0.3.8' into develop \\[85cd8e9\\]\n* BUG,REF: pyline.py: output-filetype/-> output-format \\[fbcd9e2\\]\n* BUG: pyline.py: only print version when opts.get('version') \\[ef8ac20\\]\n* RLS,DOC: setup.py,pyline.py: version 0.3.9 \\[5f2c4a6\\]\n* DOC: HISTORY.rst: git-changelog.py --hdr=+ --rev 'release/0.3.9' \\| pbcopy \\[ce95bae\\]\n* MRG: Merge branch 'release/0.3.9' \\[38e0393\\]\n\n\nv0.3.8 (2016-02-14 17:34:08 -0600)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.7..v0.3.8\n\n* MRG: Merge tag 'v0.3.7' into develop \\[0cd0e3c\\]\n* BUG,ENH: fix CSV header row; add -O jinja:template=path.jinja support (#1,) \\[d5fe67b\\]\n* ENH: pyline.py: --version arg \\[818fc1d\\]\n* RLS: setup.py, pyline.py: version 0.3.8 \\[245214d\\]\n* DOC: HISTORY.rst: git-changelog.py --hdr=+ --rev 'release/0.3.8' \\| pbcopy \\[983b535\\]\n* DOC: HISTORY.rst: git-changelog.py --hdr=+ --rev 'release/0.3.8' \\| pbcopy \\[7b65d8e\\]\n* MRG: Merge branch 'release/0.3.8' \\[2f5f249\\]\n\n\nv0.3.7 (2016-02-12 20:04:39 -0600)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.6..v0.3.7\n\n* Merge tag 'v0.3.5' into develop \\[8c5de0a\\]\n* ENH: pyline.py: main(args=None, iterable=None, output=None) \\[dd490e1\\]\n* UBY: pyline.py: -O chk == -O checkbox \\[3aa96ce\\]\n* UBY: pyline.py: l = line = o = obj \\[3aa9a81\\]\n* DOC: pyline.py: -f/--in/--input-file, -o/--out/--output-file \\[bcc9eff\\]\n* TST: requirements-test.txt: nose, nose-parameterized, nose-progressive \\[213e0c0\\]\n* BUG: pyline: collections.OrderedDict, return 0 \\[5fd1114\\]\n* DOC: setup.py: install_requires=\\[\\] \\[a41bf30\\]\n* TST,BUG,CLN: test_pyline.py: chk, main(_args), docstrings, #opts._output.close() \\[0254f30\\]\n* Merge tag 'v0.3.6' into develop \\[f46f90c\\]\n* DOC,REF: pyline.py: type_func->typefunc, docstrings \\[08c8d9c\\]\n* UBY: pyline.py: \\[--input-delim-split-max\\|--max\\|--max-split\\] \\[b509726\\]\n* REF: pyline.py: ResultWriter.get_writer ValueError, expand \\[143c5f7\\]\n* DOC: pyline.py: usage docstring, main docstring \\[bc44747\\]\n* TST: tests/test_pylinepy: more tests of sorting \\[b60750a\\]\n* DOC: pyline.py: docstrings \\[89ea5c7\\]\n* BLD,TST,BUG: Makefile, setup.py, pyline.py, test_pyline.py: pyline.main does sorting, kwargs, opts obj \\[e80cde6\\]\n* TST,REF: split to SequenceTestCase, LoggingTestCase, Test\\* \\[62ff39b\\]\n* TST: tests/test_pyline.py: TestPylinePyline.test_30_pyline_codefunc \\[49928d5\\]\n* Merge branch 'feature/split_tests' into develop \\[ef63a18\\]\n* RLS,DOC: README.rst, setup.py, pyline.py 0.3.7 description \\[9fc262e\\]\n* Merge branch 'release/0.3.7' \\[07b00b2\\]\n\n\nv0.3.6 (2015-12-21 04:17:23 -0600)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.5..v0.3.6\n\n* BUG: pyline.py: #!/usr/bin/env python2 \\[9729816\\]\n* RLS: HISTORY.rst, __init__.py, pyline.py, setup.py: __version__ = '0.3.6' \\[a463d39\\]\n* Merge branch 'hotfix/0.3.6' \\[445c089\\]\n\n\nv0.3.5 (2015-05-24 20:58:39 -0500)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.4..v0.3.5\n\n* Merge tag 'v0.3.4' into develop \\[3ec1391\\]\n* CLN: patchheader: rm \\[c9f6304\\]\n* ENH: pyline.py: add a codefunc() kwarg \\[be8dcc8\\]\n* BUG,DOC: pyline.py: set default regex_options to '', optparse helpstrings \\[fa9e9cb\\]\n* DOC: pyline.py: docstrings (calling a function, stdlib/vendoring) \\[ee22e2c\\]\n* ENH,TST: pyline.py: add a codefunc() kwarg \\[91aa0a8\\]\n* RLS: setup.py, __init__, HISTORY: v0.3.5, git log --format='\\* %s \\[%h\\]' master..develop \\[78f3ad9\\]\n* Merge branch 'release/0.3.5' \\[065797d\\]\n\n\nv0.3.4 (2015-04-25 06:48:47 -0500)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.3..v0.3.4\n\n* Merge tag 'v0.3.3' into develop \\[e630114\\]\n* RLS: HISTORY.rst, __init__.py, setup.py: v0.3.4 \\[e448183\\]\n* Merge branch 'release/0.3.4' \\[612228d\\]\n\n\nv0.3.3 (2015-04-25 06:43:37 -0500)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.2..v0.3.3\n\n* Merge tag 'v0.3.2' into develop \\[061840b\\]\n* BUG: pyline.pyline.__main__ \\[db71796\\]\n* DOC,BLD,CLN: Makefile: sphinx-apidoc --no-toc \\[209bff8\\]\n* TST,CLN: pyline.py: remote -t/--test option \\[2629924\\]\n* DOC,CLN: modules.rst: remove generated modules.rst \\[abdc00d\\]\n* BUG, ENH, BUG, TST: \\[b5a21e7\\]\n* RLS: __init__.py, setup.py: v0.3.3 \\[eb81129\\]\n* BLD: Makefile: release (dist), twine \\[7e602c8\\]\n* Merge branch 'release/0.3.3' \\[c0df4ab\\]\n\n\nv0.3.2 (2014-11-30 19:49:42 -0600)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.1..v0.3.2\n\n* Merge tag 'v0.3.1' into develop \\[a3f8c1c\\]\n* ENH: Add pyline.__main__ (pyline.pyline.main) for 'python -m pyline' \\[1bd5e10\\]\n* DOC: README.rst \\[a26d97a\\]\n* DOC: HISTORY.rst: link to Source: http://code.activestate.com/recipes/437932-pyline-a-grep-like-sed-like-command-line-tool/ \\[5871727\\]\n* DOC: usage.rst: add :shell: option to 'pyline --help' output \\[d1f32de\\]\n* BUG: pyline/__init__.py: Set pyline.pyline.__main__ correctly \\[49ae891\\]\n* DOC: pyline/pyline.py: docstrings, import path as pathpy \\[178af4e\\]\n* RLS: HISTORY.txt, pyline/__init__.py, setup.py: set version to v0.3.2 \\[6c547e4\\]\n* Merge branch 'release/0.3.2' \\[10b84f5\\]\n\n\nv0.3.1 (2014-10-27 07:53:27 -0500)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.3.0..v0.3.1\n\n* Merge tag 'v0.3.0' into develop \\[35a380b\\]\n* DOC: README.rst \\[f803665\\]\n* Merge branch 'hotfix/readme-travis-link' \\[35f7b44\\]\n* Merge tag 'vreadme-travis-link' into develop \\[6849887\\]\n* DOC: setup.py version 0.3.1 \\[a7fae60\\]\n* Merge branch 'release/0.3.1' \\[276d16b\\]\n\n\nv0.3.0 (2014-10-27 07:34:58 -0500)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.2.0..v0.3.0\n\n* Added tag v0.2.0 for changeset cddc5c513cd2 \\[c53a725\\]\n* DOC: Update README.rst: typo -output-filetype -> --output-filetype \\[6897954\\]\n* DOC: Update README.rst: update 'Features' \\[548c426\\]\n* DOC: Update README.rst: update 'Features' \\[273b475\\]\n* DOC: Update README.rst: update 'Features' \\[254ed95\\]\n* DOC: Update README.rst add additional link to docs \\[8415a7c\\]\n* BLD,DOC: Update requirements.txt: add ../ (from ./docs) as editable \\[d94ff0e\\]\n* Revert \"BLD,DOC: Update requirements.txt: add ../ (from ./docs) as editable\" \\[fa062b8\\]\n* DOC: program-output:: -> command-output:: \\[984b8a6\\]\n* ENH,BUG,CLN: #10, #12, #13 \\[a75d2f9\\]\n* CLN: remove _import_path_module \\[0cc9bb9\\]\n* RLS: pyline v0.3.0 \\[14941af\\]\n* Merge branch 'release/0.3.0' \\[53609dc\\]\n\n\nv0.2.0 (2014-08-24 14:44:31 -0500)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.1.5..v0.2.0\n\n* Added tag v0.1.5 for changeset 8cd9c44a80ab \\[4bb3fc7\\]\n* BLD: Add docs for 'make release'; remove bdist_wheel upload \\[e76b592\\]\n* BLD: Add docs for 'make release': HISTORY.rst \\[e5b3e9a\\]\n* ENH: Add checkbox output formatter (closes #5) \\[46b7177\\]\n* BUG: add NullHandler to logger (closes #6) \\[a9fac28\\]\n* RLS: Release v0.2.0 \\[9ef4a25\\]\n* Added tag v0.2.0 for changeset f510a75a37a8 \\[38c7eeb\\]\n\n\nv0.1.5 (2014-05-12 20:59:34 -0500)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.1.4..v0.1.5\n\n* Added tag v0.1.4 for changeset c79a1068cb1c \\[0abdc5e\\]\n* DOC: setup.py keywords and classifiers \\[9079d03\\]\n* DOC: Update HISTORY.rst: 0.1.0 -> 0.1.5 \\[9bfe2a5\\]\n* BLD: bump version to v0.1.5 \\[0af9381\\]\n\n\nv0.1.4 (2014-05-12 20:42:52 -0500)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.1.3..v0.1.4\n\n* Added tag v0.1.3 for changeset d49705961509 \\[4f8cfec\\]\n* DOC: correct license and download_url in setup.py \\[49ea953\\]\n\n\nv0.1.3 (2014-05-12 20:30:47 -0500)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.1.2..v0.1.3\n\n* Added tag v0.1.2 for changeset 09cca8fa5555 \\[828d223\\]\n* DOC: missing newline in description \\[63a442c\\]\n* DOC: version bump, setup description \\[53ad0f4\\]\n\n\nv0.1.2 (2014-05-12 20:24:26 -0500)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.1.1..v0.1.2\n\n* Added tag v0.1.1 for changeset 13ad121ea966 \\[5727951\\]\n* BLD: add pathlib and path.py to requirements.txt \\[aa6dda7\\]\n* DOC,BLD,BUG: setup.py build_long_description, file handles \\[f7a73c1\\]\n* DOC: README.rst: remove includes \\[2d2bd6f\\]\n* DOC: version bump, setup description \\[e920ff2\\]\n\n\nv0.1.1 (2014-05-12 19:41:54 -0500)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' v0.1.0..v0.1.1\n\n* DOC,BLD: Update AUTHORS.rst, HISTORY.rst, README.rst, docs/license.rst \\[7b087c8\\]\n* CLN: pyline rename arg\\[0\\] _input -> iterable \\[7040271\\]\n* BUG: default command in -- ls \\| pyline -p \" p = path = Path(line.strip()) \\[30dce3a\\]\n* LOG: log.info(cmd) .\\.. after shell parsing, exception \\[c449765\\]\n* CLN: pep8 test command kwargs formatting \\[993c65a\\]\n* DOC: README.rst; ReST doesn't seem to like \\`path.py\\`_ \\.. _path.py:, links \\[209ecb5\\]\n* TST: Update setup.py test command (runtests -v ./tests/test_\\*.py) \\[bc84652\\]\n* TST: tox.ini: make html rather than sphinx-build \\[c96b3b0\\]\n* CLN: factor out _import_pathmodule and get_path_module \\[d0aebfb\\]\n* TST: move tests from pyline.py to tests/test_pyline.py \\[477fbb4\\]\n* BUG: file handles (was causing tests to fail silently) \\[80e84b6\\]\n* CLN: move optparse things into get_option_parser() \\[723a8b7\\]\n* BLD: Release 0.1.1 \\[3f9f56f\\]\n\n\nv0.1.0 (2014-05-12 04:03:15 -0500)\n++++++++++++++++++++++++++++++++++\n::\n\n git log --reverse --pretty=format:'* %s [%h]' b1303ba..v0.1.0\n\n* CLN: Update .gitignore and .hgignore \\[0d07ad1\\]\n* DOC: Update README.rst: comment out unconfigured badges \\[b0e0fc1\\]\n* ENH: Add pyline script from https://github.com/westurner/dotfiles/blob/e7f766f3/src/dotfiles/pyline.py \\[ce2dba8\\]\n* BLD,TST: Add py.test runtests.py and setup.py:PyTestCommand \\[953edbe\\]\n* BUG: try/except import StringIO (Python 3 compatibility) \\[97d5781\\]\n* BLD: remove py33 section from tox.ini for now \\[b103587\\]\n* BLD: remove py33 section from tox.ini for now \\[2ff4a77\\]\n* BLD: Update tox.ini, .travis.yml, reqs, docs/conf \\[13b5487\\]\n* CLN: pyline cleanup \\[9724f8e\\]\n* CLN: update .hgignore \\[59196b7\\]\n\n\n\n\n0.0.1 (Unreleased)\n+++++++++++++++++++\n| Source: http://code.activestate.com/recipes/437932-pyline-a-grep-like-sed-like-command-line-tool/\n\n* Updated 2012.11.17, Wes Turner\n* Updated 2005.07.21, thanks to Jacob Oscarson\n* Updated 2006.03.30, thanks to Mark Eichin\n\n\n\n=======\nCredits\n=======\n\n* Graham Fawcett \n* Jacob Oscarson\n* Mark Eichin\n* Wes Turner -- https://github.com/westurner\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/westurner/pyline/releases", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/westurner/pyline", "keywords": "pyline sed grep", "license": "PSF", "maintainer": "", "maintainer_email": "", "name": "pyline", "package_url": "https://pypi.org/project/pyline/", "platform": "", "project_url": "https://pypi.org/project/pyline/", "project_urls": { "Download": "https://github.com/westurner/pyline/releases", "Homepage": "https://github.com/westurner/pyline" }, "release_url": "https://pypi.org/project/pyline/0.3.16/", "requires_dist": null, "requires_python": "", "summary": "Pyline is a grep-like, sed-like, awk-like command-line tool for line-based text processing in Python.", "version": "0.3.16" }, "last_serial": 2238395, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "3897b73ad1c5b1b50fb5824963121dd8", "sha256": "611ebaaa0da72f953e86606a1a2eccc45bf6144b21fb2d0c3f754a34f9aa5661" }, "downloads": -1, "filename": "pyline-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3897b73ad1c5b1b50fb5824963121dd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17270, "upload_time": "2014-05-12T09:19:51", "url": "https://files.pythonhosted.org/packages/e8/0c/35d2afa302f1d135d725ec4f06a9fc051b38f6104582c40270a4e4eb22f8/pyline-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "3f8521dcadf818f0c5b931b54f655c03", "sha256": "5bf3a6f6834daf139cde974a11d83e5927e3626b08e357e0987fa9a355cd20a8" }, "downloads": -1, "filename": "pyline-0.1.1.tar.gz", "has_sig": false, "md5_digest": "3f8521dcadf818f0c5b931b54f655c03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23503, "upload_time": "2014-05-13T01:03:51", "url": "https://files.pythonhosted.org/packages/78/97/157d1dde524aeda62c6183777238dcdc2c9483a26f5474fb7f387e2dd7dc/pyline-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "872842737e7174a0ab350a53d7e65ecc", "sha256": "ea4c29a0c10ec9ac331b3066a054c42dc9d555c0a01b2af325e60f5cdcce31c9" }, "downloads": -1, "filename": "pyline-0.1.2.tar.gz", "has_sig": false, "md5_digest": "872842737e7174a0ab350a53d7e65ecc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25352, "upload_time": "2014-05-13T01:24:54", "url": "https://files.pythonhosted.org/packages/ba/12/2ee9f18fe9dce1031ecf9d162d9e53f4d1adca3bef5b7477e5bfd441c33e/pyline-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "5810f95c711b3d3b0037730c5de69a93", "sha256": "be47931517227d36db894840af4516d17bfb30ee5240ad1330b5a93b3778f33c" }, "downloads": -1, "filename": "pyline-0.1.3.tar.gz", "has_sig": false, "md5_digest": "5810f95c711b3d3b0037730c5de69a93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25343, "upload_time": "2014-05-13T01:31:21", "url": "https://files.pythonhosted.org/packages/b4/14/67f3c1d0b9e2c3dba316b2ce9e8e91a2f9f04d4caef4bfff95455c06ca97/pyline-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "86809d977a6bc6abd9897d67eea48bea", "sha256": "92fbf67af8cce3629d021e6e9c2f66d3355e0804b5cd36f9715ca27229821b4b" }, "downloads": -1, "filename": "pyline-0.1.4.tar.gz", "has_sig": false, "md5_digest": "86809d977a6bc6abd9897d67eea48bea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25402, "upload_time": "2014-05-13T01:44:31", "url": "https://files.pythonhosted.org/packages/4c/64/d93fc8d89ad2b7132cea7013c04774167a40537322778ad0d7fc50048de8/pyline-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "88de5186a36461699ac1d64c2b6f4089", "sha256": "94a86b4c70f96c02b714accf9521e1778af9e52934c20045975b49fc30b9bac2" }, "downloads": -1, "filename": "pyline-0.1.5.tar.gz", "has_sig": false, "md5_digest": "88de5186a36461699ac1d64c2b6f4089", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25647, "upload_time": "2014-05-13T01:59:52", "url": "https://files.pythonhosted.org/packages/5f/7e/aa263c080fa398f6ccf16ef4429bad5ea3c8dfffa8b72ae508567f3b5c00/pyline-0.1.5.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "03e00a10867ed083c2b6193b669aee20", "sha256": "cdd13e0028c2c1f3f523f9b538b2d470f0840b5619ea5e356dd83d90d51277f9" }, "downloads": -1, "filename": "pyline-0.2.0.tar.gz", "has_sig": false, "md5_digest": "03e00a10867ed083c2b6193b669aee20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23287, "upload_time": "2014-08-24T19:50:34", "url": "https://files.pythonhosted.org/packages/2b/ca/8bcab7189250489ced7e6a88fd750fd716a98065cb2521cf79175b5f5c63/pyline-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "f7d052716c71d477021dafb370e9a10c", "sha256": "d9fc6abe9a4fa1b5cdb1ab2b222f735df3cc8b566f5db22ced9482c0efac4829" }, "downloads": -1, "filename": "pyline-0.3.0.tar.gz", "has_sig": false, "md5_digest": "f7d052716c71d477021dafb370e9a10c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21998, "upload_time": "2014-10-27T12:45:34", "url": "https://files.pythonhosted.org/packages/3b/2e/75e2049d2cd2e50df401de1b6e8da1ff8c174ecef9b618bb234da57b1bdf/pyline-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "633d02d4d056f1d5e45373f629071b91", "sha256": "068d8926a929bf4a4c12e8c0ea41b2eee135dffd0337f51ee1627e53eb0ca1f5" }, "downloads": -1, "filename": "pyline-0.3.1.tar.gz", "has_sig": false, "md5_digest": "633d02d4d056f1d5e45373f629071b91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21991, "upload_time": "2014-10-27T12:54:06", "url": "https://files.pythonhosted.org/packages/a5/90/e746fd0bc1f5d9931027f7a05bd483f3e488edba0f365804729f84691a1e/pyline-0.3.1.tar.gz" } ], "0.3.10": [ { "comment_text": "", "digests": { "md5": "c58e6ccb049d105f50bb0980601ff481", "sha256": "855bad49b7cb964bf58155b205910c29ef4ade99a7a2f31d70cc681e1c4e9122" }, "downloads": -1, "filename": "pyline-0.3.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c58e6ccb049d105f50bb0980601ff481", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25147, "upload_time": "2016-02-15T03:58:04", "url": "https://files.pythonhosted.org/packages/bc/52/7bceffe17ce47dfeb3a728c3e091cfde4aeeb0bc59efff4288d011c5df43/pyline-0.3.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "227d1fbcf90a992203f39b8faebf1e28", "sha256": "2778a3399532a18055ea6432763a6bb6b089d44d3529f6aa0b8234dc5178ec96" }, "downloads": -1, "filename": "pyline-0.3.10.tar.gz", "has_sig": false, "md5_digest": "227d1fbcf90a992203f39b8faebf1e28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44640, "upload_time": "2016-02-15T03:58:37", "url": "https://files.pythonhosted.org/packages/ce/b5/efa5702b98a9cc26aafaaf043f3c3969ed7d3be385ce6faba5c5d54f4492/pyline-0.3.10.tar.gz" } ], "0.3.11": [ { "comment_text": "", "digests": { "md5": "57e03360bb7a2cacfee8293829727e9e", "sha256": "f28d99e4f39f423f966f6550d82ea209b01fdc4003a5cd69954d1fd76a181612" }, "downloads": -1, "filename": "pyline-0.3.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "57e03360bb7a2cacfee8293829727e9e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25351, "upload_time": "2016-02-15T04:30:56", "url": "https://files.pythonhosted.org/packages/2d/9a/e8d82b41e2cb6f27161281052ac0b065c67d7e38a7ae81e2fa03a36dd7e6/pyline-0.3.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "680882d4d310240235170f71d11a49fa", "sha256": "05d620bb547b465e472def2d52539b37aa91826c67c1a3110cf932942da62bab" }, "downloads": -1, "filename": "pyline-0.3.11.tar.gz", "has_sig": false, "md5_digest": "680882d4d310240235170f71d11a49fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44961, "upload_time": "2016-02-15T04:31:16", "url": "https://files.pythonhosted.org/packages/d3/dc/1443b2ea51dc1701f6ea6726b7310a00067ae8a7ffaa11ba414c753af9e2/pyline-0.3.11.tar.gz" } ], "0.3.12": [ { "comment_text": "", "digests": { "md5": "304dd330efbdf49847b8f6d969a4cd81", "sha256": "bed0a08d11ff5a063ac1e174e5606265b77281b2bef58b91e45e039b60dd3133" }, "downloads": -1, "filename": "pyline-0.3.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "304dd330efbdf49847b8f6d969a4cd81", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25698, "upload_time": "2016-02-16T22:10:06", "url": "https://files.pythonhosted.org/packages/d2/0c/5761a17de7014b731cc570f7e865b049cdc596ef4973d079184d0b672234/pyline-0.3.12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f34a0429e18e0041d5820f26484a5dbe", "sha256": "94f50a97b3d39ed8ed5d91e9702e38591f83172105bed3af5d0f1049698527b6" }, "downloads": -1, "filename": "pyline-0.3.12.tar.gz", "has_sig": false, "md5_digest": "f34a0429e18e0041d5820f26484a5dbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45520, "upload_time": "2016-02-16T22:10:29", "url": "https://files.pythonhosted.org/packages/fd/11/38afb52b3e0d073a06a00a9c3f72918317f2ff9a103c7019104ff09ae28b/pyline-0.3.12.tar.gz" } ], "0.3.15": [ { "comment_text": "", "digests": { "md5": "0801d1d5c68bf2e984b13aa51b3f8e47", "sha256": "5281f42377aefecdfde2fc79579d480871ae98797a2c8519c446ff1a8ebaba93" }, "downloads": -1, "filename": "pyline-0.3.15-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0801d1d5c68bf2e984b13aa51b3f8e47", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26501, "upload_time": "2016-07-22T16:36:47", "url": "https://files.pythonhosted.org/packages/99/48/3efa7d56cfbc101d6bf0a43653f89085dcf44f1962cf60a03ef711d7a418/pyline-0.3.15-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9cad53e1ff761f06214c45cf86479378", "sha256": "27f2edf7ff9e87069d50cf02a5a7ea0c4fdb3d8979757b8f7de422c71cc0b2dc" }, "downloads": -1, "filename": "pyline-0.3.15.tar.gz", "has_sig": false, "md5_digest": "9cad53e1ff761f06214c45cf86479378", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46919, "upload_time": "2016-07-22T16:36:50", "url": "https://files.pythonhosted.org/packages/1b/f8/dcae6c73245a1627e703a1a1535b07cd4acdd60839cf3e85f9bcf50b1b46/pyline-0.3.15.tar.gz" } ], "0.3.16": [ { "comment_text": "", "digests": { "md5": "45996d19591f4a1c3ffb7d8918e40c3a", "sha256": "4792f1d26c2704d5c7adac90a1a3fab3a030f58e6d5d49d5f8b8d990a2aad3f3" }, "downloads": -1, "filename": "pyline-0.3.16-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "45996d19591f4a1c3ffb7d8918e40c3a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26678, "upload_time": "2016-07-22T16:44:02", "url": "https://files.pythonhosted.org/packages/ea/eb/e71bbdf077943f1b084454324658bfdd324c5ac03555b58911b5596c8bf8/pyline-0.3.16-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4e1de7c3a60656a98d70dd137f47d6d", "sha256": "64f51ba3ddd75d904c34bf363b815d0022f7669c56b4fdbcec29d415a4e4d750" }, "downloads": -1, "filename": "pyline-0.3.16.tar.gz", "has_sig": false, "md5_digest": "a4e1de7c3a60656a98d70dd137f47d6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47170, "upload_time": "2016-07-22T16:44:06", "url": "https://files.pythonhosted.org/packages/e0/70/d246cd8c8613109b5044844c82d38458a6ad0ba0cbd8f47e93c5c7295c07/pyline-0.3.16.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "22c0f75e3479d270c2a1eb77b77b19d9", "sha256": "557d8c8c23a0d5333b30fcc0d93ae917c02ddeb0642d3d5409a8fa4c17c69cfa" }, "downloads": -1, "filename": "pyline-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "22c0f75e3479d270c2a1eb77b77b19d9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15072, "upload_time": "2015-04-25T11:44:35", "url": "https://files.pythonhosted.org/packages/8a/b4/cad6be047173c0fa084f3fa17b6d1d936399e8cc3bc5d927d3534d6f2090/pyline-0.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fa619cbe9b93259eb508c58ede9db512", "sha256": "2f789511d2c1855d282aff9ae29ee7b096f8f2b7e51503b7e5a773ccce30ddff" }, "downloads": -1, "filename": "pyline-0.3.3.tar.gz", "has_sig": false, "md5_digest": "fa619cbe9b93259eb508c58ede9db512", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24706, "upload_time": "2015-04-25T11:44:39", "url": "https://files.pythonhosted.org/packages/50/34/9f568ee4afc933f207b9350d2b1208b8f9e77c6ec45ee19de7e2d7e1e36a/pyline-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "a0b9101edeb8eee4cb22d2ff49f3fe41", "sha256": "16536ec3e12cb79b1469129f6b1ee6a049cd06666d1ec44141b2093c8c57dfc2" }, "downloads": -1, "filename": "pyline-0.3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a0b9101edeb8eee4cb22d2ff49f3fe41", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15146, "upload_time": "2015-04-25T11:49:22", "url": "https://files.pythonhosted.org/packages/49/20/5afdd11456f102c38bf5b54d37568b0d400dfe8e5020b332e2645b72ec66/pyline-0.3.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa837471351d1172440e6c61ad1b9dce", "sha256": "9b2d9b8f5dfd977b9017722a63e87c62e17fb4cf8cdee1a748c776a0612fe619" }, "downloads": -1, "filename": "pyline-0.3.4.tar.gz", "has_sig": false, "md5_digest": "aa837471351d1172440e6c61ad1b9dce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24780, "upload_time": "2015-04-25T11:49:25", "url": "https://files.pythonhosted.org/packages/ad/42/77c887561e462fd6362d45386472bc1df54ab31f1641aef33b1a4acdc19b/pyline-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "4de8f9a421f61bb08f0d8258c393902f", "sha256": "d30f9bca81da730e1669896b40b331d4e800b16fcc4ff0d39c528d230cf9336d" }, "downloads": -1, "filename": "pyline-0.3.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4de8f9a421f61bb08f0d8258c393902f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15679, "upload_time": "2015-05-25T02:01:04", "url": "https://files.pythonhosted.org/packages/72/87/80b01df226a5a36770c1981c9b9fbce001d3a3042b800e31132eb3322f25/pyline-0.3.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aead99d056d7a0a46a32ef85a2ea1b98", "sha256": "b48165a20711edd9327307ddc9c0fb44c0d85b7f023e084491e99e5099af438f" }, "downloads": -1, "filename": "pyline-0.3.5.tar.gz", "has_sig": false, "md5_digest": "aead99d056d7a0a46a32ef85a2ea1b98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27773, "upload_time": "2015-05-25T02:01:07", "url": "https://files.pythonhosted.org/packages/e1/a2/829566d766742175f1581517af87035b6bd1c903a58cb7e1d71773d6e27a/pyline-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "d83eebb1da1cbd8de64ad6e6276a2670", "sha256": "1f9617ded59dde58c415a82d938cfd52e1c4b260970da83aef20827078d0f5dd" }, "downloads": -1, "filename": "pyline-0.3.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d83eebb1da1cbd8de64ad6e6276a2670", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15755, "upload_time": "2015-12-21T10:24:18", "url": "https://files.pythonhosted.org/packages/75/d3/8c2e399aaeec41ee3f9deb7af71a9a39cda59bfb3dfc50c45e118909bc6b/pyline-0.3.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4e5d96cc8d8e04f01a56c5aa0ef3c30", "sha256": "4327dcec8cf53099236db9242d60d835ec71093cb77e4fd6727b3ad30d1757d8" }, "downloads": -1, "filename": "pyline-0.3.6.tar.gz", "has_sig": false, "md5_digest": "a4e5d96cc8d8e04f01a56c5aa0ef3c30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23502, "upload_time": "2015-12-21T10:24:24", "url": "https://files.pythonhosted.org/packages/e1/c4/b8e38bc6ecb9eb5e651fd0c585aa21bd71922209cf74f1f72065710ba97b/pyline-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "c0baa85b9272eabbae20b88b1e79faa2", "sha256": "22676382d63ec7ab766f86e0a0eca04325e79510a2d7b6eaed33ff8a7df0c795" }, "downloads": -1, "filename": "pyline-0.3.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c0baa85b9272eabbae20b88b1e79faa2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17920, "upload_time": "2016-02-13T02:06:18", "url": "https://files.pythonhosted.org/packages/4f/d9/e41638b8497ac065426af496af62b3cb0de893c8ef5bbaf176e95677fc88/pyline-0.3.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "13967a9c3ffa091f983e9a4e3d7339af", "sha256": "75e74a8bea4174d4819287518ed5a45c9fb1dd5b1924941a7da618cdd9915e80" }, "downloads": -1, "filename": "pyline-0.3.7.tar.gz", "has_sig": false, "md5_digest": "13967a9c3ffa091f983e9a4e3d7339af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33377, "upload_time": "2016-02-13T02:06:24", "url": "https://files.pythonhosted.org/packages/a1/28/d02e386847100fc17bec55b1091d9cd068815db6e88603005bcb8597df5e/pyline-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "610e174fd5ef9c878fc24f3a0c40eb20", "sha256": "53cb06a586ac516410c4bf4831b4e2efc9f9852537f6645569540850aade7069" }, "downloads": -1, "filename": "pyline-0.3.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "610e174fd5ef9c878fc24f3a0c40eb20", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24312, "upload_time": "2016-02-14T23:36:01", "url": "https://files.pythonhosted.org/packages/34/c3/6d5d9ee259fb5c336399a1d2542eb422c9803e08084604addc79f8c3c94c/pyline-0.3.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1c4bd381068255e2a8d8b01b020c7781", "sha256": "eac3ef9a08c5a6e59eee6696192cb70206ecc7af297ec802c68de99dd62eca62" }, "downloads": -1, "filename": "pyline-0.3.8.tar.gz", "has_sig": false, "md5_digest": "1c4bd381068255e2a8d8b01b020c7781", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43556, "upload_time": "2016-02-14T23:36:10", "url": "https://files.pythonhosted.org/packages/fe/3c/3bc0ebb80dea6dcb0bd2167d64acbb1e6b0532095a5cc050caf9fa61a456/pyline-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "bc412558cc548e1b218d7b7b55e22c55", "sha256": "5025d70def60dc71d92e086e154b89229d33b035cc451ea248e79c334af1b8c1" }, "downloads": -1, "filename": "pyline-0.3.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bc412558cc548e1b218d7b7b55e22c55", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24549, "upload_time": "2016-02-14T23:59:40", "url": "https://files.pythonhosted.org/packages/73/5c/a4cb29e01bb45e8c120845058ddf61ae3bacad078e060857849051d7e1b9/pyline-0.3.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c8f2ba6ffaaaf1a7c2364e556eaa2093", "sha256": "eb66c4dcbb68588b58f58905ca1f563a26ec31025f566a85e9ea3efbd28d5a3f" }, "downloads": -1, "filename": "pyline-0.3.9.tar.gz", "has_sig": false, "md5_digest": "c8f2ba6ffaaaf1a7c2364e556eaa2093", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43912, "upload_time": "2016-02-14T23:59:45", "url": "https://files.pythonhosted.org/packages/5f/72/abbdc771e5b6335502643d32381de6c89adc77c8acca40e7f557186d3696/pyline-0.3.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "45996d19591f4a1c3ffb7d8918e40c3a", "sha256": "4792f1d26c2704d5c7adac90a1a3fab3a030f58e6d5d49d5f8b8d990a2aad3f3" }, "downloads": -1, "filename": "pyline-0.3.16-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "45996d19591f4a1c3ffb7d8918e40c3a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26678, "upload_time": "2016-07-22T16:44:02", "url": "https://files.pythonhosted.org/packages/ea/eb/e71bbdf077943f1b084454324658bfdd324c5ac03555b58911b5596c8bf8/pyline-0.3.16-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4e1de7c3a60656a98d70dd137f47d6d", "sha256": "64f51ba3ddd75d904c34bf363b815d0022f7669c56b4fdbcec29d415a4e4d750" }, "downloads": -1, "filename": "pyline-0.3.16.tar.gz", "has_sig": false, "md5_digest": "a4e1de7c3a60656a98d70dd137f47d6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47170, "upload_time": "2016-07-22T16:44:06", "url": "https://files.pythonhosted.org/packages/e0/70/d246cd8c8613109b5044844c82d38458a6ad0ba0cbd8f47e93c5c7295c07/pyline-0.3.16.tar.gz" } ] }