{ "info": { "author": "Cl\u00e1udio Rego, Hugo Martiniano, Vasco Pita", "author_email": "claudiojmrego@gmail.com, hugomartiniano@gmail.com, vasco.pitaf@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: End Users/Desktop", "Intended Audience :: Other Audience", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Artistic Software", "Topic :: Education", "Topic :: Multimedia :: Sound/Audio", "Topic :: Other/Nonlisted Topic", "Topic :: Software Development", "Topic :: Utilities" ], "description": "======\nMatriz\n======\n\n.. image:: https://badge.fury.io/py/matriz.png\n :target: http://badge.fury.io/py/matriz\n\n.. image:: https://badge.fury.io/py/matriz.svg\n :target: https://badge.fury.io/py/matriz\n\n\nMatriz is a `Networked Music Performance `_ software.\nThe intended use is allowing real time musical performance of artists in different locations through computer networks.\nThe name \"matriz\" is portuguese for \"matrix\" and is inspired on the light and sound matrixes used in music and theater settings.\n\n\nWhy?\n----\n\n* Tools like `jacktrip `_ are built\n to work in high bandwidth academic networks like the internet2 or GEANT networks.\n Matriz is built to offer the lowest latencies possible, while using the least bandwidth possible.\n This allows musicians to have low latency high quality music streaming using regular network connections.\n* For fun.\n\nFeatures\n--------\n\n* Low latency (using OPUS codec)\n* Easy to use and extend\n* Tested in live performances\n* Documentation: https://matriz.readthedocs.org.\n\n\nWhat?\n-----\n\nThe software is composed of two components, the client and the configuration server.\nThe client connects to the server over websockets and receives a list of all connected clients.\nAfter starting it's own RTSP stream with audio from the sound card, it spawns an RTSP client for all connected clients, forming a P2P streaming network.\nFor all connection or disconnection events, the client list is broadcasted to all connected clients, which open or close new RTSP clients as necessary.\nAudio is encoded with the OPUS codec, which allows for low bandwidth use and high quality sound, while keeping the latency to a minimum.\n\nThe system was used several times in live peformances, with three three groups of musicians.\nDistances between groups ranged from tens of meters (same building) to 150 to 400 km in the final performance.\nThe hardware used was a Raspberry pi 2 with a Focusrite Scarlet 2i2 USB sound card.\nThe resulting streams where broadcasted live at http://stress.fm.\nMore information, including recordings of the performances, can be obtained at the project website: http://matriz.stress.fm.\nFor any inquiries concerning the software or the project, contact us at info@stress.fm.\n\nInstallation\n------------\n\nPrerequisites\n.............\n\nIn both cases external dependencies must be installed for the program to work. For the client:\n\n* Jack\n* GStreamer, including the gst-rtsp-server package and Pyhton bindings\n* Python bindings for gobject-introspection libraries\n\nThese can be installed in Debian or Rapsbian whith the following command::\n\n $ echo \"deb http://matriz.stress.fm/deb_repo jessie main\" | sudo tee /etc/apt/sources.list.d/matriz.list\n $ curl http://matriz.stress.fm/deb_repo/matriz_deb.gpg.asc | sudo apt-key add -\n $ sudo apt-get update\n\n $ sudo apt-get install -y python-pip\\\n jackd2 \\\n python-gst-1.0 \\\n python-gi \\\n libgstrtspserver-1.0-0 \\\n gstreamer1.0-plugins-bad \\\n libgstreamer-plugins-bad1.0 \\\n gir1.2-gst-rtsp-server-1.0 \\\n python-dev \\\n libffi-dev\n\n # For the PI\n\n $ curl https://raw.githubusercontent.com/stressfm/matriz/master/config/etc-dbus-1-system.d-matriz_jackd.conf | sudo tee /etc/dbus-1/system.d/matriz_jackd.conf >/dev/null\n $ curl https://raw.githubusercontent.com/stressfm/matriz/master/config/boot-config.txt | sudo tee /boot/config.txt > /dev/null\n $ curl https://raw.githubusercontent.com/stressfm/matriz/master/config/boot-cmdline.txt | sudo tee /boot/cmdline.txt >/dev/null\n $ curl https://raw.githubusercontent.com/stressfm/matriz/master/config/supervisord.conf | sudo tee /etc/supervisord.conf >/dev/null\n $ for cpu in /sys/devices/system/cpu/cpu[0-9]*; do echo -n performance | sudo tee $cpu/cpufreq/scaling_governor; done\n $ sed -i \"$(wc -l /etc/rc.local | cut -d' ' -f1)i for cpu in /sys/devices/system/cpu/cpu[0-9]*; do echo -n performance > $cpu/cpufreq/scaling_governor; done\" /etc/rc.local\n $ sed -i \"$(wc -l /etc/rc.local | cut -d' ' -f1)i sudo mount -o remount,size=256M /dev/shm\" /etc/rc.local\n $ sudo pip install supervisor\n $ sed -i \"$(wc -l /etc/rc.local | cut -d' ' -f1)i supervisord -c /etc/supervisord.conf\" /etc/rc.local\n $ sudo reboot\n\n\nFor the server, if you want to stream the performance, you might want to install and configure:\n\n* liquidsoap (to receive and combine client streams)\n* icecast2 (to stream the combined audio from all clients)\n* GStreamer (to decode client streams)\n\nUsing PyPi\n..........\nTo install the program just to use the client::\n\n $ pip install matriz\n\nIn the machine where the server will run, server dependencies must be explicitly installed::\n\n $ pip install matriz[server]\n\nInstall Script for Raspberry Pi\n...............................\n\nOr simply run the following command which performs all the steps above (Raspberry Pi specific *DO NOT* use on other OS)::\n\n curl https://raw.githubusercontent.com/stressfm/matriz/master/scripts/install.sh | sudo bash -\n\nUsage\n-----\n\n\nClient\n......\n\nTo use the client open a shell and just type::\n\n $ matriz\n\nwithout arguments, to start the client. The program will try to read configuration options from a file\ncalled client.json in the same directory where the program was invoked.\nIf you want to use another filename, just give that as an argumento to the program::\n\n $ matriz \n\nAn example configuration file is in config/client.json:\n\n.. code-block:: json\n\n {\n \"key\": \"key1\",\n \"name\": \"porto\",\n \"url\": \"ws://localhost:5000/config\",\n \"interface\": \"eth0\",\n \"port\": 8554,\n \"client_pem\": \"fake_client.pem\",\n \"client_crt\": \"fake_client.crt\",\n \"ca_crt\": \"fake_ca.crt\"\n }\n\n`key:` supposed to be unique id for client\n`name:` some label identifying the client\n`url:` the configuration server url\n`interface:` network card to start de emitter on\n`port:` port for emitter to listen on\n`client_pem:` openssl key for secure websockets\n`client_crt:` openssl client certificate\n`ca_crt:` openssl server certificate\n\nTo get a list of command line arguments type::\n\n $ matriz -h\n\nServer\n......\nThe configuration server is just a single file Flask app (matriz/config_server.py). For deployment instructions consult the Flask documentation at http://flask.pocoo.org. The server will try to read configuration options from the file given in the\nMATRIZ_CONFIG_FILE environment variable or, if not set, from a file called clients.json in the same directory\nwhere the program was invoked. An example configuration file can be found in config/clients.json:\n\n.. code-block:: json\n\n\t{\n\t \"client_keys\": [\n\t\t{\"name\": \"porto\", \"key\": \"key1\"},\n\t\t{\"name\": \"montemor\", \"key\": \"key2\"},\n\t\t{\"name\": \"lisboa\", \"key\": \"key3\"},\n\t\t{\"name\": \"marte\", \"key\": \"key666\"}\n\t ],\n\t \"monitor_key\": {\"name\": \"monitor\", \"key\": \"monitorkey\"}\n\t}\n\nMisc\n....\n\nFor the software to work ports 8554 (TCP) and 8600-8700 (UDP) must be able accept incoming connections. This means you have to configure the gateways if you intend to use the software across the internet.\n\nPartners\n--------\n* Oficinas do Convento\n* Sonoscopia\n* Osso\n* Trienal de Arquitectura de Lisboa\n* Digit\u00f3pia - Casa da M\u00fasica\n* C\u00e2mara Municipal de Montemor-o-Novo.\n\nFunding\n-------\n* Dire\u00e7\u00e3o Geral das Artes.\n\n\n\n\nHistory\n-------\n\n0.1.0 (2016-05-19)\n---------------------\n\n* First release.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/stressfm/matriz", "keywords": "matriz,networked music performance", "license": "Type license() to see the full license text", "maintainer": "", "maintainer_email": "", "name": "matriz", "package_url": "https://pypi.org/project/matriz/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/matriz/", "project_urls": { "Homepage": "https://github.com/stressfm/matriz" }, "release_url": "https://pypi.org/project/matriz/0.2.7/", "requires_dist": [ "argparse (==1.2.1)", "decorator (==3.4.0)", "wheel (==0.24.0)", "backports.ssl-match-hostname (==3.5.0.1)", "six (==1.10.0)", "websocket-client (==0.35.0)", "wheel (==0.24.0)", "JACK-Client (==0.4.0)", "miniupnpc (==1.9)", "Flask; extra == 'server'", "Flask-uWSGI-WebSocket; extra == 'server'", "gevent; extra == 'server'", "greenlet; extra == 'server'", "itsdangerous; extra == 'server'", "Jinja2; extra == 'server'", "MarkupSafe; extra == 'server'", "uWSGI; extra == 'server'", "Werkzeug; extra == 'server'" ], "requires_python": "", "summary": "Networked Music Performance software", "version": "0.2.7" }, "last_serial": 2599758, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "64248b34b26830eab22c1977beae45d2", "sha256": "6c3c54fbf7bf488b78d1baf91b7faa063bca54726ad9ec2b969b79a0d39a811f" }, "downloads": -1, "filename": "matriz-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "64248b34b26830eab22c1977beae45d2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18832, "upload_time": "2016-06-02T18:02:58", "url": "https://files.pythonhosted.org/packages/76/ba/6e6b3537331e3416b85555b7b521a452812358541fcadf1f6070bcc1c86a/matriz-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0a0430307a21a8e04f85ac929d592529", "sha256": "ce4ad3183719fb72037a5173b90f921a49989ec6527d98776247c9435f466c43" }, "downloads": -1, "filename": "matriz-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0a0430307a21a8e04f85ac929d592529", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12739, "upload_time": "2016-06-02T18:02:10", "url": "https://files.pythonhosted.org/packages/c8/c2/30a21708dd1f9b9f01312fc46ba9045db8d1c11dacc46f56260f1911b5ba/matriz-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "1b5911143d53647992338f7883c1214e", "sha256": "ba8de54376c2629969fa6dbb4f152f35d8ead54403a423cf152cc6520104f581" }, "downloads": -1, "filename": "matriz-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1b5911143d53647992338f7883c1214e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18845, "upload_time": "2016-06-02T18:19:15", "url": "https://files.pythonhosted.org/packages/de/d6/f652d13bc4b4ac3ef6370816bdd98e7948112077c34b6bc15bbb9a3ad966/matriz-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "479eb9f63bc098e80dec5d0a540c6047", "sha256": "0ffc5106849eaa21d89b63d03883164fbf6bf380c4dabf3550ddd1096c5d2686" }, "downloads": -1, "filename": "matriz-0.1.1.tar.gz", "has_sig": false, "md5_digest": "479eb9f63bc098e80dec5d0a540c6047", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12762, "upload_time": "2016-06-02T18:19:24", "url": "https://files.pythonhosted.org/packages/75/39/af2015a3d26991247be155954ae9767d9a88af147a4db229820fa365982a/matriz-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "3aa9f0c3d1190bf4b1ce92d94229251a", "sha256": "39a0546560516f3a06dd8e43e47deb07608837148967b4bb94c24f8e11b710d9" }, "downloads": -1, "filename": "matriz-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3aa9f0c3d1190bf4b1ce92d94229251a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18870, "upload_time": "2016-06-02T18:22:12", "url": "https://files.pythonhosted.org/packages/d6/bf/46a420f5515030e954de9e6bdcc6dd9dec6f2f33987d924405047781a067/matriz-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "224ffdcbaf201947572a01744910561f", "sha256": "44ba21f217130f21b87efc73b8ac9bf86f4f850369b1873e4fcd36da680ac50d" }, "downloads": -1, "filename": "matriz-0.1.2.tar.gz", "has_sig": false, "md5_digest": "224ffdcbaf201947572a01744910561f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12776, "upload_time": "2016-06-02T18:22:18", "url": "https://files.pythonhosted.org/packages/65/5b/d8bda325a3d00d2edac84080dcaf85da3765eae5a54841b495a0908f85ad/matriz-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "362c39d30428e2b9daf952737142714b", "sha256": "893f5d5fcb8cfda0c163479db41beb8c975e56a91ac06e749f9f7f97d17f68d9" }, "downloads": -1, "filename": "matriz-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "362c39d30428e2b9daf952737142714b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19466, "upload_time": "2016-07-06T10:05:41", "url": "https://files.pythonhosted.org/packages/a2/c6/d90c2c2a4205e27658850bd9ff715ad66a5e8fc2640af01c67cc0c3b6a7c/matriz-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e2420a0d9a3fd8d403ec569ef4f22651", "sha256": "297e74f6b6ff8a416312e8c0b77ba8f7e95d163b8ec71850c9ce2655b9b495b2" }, "downloads": -1, "filename": "matriz-0.1.3.tar.gz", "has_sig": false, "md5_digest": "e2420a0d9a3fd8d403ec569ef4f22651", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13132, "upload_time": "2016-07-06T10:05:45", "url": "https://files.pythonhosted.org/packages/f2/be/1956966047cb9966cbd60654720bb7635b416478b6da280bafd6ca431a3c/matriz-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "b8dabe9af4bd3931b607372c6a3872bb", "sha256": "b585f5ae6d2f4feab73f864c37194a863c17bbed82c50e97933ce84422bce037" }, "downloads": -1, "filename": "matriz-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b8dabe9af4bd3931b607372c6a3872bb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19479, "upload_time": "2016-07-08T11:12:59", "url": "https://files.pythonhosted.org/packages/2b/80/c7ec324c02f152ca95b02609e0e39cdbd1447b150a069329473bf9022d71/matriz-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "042ac817f32f13b96e46edb1acfee244", "sha256": "9cd47e59c76fc66ea80ff6c31d802587aa41e7dbe3dcf7d59205442f5ae53ef3" }, "downloads": -1, "filename": "matriz-0.1.4.tar.gz", "has_sig": false, "md5_digest": "042ac817f32f13b96e46edb1acfee244", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13144, "upload_time": "2016-07-08T11:13:09", "url": "https://files.pythonhosted.org/packages/6d/57/bb976666359798619783dbad5875b1d67e3efca14f0410a769ccfddbe35c/matriz-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "7e0fb7a38b3882605055152b9e16660a", "sha256": "0c9e1a37b992f35ebbd23b0dc6788999b144475ae9d0c43a2272544c61a387cc" }, "downloads": -1, "filename": "matriz-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7e0fb7a38b3882605055152b9e16660a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19627, "upload_time": "2017-01-26T13:49:30", "url": "https://files.pythonhosted.org/packages/19/1d/cb2bbbb2c801001773fa24f37cda048d1d1336c6bc21f69a961be5151935/matriz-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56377b4b77a9123374f7dea842b34695", "sha256": "8b5571a2ebcdc8e9228e8017f83e3903d182d65f0bd5ff314819a090d1298f9c" }, "downloads": -1, "filename": "matriz-0.2.0.tar.gz", "has_sig": false, "md5_digest": "56377b4b77a9123374f7dea842b34695", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13273, "upload_time": "2017-01-26T13:49:31", "url": "https://files.pythonhosted.org/packages/70/a7/073829d95a187af011fae23c12bd031c1973e57e2e296a6526a766644603/matriz-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "77887898cda50a8403b62ef6205dd365", "sha256": "1153dfea416b7a3507ce33ee127874c64dcf681accbf2b2e69fe85ebb8cd7167" }, "downloads": -1, "filename": "matriz-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "77887898cda50a8403b62ef6205dd365", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19626, "upload_time": "2017-01-26T13:51:36", "url": "https://files.pythonhosted.org/packages/e6/33/99b56ad10021ae0ec2a7fc26626a6fc9ae3f7120d8a920f91d173087cbb6/matriz-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a54983b967ddc03419f1f8b009aa6257", "sha256": "636d5255b7c38d546289752b3b07b9b26394b60c9eed90844a299d9bd4072767" }, "downloads": -1, "filename": "matriz-0.2.1.tar.gz", "has_sig": false, "md5_digest": "a54983b967ddc03419f1f8b009aa6257", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13267, "upload_time": "2017-01-26T13:51:38", "url": "https://files.pythonhosted.org/packages/e0/89/7372bff8e3619fa2443a4d8d46fefbe05b34036841731c1d84bdcf1abebe/matriz-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "76dd1db69c6086da55ae485dccf8397d", "sha256": "fcaddf0f1400318bd520aa21943d83db68627dda818cca0f8b975ac87b65c2dc" }, "downloads": -1, "filename": "matriz-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "76dd1db69c6086da55ae485dccf8397d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19626, "upload_time": "2017-01-26T13:53:25", "url": "https://files.pythonhosted.org/packages/c3/ce/cc13834d07270f6a8d0593d9d889aaffc2f47c14d8a053f96974d685715a/matriz-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74c695bebd4b55b78c00bacc45c45c78", "sha256": "786820d3a795afe81f577002132ea0af3d6e53319cf52657715a9fdabc3f3761" }, "downloads": -1, "filename": "matriz-0.2.2.tar.gz", "has_sig": false, "md5_digest": "74c695bebd4b55b78c00bacc45c45c78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13261, "upload_time": "2017-01-26T13:53:28", "url": "https://files.pythonhosted.org/packages/5a/68/c00bfaf43fca2bcd15987abf2ad010010045a6031425493a0ac8d26160c3/matriz-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "dbf37f26b6d61b0ddde1fce86c0deb84", "sha256": "5c795a587298d65311c0db802e09d38bc9cb44cf0dc06382766363f857b0c152" }, "downloads": -1, "filename": "matriz-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dbf37f26b6d61b0ddde1fce86c0deb84", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19645, "upload_time": "2017-01-26T13:57:03", "url": "https://files.pythonhosted.org/packages/e4/48/02027fd5ede0f7d5aed75d778b15194b164f79b3676822ca8b3efd0c3759/matriz-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc9a1981ebb3958a82f22c89a694a25f", "sha256": "a1d65a49a1f2a7a3b237e4909955faa0296bd5a72126f36729a591bd562a6ad6" }, "downloads": -1, "filename": "matriz-0.2.3.tar.gz", "has_sig": false, "md5_digest": "fc9a1981ebb3958a82f22c89a694a25f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13292, "upload_time": "2017-01-26T13:57:05", "url": "https://files.pythonhosted.org/packages/ae/80/1425fd0fd07072f9dad8202f79cb911e275faa0cbaae4903e11895a2344d/matriz-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "363106424eccb769d302f025c08a3f66", "sha256": "77f091bfea036ac678cc966dbc3f2cb472605dc6b7041c7a0ce3c725cf7733ea" }, "downloads": -1, "filename": "matriz-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "363106424eccb769d302f025c08a3f66", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19646, "upload_time": "2017-01-26T13:58:01", "url": "https://files.pythonhosted.org/packages/3d/d5/51ff34e9dc9a89143c7a82b178508911499bacf9e17d16c8b55804479cfa/matriz-0.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f31591ffe51d98cedb9850e1d2c6d397", "sha256": "afcc9095e865180119cd8d8e108c203fa97a6873334aaa515a7e656810e242d2" }, "downloads": -1, "filename": "matriz-0.2.4.tar.gz", "has_sig": false, "md5_digest": "f31591ffe51d98cedb9850e1d2c6d397", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13283, "upload_time": "2017-01-26T13:58:04", "url": "https://files.pythonhosted.org/packages/b3/c0/ae17d4fd973d35ff0e13175aa93712a74861558e924771bc042adbb27cf7/matriz-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "26832016ff0db9ced265b0f1991bae5b", "sha256": "88270feec12f7dc99ad9ffbbf711e73d9330ec8ce2ddebcac7b746fea637a023" }, "downloads": -1, "filename": "matriz-0.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "26832016ff0db9ced265b0f1991bae5b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19643, "upload_time": "2017-01-26T13:59:29", "url": "https://files.pythonhosted.org/packages/9b/bb/cb1d303661a304a637dbcafab660390b866b4ceb9f55de61815adc66db90/matriz-0.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9e41c2411b9973e47bce01f09b81e9d2", "sha256": "61e32deb20eb2ebf81ef243cdf9c4fb44e717f820a82fa7fc86c57d58d8a0166" }, "downloads": -1, "filename": "matriz-0.2.5.tar.gz", "has_sig": false, "md5_digest": "9e41c2411b9973e47bce01f09b81e9d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13281, "upload_time": "2017-01-26T13:59:31", "url": "https://files.pythonhosted.org/packages/54/9b/51fb03fba94179a4aee78cb9288486be7a71edd3bf806539513f20e035b7/matriz-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "7f2b376c363deb9ab1963782ba5a18a7", "sha256": "8096cbed9479c956dd1fd2ec1728cbec9c2413eba451e6484465dc8d4aaf3ed8" }, "downloads": -1, "filename": "matriz-0.2.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7f2b376c363deb9ab1963782ba5a18a7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19659, "upload_time": "2017-01-26T14:03:34", "url": "https://files.pythonhosted.org/packages/45/e9/b364e0fee83daf578dce0eb29dfede8d9e0eab0ac48c4de287087dd357dc/matriz-0.2.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c4ff001f3ac192af92637d51a8b4e44", "sha256": "5476474a8a5190a6bded350ab8c4fa74d438d298ff8309bcd44678ce9e745ac9" }, "downloads": -1, "filename": "matriz-0.2.6.tar.gz", "has_sig": false, "md5_digest": "6c4ff001f3ac192af92637d51a8b4e44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13301, "upload_time": "2017-01-26T14:03:36", "url": "https://files.pythonhosted.org/packages/d4/4c/7fd45ae86fa1bfaac06800e5a0b101d155a1d75018ecdd103cf7bb1ec246/matriz-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "658974a1639fbb012e0fea2f05ddd986", "sha256": "1eab39fef96854bea44f2f55898523f3df485d991a13c1515b35c4b200114f0b" }, "downloads": -1, "filename": "matriz-0.2.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "658974a1639fbb012e0fea2f05ddd986", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19658, "upload_time": "2017-01-26T14:05:40", "url": "https://files.pythonhosted.org/packages/db/d3/a08fb388512fe02c58f724911af6ef9b5f018007485557b87211f3f99a8d/matriz-0.2.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "507682de446f91e59a40d6d3c00b7a47", "sha256": "ecac11a38cd730428529e5048cfd0bca02e036144631a341522efef71d6d3498" }, "downloads": -1, "filename": "matriz-0.2.7.tar.gz", "has_sig": false, "md5_digest": "507682de446f91e59a40d6d3c00b7a47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13301, "upload_time": "2017-01-26T14:05:42", "url": "https://files.pythonhosted.org/packages/ef/c2/3f8844a311179ac929e921e8b9ff5e496dc06256e65458e60db163e4f4f9/matriz-0.2.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "658974a1639fbb012e0fea2f05ddd986", "sha256": "1eab39fef96854bea44f2f55898523f3df485d991a13c1515b35c4b200114f0b" }, "downloads": -1, "filename": "matriz-0.2.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "658974a1639fbb012e0fea2f05ddd986", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19658, "upload_time": "2017-01-26T14:05:40", "url": "https://files.pythonhosted.org/packages/db/d3/a08fb388512fe02c58f724911af6ef9b5f018007485557b87211f3f99a8d/matriz-0.2.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "507682de446f91e59a40d6d3c00b7a47", "sha256": "ecac11a38cd730428529e5048cfd0bca02e036144631a341522efef71d6d3498" }, "downloads": -1, "filename": "matriz-0.2.7.tar.gz", "has_sig": false, "md5_digest": "507682de446f91e59a40d6d3c00b7a47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13301, "upload_time": "2017-01-26T14:05:42", "url": "https://files.pythonhosted.org/packages/ef/c2/3f8844a311179ac929e921e8b9ff5e496dc06256e65458e60db163e4f4f9/matriz-0.2.7.tar.gz" } ] }