{ "info": { "author": "Marius Pachitariu and Carsen Stringer", "author_email": "carsen.stringer@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# rastermap\n\nThis algorithm computes a 1D or 2D embedding of neural activity. It assumes that the spike matrix `S` is neurons by timepoints. We have a python 3 and a matlab implementation, and have a GUI for running it in the python implementation. See the [demos](demos/) for jupyter notebooks using it, and some example data. We also have a guided [tutorial](tutorial/) integrating suite2p, rastermap, and facemap in an attempt to understand visual cortical responses.\n\n![guigif](figs/rguifast.gif)\n\nHere is what the output looks like for a segment of a mesoscope recording (2.5Hz sampling rate) (sorted in neural space, but not time space):\n\n![rastersorted](figs/example.png)\n\nHere is what the output looks like for a recording of 64,000 neurons in a larval zebrafish (data [here](https://figshare.com/articles/Whole-brain_light-sheet_imaging_data/7272617/1), thanks to Chen, Mu, Hu, Kuan et al / Ahrens lab for sharing!). The upper left plot is the 2D embedding with boxes around clusters (which the user draws in the GUI). The plot on the right shows the activity of the clusters. The lower left plot is a Z-stack of the neurons in the tissue, colored according to their 2D position in the Rastermap embedding.\n\n![fishbrain](figs/fish_GUI3.png)\n\n## Installation\n\nYou can pip install the package:\n\n```\npip install rastermap\n```\n\nAnd then open the GUI with\n\n```\npython -m rastermap\n```\n\nYou can download the github folder and run the command inside the folder\n\nThis package was written for Python 3 and relies on the awesomeness of **numpy**, **scipy**, **PyQt5**, **PyQt5.sip** and **pyqtgraph**. You can pip install or conda install all of these packages. If having issues with **PyQt5**, then make an Anaconda environment and try to install within it.\n\n\n## Using (python) rastermap\n\n### Running in the GUI\n\nSave your data into an npy file that is just a matrix that is neurons x features. Then \"Load data matrix\" and choose this file. Next click \"Run embedding algorithm\" and run with TWO components if you want to visualize it in the GUI. See the parameters section to learn about the parameters.\n\n![runingui](figs/runingui.png)\n\nThe embedding will pop up in the GUI when it's done running, and save the embedding in the same folder as your data matrix with the name \"embedding.npy\".\n\n![guiex](figs/guiex.png)\n\nTo draw ROIs around points in the GUI, you draw multiple line segments and then resize them. The neurons' activity traces then show up on the right side of the GUI sorted along this \"line axis\" that you've drawn. To start drawing a line, hold down SHIFT and click for the first point, and keep clicking to make more segments. To end the segment, click WITHOUT holding down SHIFT. Then resize the box and click again to complete the ROI. Do NOT hold down the mouse, that will just drag you all over the place :) To update the plot on the right with the selected cells on the left, hit the SPACE key. You can delete the last ROI with the DELETE button, or delete a specific ROI by clicking inside that ROI and holding down ALT. You can save the ROIs you've drawn with the \"save ROIs\" button. They will save along with the embedding so you can reload the file with the \"Load processed data\" option.\n\n![guiroi](figs/guiroi.png)\n\nHow to load the embedding outside the GUI:\n\n```\nimport numpy as np\nmodel = np.load('embedding.npy')\nmodel = model.dict()\ny = model['embedding'] # neurons x n_components\n```\n\n\nNOTE: If you are using suite2p \"spks.npy\", then the GUI will automatically use the \"iscell.npy\" file in the same folder to subsample your recording with the chosen cells.\n\n### Running the code\n\nrastermap can be run the same way as the T-SNE embedding algorithm or other algorithms in scikit-learn. **Rastermap** is a class which has functions *fit*, *fit_transform*, and *transform* (embeds new points into original embedding).\n\n**(input should be n_samples x n_features like t-sne, etc)**\n\n```\n# >> from github <<\nimport sys\nsys.path.append('/media/carsen/DATA2/Github/rastermap/rastermap/')\nfrom mapping import Rastermap\n\n# >> from pip <<\nfrom rastermap import Rastermap\n\nmodel = Rastermap(n_components=1, n_X=30, nPC=200, init='pca')\n\n# fit does not return anything, it adds attributes to model\n# attributes: embedding, u, s, v, isort1\n\nmodel.fit(sp)\nplt.imshow(sp[model.isort1, :])\n\n# fit_transform returns embedding (upsampled cluster identities)\nembedding = model.fit_transform(sp)\n\n# transform can be used on new samples with the same number of features as sp\nembed2 = model.transform(sp2)\n```\n\n## Parameters\n\nRastermap first takes the specified PCs of the data, and then embeds them into n_X clusters. It returns upsampled cluster identities (n_X x upsamp). Clusters are also computed across Y (n_Y) and smoothed, to help with fitting.\n\n- **n_components** : int, optional (default: 2)\n dimension of the embedding space\n- **n_X** : int, optional (default: 40)\n size of the grid on which the Fourier modes are rasterized\n- **nPC** : nparray, int, optional (default: 400)\n how many of the top PCs to use during optimization\n- **alpha** : float, optional (default: 1.0)\n exponent of the power law enforced on component n as: 1/(K+n)^alpha\n- **K** : float, optional (default: 1.0)\n additive offset of the power law enforced on component n as: 1/(K+n)^alpha\n- **init** : initialization of algorithm (default: 'pca')\n can use 'pca', 'random', or a matrix n_samples x n_components\n\n## Outputs\n\nRastermap model has the following attributes after running 'fit':\n- **embedding** : array-like, shape (n_samples, n_components)\n Stores the embedding vectors.\n- **u,sv,v** : singular value decomposition of data S, potentially with smoothing\n- **isort1** : sorting along first dimension (n_samples) of matrix\n- **cmap** : correlation of each item with all locations in the embedding map (before upsampling)\n- **A** : PC coefficients of each Fourier mode\n\n\n## Requirements\n\nThis package was written for Python 3 and relies on **numpy** and **scipy**. The Python3.x Anaconda distributions will contain all the dependencies.\n\n## Matlab\n\nThe matlab version requires Matlab 2016a or later. If you want to use the GPU acceleration (useGPU=1), then you need an NVIDIA GPU and the Parallel Computing Toolbox. Otherwise, I don't think it requires any additional toolboxes, but please let me know if it does in the issues.\n\nThe matlab code needs to be cleaned up but the main function to call is `mapTmap.m`. This function is used in the example script `loadFromPython.m` (loads suite2p outputs, requires [npy-matlab](https://github.com/kwikteam/npy-matlab)).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MouseLand/rastermap", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "rastermap", "package_url": "https://pypi.org/project/rastermap/", "platform": "", "project_url": "https://pypi.org/project/rastermap/", "project_urls": { "Homepage": "https://github.com/MouseLand/rastermap" }, "release_url": "https://pypi.org/project/rastermap/0.1.2/", "requires_dist": [ "numpy (>=1.13.0)", "scipy", "pyqtgraph", "PyQt5", "PyQt5.sip", "matplotlib", "numba", "natsort" ], "requires_python": "", "summary": "Unsupervised clustering algorithm for 2D data", "version": "0.1.2" }, "last_serial": 5692082, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "8d8037116e778f0119e9caa98994030e", "sha256": "1d7e49e7f33308ed64ac9238f68cee2143ac7c15a9181e89eaaa58794d8bdecc" }, "downloads": -1, "filename": "rastermap-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8d8037116e778f0119e9caa98994030e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2482, "upload_time": "2018-08-21T14:05:21", "url": "https://files.pythonhosted.org/packages/76/f7/2abaf3621fb297847b99109987fb2b4d8738975d00f74fcb3925da9563f8/rastermap-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5bc208aa8b29cc4a0a9305538a4e50a2", "sha256": "5e3d70c88e771e874838928064a32e5b91a5525c0c213b746916987a36024653" }, "downloads": -1, "filename": "rastermap-0.0.1.tar.gz", "has_sig": false, "md5_digest": "5bc208aa8b29cc4a0a9305538a4e50a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 617140, "upload_time": "2018-08-21T14:05:22", "url": "https://files.pythonhosted.org/packages/13/4a/d78f3905b0e32543b29f541c7ed6193df6e2f2437f69d6d04e77352e6fed/rastermap-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "12f5df3309f6e7aa7121edc82164973a", "sha256": "fe360e831e509c5b202915f724c6c9e16d64fb6b8bbcfb9f3c3030de37430a51" }, "downloads": -1, "filename": "rastermap-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "12f5df3309f6e7aa7121edc82164973a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 79649, "upload_time": "2019-06-09T00:31:00", "url": "https://files.pythonhosted.org/packages/b0/5a/7c62327223282a4a5a16cfda95640882f39066a6a68397a2d72e04525af3/rastermap-0.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f41b631108c737433e3fefbdfa128c6", "sha256": "d15c74e22b9593ecc58c294bcd32c7ed3a6bddce9d7a8b8a27a38c40b6625ad9" }, "downloads": -1, "filename": "rastermap-0.0.10.tar.gz", "has_sig": false, "md5_digest": "2f41b631108c737433e3fefbdfa128c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53115, "upload_time": "2019-06-09T00:31:02", "url": "https://files.pythonhosted.org/packages/70/23/e6379dda9a972bcd78f4b563999a97c83679ebd0d5d3edf885a237855cea/rastermap-0.0.10.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "f2313559d7c897b1b7b38c798fab1aa6", "sha256": "8b95f01a5860a999109008ccdb1f9d85cef2a179bc78ead48e943e61086024c1" }, "downloads": -1, "filename": "rastermap-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f2313559d7c897b1b7b38c798fab1aa6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 604779, "upload_time": "2018-08-21T14:19:23", "url": "https://files.pythonhosted.org/packages/47/03/d7a1be2ff83a7ef4b2f6ea9d3890f85552e5c4f025acc8de103bc6526ebd/rastermap-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b8e29c4fdfa64fd2759838adf1cc8429", "sha256": "b720794613a1f764c069ada413d9ac9b730b5be71c9c5aa9b61213e728876e5a" }, "downloads": -1, "filename": "rastermap-0.0.2.tar.gz", "has_sig": false, "md5_digest": "b8e29c4fdfa64fd2759838adf1cc8429", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 618464, "upload_time": "2018-08-21T14:19:25", "url": "https://files.pythonhosted.org/packages/eb/72/fcc97a9beb92cddf5f9c1c4e92c8415b3f5d71812f325ac620fb0d3b608d/rastermap-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "aee6dd2cb5b992548dfa8ee70c539805", "sha256": "2e0eb00c60ec390d3a9dc276a9d48aa7575f2c568b7e5098602c770b34cc1ecb" }, "downloads": -1, "filename": "rastermap-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "aee6dd2cb5b992548dfa8ee70c539805", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 604732, "upload_time": "2018-08-21T14:38:31", "url": "https://files.pythonhosted.org/packages/ba/4f/994fd4aede5de1eb5d7d94d4a3598d60aae0988253ebd254a8749930ce04/rastermap-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d1ba80726a77a1390ee1e503a9a460c3", "sha256": "443a15fb55576dd2697db662789550dcf0abd1d6de4ddc006fcca33e5c5ff41a" }, "downloads": -1, "filename": "rastermap-0.0.3.tar.gz", "has_sig": false, "md5_digest": "d1ba80726a77a1390ee1e503a9a460c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 618443, "upload_time": "2018-08-21T14:38:32", "url": "https://files.pythonhosted.org/packages/b2/7a/060bef201952307f3ca033dc5ec3d2868b87f24a0b2bf20f217fb233ff35/rastermap-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "8fe7af8b4843260659bafca709a96d31", "sha256": "81e75d23b66ea87277c6f917a05d1ffb4c96220fbcf43c25a46ad683cc2d1634" }, "downloads": -1, "filename": "rastermap-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8fe7af8b4843260659bafca709a96d31", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 604771, "upload_time": "2018-08-21T15:05:15", "url": "https://files.pythonhosted.org/packages/48/2f/71a8bae65851ebd4fda9ccbaf793075ff82641a8a7dd428e122fd6b3a3a8/rastermap-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a6c5dc9d5f559714c926db55eef36bc", "sha256": "39b29317ab4e84417c83f1419b58ec44cfeaea4118a5781f439b58e75a0260d4" }, "downloads": -1, "filename": "rastermap-0.0.4.tar.gz", "has_sig": false, "md5_digest": "8a6c5dc9d5f559714c926db55eef36bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 618475, "upload_time": "2018-08-21T15:05:16", "url": "https://files.pythonhosted.org/packages/76/d4/804c43ddfa3021c1d1a150d0039ab0d5cb94c4b29533b5c6c988e39dad32/rastermap-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "02988c8ad9bc4c03d33bf4d2d1c785a6", "sha256": "c467f5594143508b18acb4acdbe1a63ca4132b564f4b8f824d0a3b9e2aa7b4da" }, "downloads": -1, "filename": "rastermap-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "02988c8ad9bc4c03d33bf4d2d1c785a6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22903, "upload_time": "2018-11-19T16:14:35", "url": "https://files.pythonhosted.org/packages/1d/66/51cb85c28357760953afe28a7281d43cdb0353eea19a5ac7c26537ec7c93/rastermap-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c8c158229800ce059cb786b74a2d3e6", "sha256": "a528a24761439f23e5c409173e24b85b4e32a0ce2b37e219b051d81828a0120a" }, "downloads": -1, "filename": "rastermap-0.0.5.tar.gz", "has_sig": false, "md5_digest": "7c8c158229800ce059cb786b74a2d3e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35745, "upload_time": "2018-11-19T16:14:37", "url": "https://files.pythonhosted.org/packages/0f/f9/8be54bb608ac92f4343a81cbc4ebdd8ed92968c109b9306afabdb03467b5/rastermap-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "c7a33e6a863fe11e67fced5d524c2f76", "sha256": "be3337bad18aed9bacc6a2416f66167fe0db2dacf03471415814b1a4beb9db54" }, "downloads": -1, "filename": "rastermap-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "c7a33e6a863fe11e67fced5d524c2f76", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 64257, "upload_time": "2019-02-26T18:17:52", "url": "https://files.pythonhosted.org/packages/11/86/b6521d2879d3abef132768a842f99e2e35fbb329d38ae545b32ded2a9325/rastermap-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4976a6fdceff46ac5121af4e3604a9a", "sha256": "bd8298f96cee9021f763a6a7bca92769c820289c6625c1b6a5da06299e7459c9" }, "downloads": -1, "filename": "rastermap-0.0.6.tar.gz", "has_sig": false, "md5_digest": "c4976a6fdceff46ac5121af4e3604a9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48189, "upload_time": "2019-02-26T18:17:54", "url": "https://files.pythonhosted.org/packages/64/e9/32b3f9fd0cb47fa8e70a0efe579dd478dff586f8b85ca06c53a35a508b40/rastermap-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "8fe226c59a6eee64cf685ff906dde765", "sha256": "15d39770710d2c7185df285e866d7d9e14e83e8f854b3d618701e6cb52456958" }, "downloads": -1, "filename": "rastermap-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "8fe226c59a6eee64cf685ff906dde765", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 64468, "upload_time": "2019-05-20T15:49:05", "url": "https://files.pythonhosted.org/packages/85/21/68dfe25d764a5af26a09d33ba0c572b135932b3eefc60029d530929800a0/rastermap-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4f061e9ea91689e81ee3fc4d287647a4", "sha256": "b64b297485967145ad845d47e7cdb27105a8ceaca23b0b19b2c9e715531ede5b" }, "downloads": -1, "filename": "rastermap-0.0.7.tar.gz", "has_sig": false, "md5_digest": "4f061e9ea91689e81ee3fc4d287647a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48583, "upload_time": "2019-05-20T15:49:07", "url": "https://files.pythonhosted.org/packages/c0/f1/2788798b2fa045a45f20e17ff37ebe5fbcdfcff46753592946e2471cceed/rastermap-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "9e4dec22c2a664e6f01b615556fcb782", "sha256": "156d4dcb5c7d91badcd707ab8c50e0cc59de4e8c10295191891a1ea4b6bbdfe9" }, "downloads": -1, "filename": "rastermap-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "9e4dec22c2a664e6f01b615556fcb782", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 76801, "upload_time": "2019-06-07T15:26:05", "url": "https://files.pythonhosted.org/packages/4b/25/c877af34c0f1459819e45763c9f2189dcb7fbe84b2f952536dff95257add/rastermap-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "577bf8bb0d7e7aa4775090192782b072", "sha256": "421bc1fd452866ac0277351b1b1dc63bb8ef39b6f41704399cf9990c0d5074eb" }, "downloads": -1, "filename": "rastermap-0.0.8.tar.gz", "has_sig": false, "md5_digest": "577bf8bb0d7e7aa4775090192782b072", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48503, "upload_time": "2019-06-07T15:26:06", "url": "https://files.pythonhosted.org/packages/7f/4b/38ef26147d7edfcd8f4447d5a3a9909dacc7c1694af7a5b2a2c6c9e2d241/rastermap-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "044c56f6aaa4c1d78133202188d71586", "sha256": "f297c013b866084b1848bef82844f13ada17d8a372178d2287f2fa31c1711466" }, "downloads": -1, "filename": "rastermap-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "044c56f6aaa4c1d78133202188d71586", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 78920, "upload_time": "2019-06-07T15:44:08", "url": "https://files.pythonhosted.org/packages/a3/cd/1bb7fac7eddb7126567e76a6f9bb4b12c337d3154a07e4aff80ac5039bbf/rastermap-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ebafe1f9efcfc57af7270cb5ce06251", "sha256": "04e3e1ce7b505c28ff489965b06d790fca131c70e922fc2409c2e626b2b134f7" }, "downloads": -1, "filename": "rastermap-0.0.9.tar.gz", "has_sig": false, "md5_digest": "8ebafe1f9efcfc57af7270cb5ce06251", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52587, "upload_time": "2019-06-07T15:44:09", "url": "https://files.pythonhosted.org/packages/13/af/8a90f91b7d3dfe071863cc83d04056eaaa42f118340e85c8aaf70bc453d1/rastermap-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "9a897019ec429ca189aba72c6f500437", "sha256": "f03b474544b92c4db20cd719800e0547e66fb4eb3415268d9351a60171f30b2d" }, "downloads": -1, "filename": "rastermap-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9a897019ec429ca189aba72c6f500437", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 79644, "upload_time": "2019-06-09T02:17:56", "url": "https://files.pythonhosted.org/packages/a5/30/ce33a134744d5b3025b7286faaa187423cb7f1e9067d53f1e78344bf97c3/rastermap-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c5ed9d5ce530f0c7750a7cec5398365", "sha256": "14bc45f8f58ad0ccc35308f7850313b23b93e008a62082560fe99de567a5d073" }, "downloads": -1, "filename": "rastermap-0.1.0.tar.gz", "has_sig": false, "md5_digest": "8c5ed9d5ce530f0c7750a7cec5398365", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53107, "upload_time": "2019-06-09T02:17:58", "url": "https://files.pythonhosted.org/packages/9a/d0/ba9784435275c6d8ef17fdeabb5b1075d6daa34acdb4ee3dea013273a50c/rastermap-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9682074b1788b21ff0d400b792063369", "sha256": "4d8734cd486dfb4d684b4d1ccb5797f10911f490fed040343e98b1271b25ce55" }, "downloads": -1, "filename": "rastermap-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9682074b1788b21ff0d400b792063369", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 79177, "upload_time": "2019-07-20T20:37:28", "url": "https://files.pythonhosted.org/packages/e3/72/b4e1c44ea7e3eb707bcc341bcd97efd9ccbbe20e1ea5e61ebf34358013fc/rastermap-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b932e49404ba9f5bab84d54a712c7c5", "sha256": "051f358fe3dbfd8f423cdf1e2e4e6faef22827e631d690dadcea402675a7c4e6" }, "downloads": -1, "filename": "rastermap-0.1.1.tar.gz", "has_sig": false, "md5_digest": "1b932e49404ba9f5bab84d54a712c7c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52785, "upload_time": "2019-07-20T20:37:29", "url": "https://files.pythonhosted.org/packages/3c/bd/7ea80fee04f6fba5392b51b68ab38107c437221da1d507216224cdd24228/rastermap-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "e2be83815ff4f6cb89025acc94d50ea0", "sha256": "1a1026d0a267ef2538c1eb45f50afb6cdc85efa8328678060d81c488533266bc" }, "downloads": -1, "filename": "rastermap-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e2be83815ff4f6cb89025acc94d50ea0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 80458, "upload_time": "2019-08-17T16:08:46", "url": "https://files.pythonhosted.org/packages/46/d1/bdf157e8b34742e269ca35903f6bd3474b301fcdc4cebcfef7bfe5cfae7a/rastermap-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45c6bafff624d42f0adb6f91185ac404", "sha256": "7bc6c98c84638394f0ff5814d6e85d4959b90b91b6a97ccb5151f4430064e9e4" }, "downloads": -1, "filename": "rastermap-0.1.2.tar.gz", "has_sig": false, "md5_digest": "45c6bafff624d42f0adb6f91185ac404", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53982, "upload_time": "2019-08-17T16:08:48", "url": "https://files.pythonhosted.org/packages/9b/ef/a813443c27cbe9fb59adb9a7c6a4d668df2791638dff6355286c69ed5598/rastermap-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e2be83815ff4f6cb89025acc94d50ea0", "sha256": "1a1026d0a267ef2538c1eb45f50afb6cdc85efa8328678060d81c488533266bc" }, "downloads": -1, "filename": "rastermap-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e2be83815ff4f6cb89025acc94d50ea0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 80458, "upload_time": "2019-08-17T16:08:46", "url": "https://files.pythonhosted.org/packages/46/d1/bdf157e8b34742e269ca35903f6bd3474b301fcdc4cebcfef7bfe5cfae7a/rastermap-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45c6bafff624d42f0adb6f91185ac404", "sha256": "7bc6c98c84638394f0ff5814d6e85d4959b90b91b6a97ccb5151f4430064e9e4" }, "downloads": -1, "filename": "rastermap-0.1.2.tar.gz", "has_sig": false, "md5_digest": "45c6bafff624d42f0adb6f91185ac404", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53982, "upload_time": "2019-08-17T16:08:48", "url": "https://files.pythonhosted.org/packages/9b/ef/a813443c27cbe9fb59adb9a7c6a4d668df2791638dff6355286c69ed5598/rastermap-0.1.2.tar.gz" } ] }