{ "info": { "author": "Matthew Seal", "author_email": "mseal@opengov.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2 :: Only", "Topic :: Utilities" ], "description": "GridWalker\r\n==========\r\n\r\nAn iterable multi-dimensional grid used for exhaustive search and\r\ndimensional problem solving.\r\n\r\nDescription\r\n-----------\r\n\r\nDefines a Grid object which allows for efficient iteration across an\r\narbitrary number of dimensions. The grid objects allow for iteration,\r\nmulti-dimensional select, and multi-dimensional slicing.\r\n\r\nAccessing a grid follows the ``__getitem__`` convention of ``[index]``.\r\nTo retrieve a multi-dimensional selection either ``[index1, index2]`` or\r\n``[(index1, index2)]`` may be used to specify the ordered dimensions of\r\nthe grid to subselect. Any of the index requests can be replaced by a\r\nslice object such that ``[index1, start2:end2:step2]`` is a legal\r\nrequest.\r\n\r\nSlices provide SubGrid objects which act as grids, but map their\r\nreferenced data back to the original grid object. This allows for\r\nrepeated slicing of a grid with near constant memory overhead at the\r\ncost of layered slice requests for each change on the original data.\r\n\r\nThere are several provided Grids which are setup for efficiency for the\r\ngiven data type. So far those include IntGrid, FloatGrid, and ObjectGrid\r\n-- the latter of which is a general solution without efficient storage.\r\nThese grid types define the data being stored, rather than the indexing\r\nscheme. All grids use an integer based indexing, though there are plans\r\nto create a float range grid which does the float to index mapping\r\nbehind the interface.\r\n\r\nNote that creating grids with many dimensions can take up an extremely\r\nlarge amount of memory, even when using an efficient scheme. This\r\nextends to a very long iteration times as the number of elements to\r\nvisit grows exponentially. Take a 5 dimensional grid with 10 values for\r\neach dimension. this makes a 10^5 element grid -- which is 100k\r\niterables -- and would take ~400kb of storage space. The same grid with\r\n100 values for each dimension would have 40 billion elements and take\r\nmore than 37GB of memory to store.\r\n\r\nDependencies\r\n------------\r\n\r\n- pydatawrap\r\n- numpy\r\n\r\nSetup\r\n-----\r\n\r\nInstallation\r\n~~~~~~~~~~~~\r\n\r\nFrom source:\r\n\r\n::\r\n\r\n python settup.py install\r\n\r\nFrom pip:\r\n\r\n::\r\n\r\n pip install gridwalker\r\n\r\nFeatures\r\n--------\r\n\r\n- Multi-Dimensional grid definitions with arbitrary number of\r\n dimensions\r\n- Iteration and assignment through efficient means across any\r\n dimensional assignment\r\n\r\nNavigating the Repo\r\n-------------------\r\n\r\ngridwalker\r\n~~~~~~~~~~\r\n\r\nThe implementation files for the repository.\r\n\r\ntests\r\n~~~~~\r\n\r\nAll unit tests for the repo.\r\n\r\nLanguage Preferences\r\n--------------------\r\n\r\n- Google Style Guide\r\n- Object Oriented (with a few exceptions)\r\n\r\nTODO\r\n----\r\n\r\n- Create float index grids for floating precision grid iteration\r\n\r\nAuthor\r\n------\r\n\r\nAuthor(s): Matthew Seal\r\n\r\n\u00a9 Copyright 2013, `OpenGov `__", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/OpenGov/grid_walker/tarball/v1.0.1", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/OpenGov/grid_walker", "keywords": "grids,data,iterator,multi-dimensional", "license": "New BSD", "maintainer": null, "maintainer_email": null, "name": "GridWalker", "package_url": "https://pypi.org/project/GridWalker/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/GridWalker/", "project_urls": { "Download": "https://github.com/OpenGov/grid_walker/tarball/v1.0.1", "Homepage": "https://github.com/OpenGov/grid_walker" }, "release_url": "https://pypi.org/project/GridWalker/1.0.1/", "requires_dist": null, "requires_python": null, "summary": "A multi-dimensional grid used for state space searching", "version": "1.0.1" }, "last_serial": 1451516, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "a8d823db796c5f23e1e11e7b2b5bb33a", "sha256": "0671155a8b496e56e6446fa3c5a75489ae8921c7ef29eeb5b17e8fd96e4e9a3f" }, "downloads": -1, "filename": "GridWalker-1.0.0.zip", "has_sig": false, "md5_digest": "a8d823db796c5f23e1e11e7b2b5bb33a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13773, "upload_time": "2014-04-02T16:46:04", "url": "https://files.pythonhosted.org/packages/52/41/5a4ddc29e464add086b6947bc79b0e9882f030f8c7f3e366654159208dee/GridWalker-1.0.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "0f112d482784f759ae33e6837457ee68", "sha256": "bbd13eb5398de3d7963d3b32165017eb87bb87269c2dbb6080ff54b2f6d52847" }, "downloads": -1, "filename": "GridWalker-1.0.1.zip", "has_sig": false, "md5_digest": "0f112d482784f759ae33e6837457ee68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13670, "upload_time": "2015-03-06T23:34:50", "url": "https://files.pythonhosted.org/packages/ae/c2/3f4af2edc212b921fb5e34557d36305615cbfb3114fd1062d1e4dc30a960/GridWalker-1.0.1.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0f112d482784f759ae33e6837457ee68", "sha256": "bbd13eb5398de3d7963d3b32165017eb87bb87269c2dbb6080ff54b2f6d52847" }, "downloads": -1, "filename": "GridWalker-1.0.1.zip", "has_sig": false, "md5_digest": "0f112d482784f759ae33e6837457ee68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13670, "upload_time": "2015-03-06T23:34:50", "url": "https://files.pythonhosted.org/packages/ae/c2/3f4af2edc212b921fb5e34557d36305615cbfb3114fd1062d1e4dc30a960/GridWalker-1.0.1.zip" } ] }