{
"info": {
"author": "Sixty North AS",
"author_email": "rob@sixty-north.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 3 - Alpha",
"Environment :: Other Environment",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Utilities"
],
"description": "=====================\nTransducers in Python\n=====================\n\nThis is a port of the *transducer* concept from Clojure to Python,\nwith an emphasis on providing as Pythonic as interpretation of\ntransducers as possible, rather than reproducing Clojurisms more\nliterally.\n\nInstallable Python package\n==========================\n\nThis package is available on the Python Package Index (PyPI) as\n`transducer `_.\n\nStatus\n======\n\nBuild status:\n\n.. image:: https://travis-ci.org/sixty-north/python-transducers.svg?branch=master\n :target: https://travis-ci.org/sixty-north/python-transducers\n :alt: Build Status\n\n.. image:: https://readthedocs.org/projects/python-transducers/badge/?version=latest\n :target: https://readthedocs.org/projects/python-transducers/?badge=latest\n :alt: Documentation Status\n\nNote: Documentation is very much a work in progress.\n\nWhat are transducers?\n=====================\n\nTransducers are functions which transform reducers - hence the name.\nA reducer, in this case, is any function which you could pass to the\n``reduce()`` function in the Python Standard Library ``functools``\nmodule. Such reducers accept an initial or intermediate result and\ncombine a new value with that result to produce a new (or updated)\nresult. Transducers provide us with a convenient means to compose\nsimple reducers into more complex and capable reducers.\n\nFurthermore, transducers facilitate the clean separation of\nconcerns of how source values are input, how they are\nprocessed by reducers, and the how results output. This allows the\nsame transducers to be (re)used with many sources and destinations\nof data, not just with iterable series.\n\nTransducers were developed by Rich Hickey, the driving force behind\nthe Clojure programming language, and this package aims to bring\nthe benefits of transducers to Python 3, whilst transforming some of\nthe Clojurisms into more Pythonic solutions.\n\nAn extended write-up of the development of Python transducers from\nscratch can be found in our series of articles\n`Understanding Transducers Through Python `_.\nThe code developed over the course of these articles is substantially\nthe same as in this ``transducer`` package, although the package uses\nsome further abstractions and tools which are largely irrelevant to\nunderstanding how transducers work.\n\nThis package, implements simple infrastructure for implementing\ntransducers in Python, a selection of transducer implementations of\ncommon operations, and some 'transducible processes' which allow us\nto apply transducers to iterable series (both eagerly and lazily) and\nto use transducers to process 'push' events implemented as Python\ncoroutines.\n\n\n",
"description_content_type": null,
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/sixty-north/python-transducers",
"keywords": "Python,functional",
"license": "MIT License",
"maintainer": "",
"maintainer_email": "",
"name": "transducer",
"package_url": "https://pypi.org/project/transducer/",
"platform": "",
"project_url": "https://pypi.org/project/transducer/",
"project_urls": {
"Homepage": "https://github.com/sixty-north/python-transducers"
},
"release_url": "https://pypi.org/project/transducer/0.9/",
"requires_dist": null,
"requires_python": "",
"summary": "Transducers, similar to those in Clojure",
"version": "0.9"
},
"last_serial": 2987246,
"releases": {
"0.5": [
{
"comment_text": "",
"digests": {
"md5": "e2eb14e6be7049ec5845bc092e5735f3",
"sha256": "689315ebeb3d9ac81336a44062588cf0504ad50d948f0b5c8b0f6a559127b7a5"
},
"downloads": -1,
"filename": "transducer-0.5.tar.gz",
"has_sig": false,
"md5_digest": "e2eb14e6be7049ec5845bc092e5735f3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6404,
"upload_time": "2014-10-26T20:12:11",
"url": "https://files.pythonhosted.org/packages/54/cb/7972a4d8bd5e527b24e083cce6c515c19cd085a7bd04d992a192f18f9ea5/transducer-0.5.tar.gz"
}
],
"0.6": [
{
"comment_text": "",
"digests": {
"md5": "669683f3513f52ff72e8167f396ce498",
"sha256": "e49c2cfe68dc27e4b77142e3fc0ea1d0792e23393195b5401ee3377cce83acbc"
},
"downloads": -1,
"filename": "transducer-0.6.tar.gz",
"has_sig": false,
"md5_digest": "669683f3513f52ff72e8167f396ce498",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6478,
"upload_time": "2014-10-26T21:29:41",
"url": "https://files.pythonhosted.org/packages/8c/ab/d2b5dc07a73f55c56679310e0742dd36261b6d6d8a4ad05252a9e31d6274/transducer-0.6.tar.gz"
}
],
"0.7": [
{
"comment_text": "built for Darwin-13.4.0",
"digests": {
"md5": "c3c9a2f2a75daf704c80afd6edd27fc4",
"sha256": "58ac8547eec8b99de0a2030aaeac1b1e26eb1862ea96cf1a2fdc0891a1000a49"
},
"downloads": -1,
"filename": "transducer-0.7.macosx-10.6-intel.tar.gz",
"has_sig": false,
"md5_digest": "c3c9a2f2a75daf704c80afd6edd27fc4",
"packagetype": "bdist_dumb",
"python_version": "any",
"requires_python": null,
"size": 16398,
"upload_time": "2015-03-16T12:21:35",
"url": "https://files.pythonhosted.org/packages/69/29/8f2cbcff4c7ed266dc05059ad47688882fb3c89bd91a6a1f25bc74d857d0/transducer-0.7.macosx-10.6-intel.tar.gz"
},
{
"comment_text": "",
"digests": {
"md5": "afc5dfd2b599ff05cbbe696aab65a3a9",
"sha256": "7c0db58e6491f185949e3c301df2e0f774aad78986900cb1aa2f0b7ed0fb0eb1"
},
"downloads": -1,
"filename": "transducer-0.7.tar.gz",
"has_sig": false,
"md5_digest": "afc5dfd2b599ff05cbbe696aab65a3a9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8070,
"upload_time": "2015-03-16T12:21:32",
"url": "https://files.pythonhosted.org/packages/a8/7d/5212560d5bbedf7c9a9e945efebf20a9d46ce788b86c173813238f5d5893/transducer-0.7.tar.gz"
}
],
"0.8": [
{
"comment_text": "",
"digests": {
"md5": "5160f96f007c63961be47f418814337e",
"sha256": "3d7858f342847dccd8888489b4471b7be6c687cb34ceb80477fc7753a9fcdfd6"
},
"downloads": -1,
"filename": "transducer-0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5160f96f007c63961be47f418814337e",
"packagetype": "bdist_wheel",
"python_version": "3.4",
"requires_python": null,
"size": 12367,
"upload_time": "2015-03-31T08:44:03",
"url": "https://files.pythonhosted.org/packages/27/7d/c8e3794c2578d4de40bd9301fef428ffb273bb849aa58d5d138cfb382e70/transducer-0.8-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "4cac0da2e7683ba346b6b83dc3262372",
"sha256": "76a41fa01968f1fe53bf47e01d7952fbef46318bca1b956475dc876be4591926"
},
"downloads": -1,
"filename": "transducer-0.8.tar.gz",
"has_sig": false,
"md5_digest": "4cac0da2e7683ba346b6b83dc3262372",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13811,
"upload_time": "2015-03-31T08:43:53",
"url": "https://files.pythonhosted.org/packages/84/48/380f51f1587d4f5a39f06c7ff684d0501c06e8a4e459d0ef4a3eb0ce8a3d/transducer-0.8.tar.gz"
}
],
"0.9": [
{
"comment_text": "",
"digests": {
"md5": "60242083601477e45794f13618862c64",
"sha256": "0486f4e2af4b65c9f5ac57d576a0e97955a4daa3d0fb5bbe9f9b787f3470f8f3"
},
"downloads": -1,
"filename": "transducer-0.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "60242083601477e45794f13618862c64",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15420,
"upload_time": "2017-06-29T11:30:08",
"url": "https://files.pythonhosted.org/packages/47/77/7af913f9e194f6a5c32d0ec95803580d36f8c1c67d1579b508c047de5cf8/transducer-0.9-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5de3f878bf268c1163dfd6cba63ddc69",
"sha256": "628ad8d954b13e3687f613a91b94f6893bf05f6626bd559cb668c06317b1cef9"
},
"downloads": -1,
"filename": "transducer-0.9.tar.gz",
"has_sig": false,
"md5_digest": "5de3f878bf268c1163dfd6cba63ddc69",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16229,
"upload_time": "2017-06-29T11:30:10",
"url": "https://files.pythonhosted.org/packages/d1/9e/2cd095ec9fb5023b556350914f713e73ec684846f9e3350546440df0c1e2/transducer-0.9.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "60242083601477e45794f13618862c64",
"sha256": "0486f4e2af4b65c9f5ac57d576a0e97955a4daa3d0fb5bbe9f9b787f3470f8f3"
},
"downloads": -1,
"filename": "transducer-0.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "60242083601477e45794f13618862c64",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15420,
"upload_time": "2017-06-29T11:30:08",
"url": "https://files.pythonhosted.org/packages/47/77/7af913f9e194f6a5c32d0ec95803580d36f8c1c67d1579b508c047de5cf8/transducer-0.9-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5de3f878bf268c1163dfd6cba63ddc69",
"sha256": "628ad8d954b13e3687f613a91b94f6893bf05f6626bd559cb668c06317b1cef9"
},
"downloads": -1,
"filename": "transducer-0.9.tar.gz",
"has_sig": false,
"md5_digest": "5de3f878bf268c1163dfd6cba63ddc69",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16229,
"upload_time": "2017-06-29T11:30:10",
"url": "https://files.pythonhosted.org/packages/d1/9e/2cd095ec9fb5023b556350914f713e73ec684846f9e3350546440df0c1e2/transducer-0.9.tar.gz"
}
]
}