{ "info": { "author": "Bjoern Thiel", "author_email": "bjoern.thiel@mpibpc.mpg.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: Microsoft :: Windows", "Programming Language :: C++", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering" ], "description": ".. _specpy_:\r\n\r\n==========================\r\nImspector Python Interface\r\n==========================\r\n\r\n.. role:: python(code)\r\n\r\nImspector comes with a Python Interface named SpecPy which can be used either \r\nfrom the embedded Python console or from an external Python console running on \r\nthe same computer (to enable sharing of measurement data) or even running on a \r\ndifferent computer. \r\n\r\n--------------------\r\nSetup\r\n--------------------\r\n\r\nTo setup SpecPy you first need to install\r\n\r\n- Python >= 3.5 together with\r\n- NumPy >= 1.10\r\n\r\nThen from the Command Prompt run\r\n\r\n.. code-block:: bat\r\n\r\n python.exe -m pip install --upgrade specpy\r\n\r\n--------------------\r\nStart\r\n--------------------\r\n\r\n- Working from an external Python console you need to start the Imspector \r\n Server (which requires Administrator priviliges the first time):\r\n\r\n.. image:: /images/specpy/imspector_run_server.png\r\n :width: 13 cm\r\n :align: center\r\n\r\n- To load the Python Interface just say\r\n\r\n.. code-block:: python\r\n\r\n from specpy import *\r\n\r\n--------------------\r\nInterface\r\n--------------------\r\n\r\nImspector\r\n====================\r\n\r\n.. code-block:: python\r\n\r\n Imspector()\r\n\r\nfirst tries to return a local Imspector object (living in the same process) or \r\nelse returns a proxy Imspector object connected to the Imspector Application \r\nrunning on `localhost`.\r\n\r\n.. code-block:: python\r\n\r\n Imspector(host)\r\n\r\nwhere :code:`host` is a host name returns a proxy Imspector object connected \r\nto the Imspector Application running on the corresponding host.\r\n\r\nIf :code:`imspector` is an Imspector object than\r\n\r\n.. code-block:: python\r\n\r\n imspector.host()\r\n\r\nreturns the name of the host the Imspector Application is running on or an \r\nempty string in case the Imspector object is local (living in the same process),\r\n\r\n.. code-block:: python\r\n\r\n imspector.version()\r\n\r\nreturns the current Imspector version,\r\n\r\n.. code-block:: python\r\n\r\n imspector.device_drivers()\r\n\r\nreturns the Imspector device drivers as a dictionary of name value pairs,\r\n\r\n.. code-block:: python\r\n\r\n imspector.parameters(path)\r\n\r\nwhere :code:`path` is of the form `device/.../parameter_name` returns the \r\ncorresponding Imspector parameter value (the empty path returns a dictionary of \r\nname value pairs of all parameters),\r\n\r\n.. code-block:: python\r\n\r\n imspector.set_parameters(path, value)\r\n\r\nwhere :code:`path` is of the form `device/.../parameter_name` and :code:`value` \r\nis a value, sets the corresponding Imspector parameter value (the empty path \r\nsets a dictionary of name value pairs of all parameters),\r\n\r\n.. code-block:: python\r\n\r\n imspector.state(path)\r\n\r\nwhere :code:`path` is of the form `device/.../state_name` returns the \r\ncorresponding Imspector state value (the empty path returns a dictionary of \r\nname value pairs of all states),\r\n\r\n.. code-block:: python\r\n\r\n imspector.set_state(path, value)\r\n\r\nwhere :code:`path` is of the form `device/.../state_name` and :code:`value` \r\nis a value, sets the corresponding Imspector state value (the empty path \r\nsets a dictionary of name value pairs of all states),\r\n\r\n.. code-block:: python\r\n\r\n imspector.measurement_names()\r\n\r\nreturns the list of names of all open measurements in Imspector,\r\n\r\n.. code-block:: python\r\n\r\n imspector.active_measurement()\r\n\r\nfor the currently active measurement in Imspector, returns the corresponding \r\nMeasurement object or throws a RuntimeError if no measurement is active,\r\n\r\n.. code-block:: python\r\n\r\n imspector.measurement(name)\r\n\r\nwhere :code:`name` is the name of an open measurement in Imspector, returns the \r\ncorresponding Measurement object,\r\n\r\n.. code-block:: python\r\n\r\n imspector.create_measurement()\r\n\r\ncreates an empty measurement in Imspector and returns the corresponding \r\nMeasurement object,\r\n\r\n.. code-block:: python\r\n\r\n imspector.open(path)\r\n\r\nwhere :code:`path` is the path to a measurement file, opens it in Imspector (if it is not already open) and \r\nreturns the corresponding Measurement object,\r\n\r\n.. code-block:: python\r\n\r\n imspector.activate(measurement)\r\n\r\nwhere :code:`measurement` is a Measurement object, activates the corresponding \r\nmeasurement in Imspector,\r\n\r\n.. code-block:: python\r\n\r\n imspector.start(measurement)\r\n\r\nwhere :code:`measurement` is a Measurement object, starts the corresponding \r\nmeasurement in Imspector and returns immediately,\r\n\r\n.. code-block:: python\r\n\r\n imspector.pause(measurement)\r\n\r\nwhere :code:`measurement` is a Measurement object, pauses the corresponding \r\nmeasurement in Imspector,\r\n\r\n.. code-block:: python\r\n\r\n imspector.stop(measurement)\r\n\r\nwhere :code:`measurement` is a Measurement object, stops the corresponding \r\nmeasurement in Imspector,\r\n\r\n.. code-block:: python\r\n\r\n imspector.run(measurement)\r\n\r\nwhere :code:`measurement` is a Measurement object, runs the corresponding \r\nmeasurement in Imspector (starts it and returns when it has finished),\r\n\r\n.. code-block:: python\r\n\r\n imspector.close(measurement)\r\n\r\nwhere :code:`measurement` is a Measurement object, closes the corresponding \r\nmeasurement in Imspector,\r\n\r\n.. code-block:: python\r\n\r\n imspector.active_stack()\r\n\r\nfor the currently active stack (from the currently active measurement) in \r\nImspector, returns the corresponding Stack object or throws a RuntimeError if no stack is active,\r\n\r\n.. code-block:: python\r\n\r\n imspector.connect_begin(callable, flag)\r\n\r\nwhere :code:`callable` is a callable Python object, connects it to the \r\ncorresponding begin signal in Imspector \r\n(if :code:`flag` is :code:`0` the begin of the whole measurement and \r\nif :code:`flag` if :code:`1` the begin of one measurement step),\r\n\r\n.. code-block:: python\r\n\r\n imspector.disconnect_begin(callable, flag)\r\n\r\nwhere :code:`callable` is a callable Python object, disconnects it from the \r\ncorresponding begin signal in Imspector \r\n(if :code:`flag` is :code:`0` the begin of the whole measurement and \r\nif :code:`flag` if :code:`1` the begin of one measurement step),\r\n\r\n.. code-block:: python\r\n\r\n imspector.connect_end(callable, flag)\r\n\r\nwhere :code:`callable` is a callable Python object, connects it to the \r\ncorresponding end signal in Imspector \r\n(if :code:`flag` is :code:`0` the end of the whole measurement and \r\nif :code:`flag` if :code:`1` the end of one measurement step),\r\n\r\n.. code-block:: python\r\n\r\n imspector.disconnect_end(callable, flag)\r\n\r\nwhere :code:`callable` is a callable Python object, disconnects it from the \r\ncorresponding end signal in Imspector \r\n(if :code:`flag` is :code:`0` the end of the whole measurement and \r\nif :code:`flag` if :code:`1` the end of one measurement step).\r\n\r\nMeasurement\r\n====================\r\n\r\nIf :code:`measurement` is a Measurement object than\r\n\r\n.. code-block:: python\r\n\r\n measurement.name()\r\n\r\nreturns the name of the measurement,\r\n\r\n.. code-block:: python\r\n\r\n measurement.number_of_configurations()\r\n\r\nreturns the number of configurations in the measurement,\r\n\r\n.. code-block:: python\r\n\r\n measurement.configuration_names()\r\n\r\nreturns the list of names of all configurations in the measurement,\r\n\r\n.. code-block:: python\r\n\r\n measurement.active_configuration()\r\n\r\nfor the currently active configuration in the measurement, returns the \r\ncorresponding Configuration object,\r\n\r\n.. code-block:: python\r\n\r\n measurement.configuration(position)\r\n\r\nwhere :code:`position` is in the range from zero to the number of \r\nconfigurations in the measurement minus one, returns the corresponding \r\nConfiguration object,\r\n\r\n.. code-block:: python\r\n\r\n measurement.configuration(name)\r\n\r\nwhere :code:`name` is one of the configuration names in the measurement, \r\nreturns the corresponding Configuration object,\r\n\r\n.. code-block:: python\r\n\r\n measurement.activate(configuration)\r\n\r\nwhere :code:`configuration` is a Configuration object, activates the \r\ncorresponding configuration in the measurement (if the measurement contains only one configuration, this configuration is activated by default),\r\n\r\n.. code-block:: python\r\n\r\n measurement.clone(configuration)\r\n\r\nwhere :code:`configuration` is a Configuration object, clones the \r\ncorresponding configuration in the measurement and activates and returns the \r\nclone,\r\n\r\n.. code-block:: python\r\n\r\n measurement.remove(configuration)\r\n\r\nwhere :code:`configuration` is a Configuration object, removes the \r\ncorresponding configuration in the measurement,\r\n\r\n.. code-block:: python\r\n\r\n measurement.parameters(path)\r\n\r\nwhere :code:`path` is of the form `device/.../parameter_name` returns the \r\ncorresponding measurement parameter value for the currently active \r\nconfiguration (the empty path returns a dictionary of name value pairs of all \r\nparameters),\r\n\r\n.. code-block:: python\r\n\r\n measurement.set_parameters(path, value)\r\n\r\nwhere :code:`path` is of the form `device/.../parameter_name` and :code:`value` \r\nis a value, sets the corresponding measurement parameter value for the \r\ncurrently active configuration (the empty path sets a dictionary of name value \r\npairs of all parameters),\r\n\r\n.. code-block:: python\r\n\r\n measurement.number_of_stacks()\r\n\r\nreturns the number of stacks in the measurement,\r\n\r\n.. code-block:: python\r\n\r\n measurement.stack_names()\r\n\r\nreturns the list of names of all stacks in the measurement,\r\n\r\n.. code-block:: python\r\n\r\n measurement.stack(position)\r\n\r\nwhere :code:`position` is in the range from zero to the number of stacks in the \r\nmeasurement minus one, returns the corresponding Stack object,\r\n\r\n.. code-block:: python\r\n\r\n measurement.stack(name)\r\n\r\nwhere :code:`name` is one of the stack names in the measurement, returns \r\nthe corresponding Stack object,\r\n\r\n.. code-block:: python\r\n\r\n measurement.create_stack(type, sizes)\r\n\r\nwhere :code:`type` is a NumPy `array data type \r\n`_ \r\nand :code:`sizes` is a list of exactly four sizes of dimensions, creates a new \r\nstack and returns the corresponding Stack object,\r\n\r\n.. code-block:: python\r\n\r\n measurement.update()\r\n\r\nredraws all corresponding stacks in Imspector \r\n(useful when the stack content was changed from Python),\r\n\r\n.. code-block:: python\r\n\r\n measurement.save_as(path[, compression])\r\n\r\nwhere :code:`path` is a file path and :code:`compression` is :code:`True` by \r\ndefault or :code:`False` saves it into a file.\r\n\r\nConfiguration\r\n====================\r\n\r\nIf :code:`configuration` is a Configuration object than\r\n\r\n.. code-block:: python\r\n\r\n configuration.name()\r\n\r\nreturns the name of the configuration,\r\n\r\n.. code-block:: python\r\n\r\n configuration.parameters(path)\r\n\r\nwhere :code:`path` is of the form `device/.../parameter_name` returns the \r\ncorresponding measurement parameter value for this configuration (the empty \r\npath returns a dictionary of name value pairs of all parameters),\r\n\r\n.. code-block:: python\r\n\r\n configuration.set_parameters(path, value)\r\n\r\nwhere :code:`path` is of the form `device/.../parameter_name` and :code:`value` \r\nis a value, sets the corresponding measurement parameter value for this \r\nconfiguration (the empty path sets a dictionary of name value pairs of all \r\nparameters),\r\n\r\n.. code-block:: python\r\n\r\n configuration.number_of_stacks()\r\n\r\nreturns the number of stacks in this configuration,\r\n\r\n.. code-block:: python\r\n\r\n configuration.stack_names()\r\n\r\nreturns the list of names of all stacks in this configuration,\r\n\r\n.. code-block:: python\r\n\r\n configuration.stack(position)\r\n\r\nwhere :code:`position` is in the range from zero to the number of stacks in the \r\nconfiguration minus one, returns the corresponding Stack object,\r\n\r\n.. code-block:: python\r\n\r\n configuration.stack(name)\r\n\r\nwhere :code:`name` is one of the stack names in this configuration, returns \r\nthe corresponding Stack object.\r\n\r\nFile\r\n====================\r\n\r\n.. code-block:: python\r\n\r\n File(path, mode)\r\n\r\nwhere :code:`path` is the path to an `.obf` or `.msr` file and :code:`mode` is \r\neither :code:`File.Read` or :code:`File.Write` or :code:`File.Append` opens it \r\nand returns the corresponding File object.\r\n\r\nIf :code:`file` is a File object than\r\n\r\n.. code-block:: python\r\n\r\n file.description()\r\n\r\nreturns the description of the file,\r\n\r\n.. code-block:: python\r\n\r\n file.set_description(string)\r\n\r\nwhere :code:`string` is a string sets the description of the file,\r\n\r\n.. code-block:: python\r\n\r\n file.number_of_stacks()\r\n\r\nreturns the number of stacks in the file,\r\n\r\n.. code-block:: python\r\n\r\n file.read(position)\r\n\r\nwhere :code:`position` is in the range from zero to the number of stacks in the \r\nfile minus one, reads and returns the corresponding Stack object,\r\n\r\n.. code-block:: python\r\n\r\n file.write(stack[, compression])\r\n\r\nwhere :code:`stack` is a Stack object and :code:`compression` is :code:`True` \r\nby default or :code:`False` writes it to the file,\r\n\r\n.. code-block:: python\r\n\r\n del file\r\n\r\ncloses it.\r\n\r\nStack\r\n====================\r\n\r\n.. code-block:: python\r\n\r\n Stack(array)\r\n\r\nwhere :code:`array` is a NumPy `array \r\n`_ returns a \r\nnew local Stack object with data values from the array.\r\n\r\n.. code-block:: python\r\n\r\n Stack(type, sizes)\r\n\r\nwhere :code:`type` is a NumPy `array data type \r\n`_ \r\nand :code:`sizes` is a list of sizes of all dimensions returns a new local \r\nStack object.\r\n\r\nIf :code:`stack` is a Stack object than\r\n\r\n.. code-block:: python\r\n\r\n stack.name()\r\n\r\nreturns the name of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.set_name(string)\r\n\r\nwhere :code:`string` is a string sets the name of the stack. If another stack in the same measurement already has the same name, suffixes of the form [1], [2], .. are added.\r\n\r\n.. code-block:: python\r\n\r\n stack.description()\r\n\r\nreturns the description of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.set_description(string)\r\n\r\nwhere :code:`string` is a string, sets the description of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.type()\r\n\r\nreturns the type of the stack elements as NumPy `array data type \r\n`_,\r\n\r\n.. code-block:: python\r\n\r\n stack.number_of_elements()\r\n\r\nreturns the number of elements of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.number_of_dimensions()\r\n\r\nreturns the number of dimensions of the stack (including singleton dimensions, i.e. a shortcut for :code:`len(stack.sizes())`),\r\n\r\n.. code-block:: python\r\n\r\n stack.size(dimension)\r\n\r\nwhere :code:`dimension` is one of the dimensions returns the corresponding size of the stack\r\n(the number of steps/positions in that dimension),\r\n\r\n.. code-block:: python\r\n\r\n stack.sizes()\r\n\r\nreturns the list of sizes of all dimensions of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.label(dimension)\r\n\r\nwhere :code:`dimension` is one of the dimensions returns the corresponding\r\nlabel of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.set_label(dimension, string)\r\n\r\nwhere :code:`dimension` is one of the dimensions and :code:`string` is a string \r\nsets the corresponding label of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.labels()\r\n\r\nreturns the list of labels of all dimensions of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.set_labels(strings)\r\n\r\nwhere :code:`strings` is a list of strings for all dimensions sets the \r\ncorresponding labels of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.length(dimension)\r\n\r\nwhere :code:`dimension` is one of the dimensions returns the corresponding\r\nlength of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.set_length(dimension, number)\r\n\r\nwhere :code:`dimension` is one of the dimensions and :code:`number` is a number \r\nsets the corresponding length of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.lengths()\r\n\r\nreturns the list of lengths of all dimensions of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.set_lengths(numbers)\r\n\r\nwhere :code:`numbers` is a list of numbers for all dimensions sets the \r\ncorresponding lengths of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.offset(dimension)\r\n\r\nwhere :code:`dimension` is one of the dimensions returns the corresponding\r\noffset of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.set_offset(dimension, number)\r\n\r\nwhere :code:`dimension` is one of the dimensions and :code:`number` is a number \r\nsets the corresponding offset of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.offsets()\r\n\r\nreturns the list of offsets of all dimensions of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.set_offsets(numbers)\r\n\r\nwhere :code:`numbers` is a list of numbers for all dimensions sets the \r\ncorresponding offsets of the stack,\r\n\r\n.. code-block:: python\r\n\r\n stack.data()\r\n\r\nreturns the data of the stack as a NumPy `array \r\n`_,\r\n\r\n.. code-block:: python\r\n\r\n stack.meta_data()\r\n\r\nreturns the meta data of the stack as a dictionary of name value pairs (amongst others the units of the pixels are given there and are valid for the pixel sizes and well as the stack lengths, i.e. the pixel sizes are the division of the stack lengths by the stack sizes).\r\n\r\n--------------------\r\nExamples\r\n--------------------\r\n\r\nChanges the exposure time of the sample camera.\r\n\r\n.. code-block:: python\r\n\r\n from specpy import *\r\n imspector = Imspector()\r\n measurement = imspector.active_measurement()\r\n time = measurement.parameters('SimCam/ExposureTime')\r\n measurement.set_parameters('SimCam/ExposureTime', 2*time)\r\n\r\nOpens a Stack and does some statistics.\r\n\r\n.. code-block:: python\r\n\r\n from specpy import *\r\n imspector = Imspector()\r\n measurement = imspector.open(r\"D:\\Data\\20120806_PD neurons Dioc.lif\")\r\n import numpy\r\n threshold = 410\r\n # file = open('output.txt', 'w')\r\n for name in measurement.stack_names() :\r\n stack = measurement.stack(name)\r\n data = stack.data()\r\n mean = data.mean()\r\n standard_deviation = data.std()\r\n print name, mean, standard_deviation\r\n # print >> file, name, mean, standard_deviation\r\n masked_data = numpy.ma.masked_less(data, threshold)\r\n mean = masked_data.mean()\r\n standard_deviation = masked_data.std()\r\n print name, mean, standard_deviation\r\n # print >> file, name, mean, standard_deviation\r\n numpy.putmask(data, data < threshold, 4095)\r\n\r\n # file.close()", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://imspector.mpibpc.mpg.de/documentation/specpy.html", "keywords": "Imspector", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "specpy", "package_url": "https://pypi.org/project/specpy/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/specpy/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://imspector.mpibpc.mpg.de/documentation/specpy.html" }, "release_url": "https://pypi.org/project/specpy/1.2.1/", "requires_dist": null, "requires_python": null, "summary": "Python Interface for Imspector", "version": "1.2.1" }, "last_serial": 2685505, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "457ef855288b014e13a9ef83f00cb4cc", "sha256": "c8eec174e4cd8e3d653ef0f83041d5cc648532f307b45587c25d9f641c39feea" }, "downloads": -1, "filename": "specpy-1.0.0-cp27-none-win32.whl", "has_sig": false, "md5_digest": "457ef855288b014e13a9ef83f00cb4cc", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 959750, "upload_time": "2015-02-17T15:55:02", "url": "https://files.pythonhosted.org/packages/84/cf/48758b8c0c84047507de37c2662ac47e270bbbdfb9b560bb58423f536ad8/specpy-1.0.0-cp27-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "68251952f2d492ee32c68a5b88ac8753", "sha256": "dabeeba71b08ddbbbd8a76cf5a58b2045261c5ad1caa57755faf82dcedf3a243" }, "downloads": -1, "filename": "specpy-1.0.0-cp27-none-win_amd64.whl", "has_sig": false, "md5_digest": "68251952f2d492ee32c68a5b88ac8753", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 1351161, "upload_time": "2015-02-17T15:58:18", "url": "https://files.pythonhosted.org/packages/cf/56/0181a417bc8f34222fe32a2c4b3d7dceebff07f4dad0fa3607be2d84b3c9/specpy-1.0.0-cp27-none-win_amd64.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "6ff628fbe82ca3ab175d9c1936f28e66", "sha256": "3316cfae7c08f2cccd5dc6a03c52bd9003f04610f9fe8f838994ae490430a6e4" }, "downloads": -1, "filename": "specpy-1.0.1-cp27-none-win32.whl", "has_sig": false, "md5_digest": "6ff628fbe82ca3ab175d9c1936f28e66", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 959389, "upload_time": "2015-02-17T19:33:49", "url": "https://files.pythonhosted.org/packages/a4/c4/df7f8fe7133d17976f7efe6a6e5800707e85d28f785c47c18967d06d4e0c/specpy-1.0.1-cp27-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "68e8576898fa7ff15d9c4a05d312f189", "sha256": "ed0c5d097f59ba64d8f13fc455e821a6bd47789fc45315340b8ff60648a063fa" }, "downloads": -1, "filename": "specpy-1.0.1-cp27-none-win_amd64.whl", "has_sig": false, "md5_digest": "68e8576898fa7ff15d9c4a05d312f189", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 1350813, "upload_time": "2015-02-17T19:35:59", "url": "https://files.pythonhosted.org/packages/3a/a1/02392aacb9efef7e2ad61c7dd74d30d738b23d89a9ac2471daff46b5ff4e/specpy-1.0.1-cp27-none-win_amd64.whl" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "e7e243a784cccc7589a4e4cdc0f6e4d0", "sha256": "a62af8e458f5b2e169207097b9433297502ed347fadb60b9be7c161da1920c7e" }, "downloads": -1, "filename": "specpy-1.0.2-cp27-none-win32.whl", "has_sig": false, "md5_digest": "e7e243a784cccc7589a4e4cdc0f6e4d0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 959241, "upload_time": "2015-02-25T16:17:28", "url": "https://files.pythonhosted.org/packages/c8/04/29e68047fb40b9790379af9ad28d22ad6dbed9493752140367c5a84ce67c/specpy-1.0.2-cp27-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "3046194b31304916ddfa474f50679630", "sha256": "5f362900cb0a7815dde4c9228fd6e427fcf475ac7fd62a28a972125538e6dccd" }, "downloads": -1, "filename": "specpy-1.0.2-cp27-none-win_amd64.whl", "has_sig": false, "md5_digest": "3046194b31304916ddfa474f50679630", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 1350889, "upload_time": "2015-02-25T16:17:57", "url": "https://files.pythonhosted.org/packages/c3/6e/de53812344d60e902b0db4babd690c305286cc6bb5ce57d5486a72de694d/specpy-1.0.2-cp27-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "1ce3590cae405780a6e993834fa13245", "sha256": "46b1a8a2885422f4d71431a6435d25989343f1df6402194907aa92f57ae56b06" }, "downloads": -1, "filename": "specpy-1.0.2-cp34-none-win32.whl", "has_sig": false, "md5_digest": "1ce3590cae405780a6e993834fa13245", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 1117875, "upload_time": "2015-02-25T16:18:24", "url": "https://files.pythonhosted.org/packages/eb/6f/f643ac877eb62b70817550610a8f625b066c4b7e72bc3a3bd8ec3ad5a9ff/specpy-1.0.2-cp34-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "0054082ff6b8fc8de93dceff0925ca69", "sha256": "693ea2cc9149249b48e4c9f35c48d044bc25fbbdc4a07ce12d117f80bc97e954" }, "downloads": -1, "filename": "specpy-1.0.2-cp34-none-win_amd64.whl", "has_sig": false, "md5_digest": "0054082ff6b8fc8de93dceff0925ca69", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 1201407, "upload_time": "2015-02-25T16:18:37", "url": "https://files.pythonhosted.org/packages/a7/25/22ea453802a4feb7bb3c76400a705f3c09aeebe11e2254595d98c6f5a0d2/specpy-1.0.2-cp34-none-win_amd64.whl" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "0c4d1f6743bfc3c4a0cda9a66f18b618", "sha256": "a55cae90182c7208d93a8e3a4f8ab41d0034419fa71102464154bd7fd4d80e0e" }, "downloads": -1, "filename": "specpy-1.0.3-cp27-none-win32.whl", "has_sig": false, "md5_digest": "0c4d1f6743bfc3c4a0cda9a66f18b618", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 959939, "upload_time": "2015-03-13T14:47:14", "url": "https://files.pythonhosted.org/packages/9d/85/9dc2e22dd945e3926d5d415a52ee7d611810c5d8459d93d853056001c292/specpy-1.0.3-cp27-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "8da46ab4f023dd61fb0cbb46485b3e9a", "sha256": "d6bfd8c17cd1f3a7245ac70435cb466f32a7e62d132c59faaa5e7c1a05044fe9" }, "downloads": -1, "filename": "specpy-1.0.3-cp27-none-win_amd64.whl", "has_sig": false, "md5_digest": "8da46ab4f023dd61fb0cbb46485b3e9a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 1351349, "upload_time": "2015-03-13T14:52:30", "url": "https://files.pythonhosted.org/packages/e8/8f/2a17c55b7ea6a2bc238e436b24520877c998b16d4a2d00333690e746ecff/specpy-1.0.3-cp27-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "26ef24e3d97f2f80f52d3d7c6f7ce080", "sha256": "cb1a6d0ff35e244a8ed3797579689f6bfb0287b32e68826b276e7ce7f38239aa" }, "downloads": -1, "filename": "specpy-1.0.3-cp34-none-win32.whl", "has_sig": false, "md5_digest": "26ef24e3d97f2f80f52d3d7c6f7ce080", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 1118021, "upload_time": "2015-03-13T14:56:46", "url": "https://files.pythonhosted.org/packages/01/23/2a9cbaa64ae963d7fa70cb43ddaa50b45021dc152993766f531a23b956cd/specpy-1.0.3-cp34-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "ee7a86c354da45d4cc9d5f1253ec8cc2", "sha256": "1be57608a02fc0ccc8493456d157b592b3422302067d66dbddc7554b766b5e70" }, "downloads": -1, "filename": "specpy-1.0.3-cp34-none-win_amd64.whl", "has_sig": false, "md5_digest": "ee7a86c354da45d4cc9d5f1253ec8cc2", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 1201903, "upload_time": "2015-03-13T14:59:40", "url": "https://files.pythonhosted.org/packages/6a/e0/5386b077c68e1afbf586f017a8139f126f6ce4c888f616d4ae44cf8b3509/specpy-1.0.3-cp34-none-win_amd64.whl" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "e43f281ab6af32a96519764aa1807c2e", "sha256": "796f0b1d4864fdd261238f044e5d1615ea28aadf142fd9e709f929a045eaca35" }, "downloads": -1, "filename": "specpy-1.1.0-cp27-none-win32.whl", "has_sig": false, "md5_digest": "e43f281ab6af32a96519764aa1807c2e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3036734, "upload_time": "2015-10-08T14:12:27", "url": "https://files.pythonhosted.org/packages/53/78/86e2ad83566d7e7d4bba1ad0a87aa4d3fb9603a471052fa1b6492f66e69e/specpy-1.1.0-cp27-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "2dfda745391c5666d88e441302fbc3cb", "sha256": "d53798e6db5ae3ff70d86efb75ce822be755441aada5f75dc13408ce99d25dcb" }, "downloads": -1, "filename": "specpy-1.1.0-cp27-none-win_amd64.whl", "has_sig": false, "md5_digest": "2dfda745391c5666d88e441302fbc3cb", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3777237, "upload_time": "2015-10-08T14:06:47", "url": "https://files.pythonhosted.org/packages/40/2d/ac59deb5b93dc2cd71dc0116011c4b4d0664168800513b5b61cdaacb242e/specpy-1.1.0-cp27-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "23cf7cd9b03e1c8de230ab13fa9b1e89", "sha256": "55c7ca26ddfe33b1cd94a6b59096e2681b4e87a2c66bded61aed8b09eaa6fe0d" }, "downloads": -1, "filename": "specpy-1.1.0-cp34-none-win32.whl", "has_sig": false, "md5_digest": "23cf7cd9b03e1c8de230ab13fa9b1e89", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 3231479, "upload_time": "2015-10-08T13:59:51", "url": "https://files.pythonhosted.org/packages/ee/68/fe146b0a5892b4a3e9ba379557dcd3fbe703db5bba9a1c4477f36f4c08e3/specpy-1.1.0-cp34-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "ce7800353a200a71fcebcc2b57196c73", "sha256": "bb03884b3979b9fcd24c5095aa7c6a586149b96e07cf3ed6e84ca63a8e935310" }, "downloads": -1, "filename": "specpy-1.1.0-cp34-none-win_amd64.whl", "has_sig": false, "md5_digest": "ce7800353a200a71fcebcc2b57196c73", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 3654709, "upload_time": "2015-10-08T13:54:28", "url": "https://files.pythonhosted.org/packages/00/9e/c22580b9716d0323c5c69cf1043b862a5bc03782bfbbf88983fdc2e761f2/specpy-1.1.0-cp34-none-win_amd64.whl" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "756bf7d4562f4e015e43fe8e062cb4cf", "sha256": "4cf294c425c3988a94d03cbddb9f4a768d84d89b6faf6b19a478cd9bc6ca47d6" }, "downloads": -1, "filename": "specpy-1.1.1-cp27-none-win32.whl", "has_sig": false, "md5_digest": "756bf7d4562f4e015e43fe8e062cb4cf", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3059160, "upload_time": "2015-11-06T15:57:13", "url": "https://files.pythonhosted.org/packages/5c/e7/07f53be44837cb5f553086adf46f417b9ec80a2177249ffd008def7c2b52/specpy-1.1.1-cp27-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "79e2d056c8bc5313b4421e3a8bc0b8ac", "sha256": "ad9d4beacf061839cc13ea82f70a4275a42df344f5463decb6edf0cacd5471f0" }, "downloads": -1, "filename": "specpy-1.1.1-cp27-none-win_amd64.whl", "has_sig": false, "md5_digest": "79e2d056c8bc5313b4421e3a8bc0b8ac", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3805483, "upload_time": "2015-11-06T16:17:23", "url": "https://files.pythonhosted.org/packages/42/e1/7b35481632b66f750980a2a5e95512cc85a3fa1b6e3b8f26b4d6bddc374a/specpy-1.1.1-cp27-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "d260a27186e7972e8e89d32bcd5cef8b", "sha256": "bf36976bbf15d5645abd22ffec4480a1bd07f216611fc5ed97702ab633ba3130" }, "downloads": -1, "filename": "specpy-1.1.1-cp34-none-win32.whl", "has_sig": false, "md5_digest": "d260a27186e7972e8e89d32bcd5cef8b", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 3262923, "upload_time": "2015-11-06T16:21:36", "url": "https://files.pythonhosted.org/packages/cf/b7/7a1d5fff8e049e2877f04afe75e24968b989070db5319ab10ee1e693aff2/specpy-1.1.1-cp34-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "2a12da6a46b77ee36ddd61eb82eb1518", "sha256": "b396a670d55a70293c9178f461e49979f5cf02ac96d87d33a2fc9019e4d5e7be" }, "downloads": -1, "filename": "specpy-1.1.1-cp34-none-win_amd64.whl", "has_sig": false, "md5_digest": "2a12da6a46b77ee36ddd61eb82eb1518", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 3693246, "upload_time": "2015-11-06T16:25:06", "url": "https://files.pythonhosted.org/packages/a3/76/676ae7b50aca3561d5380f9c124a0f38cb25b76ef5417027f885ca4140e8/specpy-1.1.1-cp34-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "f68c647c4778e071e7583acf701b621f", "sha256": "fa3566a124beee8aa5c6234e613d63928bc6e388d24edd9e4595f762a72711a2" }, "downloads": -1, "filename": "specpy-1.1.1-cp35-none-win32.whl", "has_sig": false, "md5_digest": "f68c647c4778e071e7583acf701b621f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 3027244, "upload_time": "2015-11-06T16:49:23", "url": "https://files.pythonhosted.org/packages/74/a5/661f1eb30eb5b7ff8e47caea482a73d31721766b49a77432eb0a32b6ad23/specpy-1.1.1-cp35-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "eba90b3ca8d89e744bd27444c4be9d41", "sha256": "3ca30345da516fa7a9782c26b23df3917c11afeed6b1ba555075172196539576" }, "downloads": -1, "filename": "specpy-1.1.1-cp35-none-win_amd64.whl", "has_sig": false, "md5_digest": "eba90b3ca8d89e744bd27444c4be9d41", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 5064786, "upload_time": "2015-11-06T16:51:37", "url": "https://files.pythonhosted.org/packages/06/79/e4b56775b8b567105d41a43678a19ffe62d483618f2a5e0a283f3c1786f3/specpy-1.1.1-cp35-none-win_amd64.whl" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "ef08faec8537889551d86aba1370f734", "sha256": "6917b5f7c2cc61b1ddcadc9db3a27a6207f7219f18f9edc5862fd401f82ee5f7" }, "downloads": -1, "filename": "specpy-1.1.2-cp27-none-win32.whl", "has_sig": false, "md5_digest": "ef08faec8537889551d86aba1370f734", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3059170, "upload_time": "2015-11-09T14:40:36", "url": "https://files.pythonhosted.org/packages/33/e1/6b5cf1da5f9e138acb1be7e4e35be5dec7c6219b63a55b4c3c77114d50e8/specpy-1.1.2-cp27-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "366d600ff970c8f482c9d468d285d7a2", "sha256": "6306b73ec045834738d407f93a9587d20701d52a76c2c9c69185752cb33fd74c" }, "downloads": -1, "filename": "specpy-1.1.2-cp27-none-win_amd64.whl", "has_sig": false, "md5_digest": "366d600ff970c8f482c9d468d285d7a2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3805496, "upload_time": "2015-11-09T14:44:29", "url": "https://files.pythonhosted.org/packages/03/63/f1aa1db2992f176b6e2592a2dfe586917eac128a7e6e34d5be0aaf42d318/specpy-1.1.2-cp27-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "b54e2c91d8fb6e35a3d4a069dde6f787", "sha256": "31a350cdc8e1820e19765beaa53c28fc21069bec9c2589cfb6e82c4a1f7e1dab" }, "downloads": -1, "filename": "specpy-1.1.2-cp34-none-win32.whl", "has_sig": false, "md5_digest": "b54e2c91d8fb6e35a3d4a069dde6f787", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 3262925, "upload_time": "2015-11-09T14:49:15", "url": "https://files.pythonhosted.org/packages/a4/32/ef2e21d0e0b4ed2e7a3df6c12c2450d6d97c3a6a42bd20de724f52b0e436/specpy-1.1.2-cp34-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "bc4da82d492f91bda7a808d9c808fdde", "sha256": "768df7ee7e8ce31df4c00be5442e027e3d8615b55121b07010005a9dec7014a6" }, "downloads": -1, "filename": "specpy-1.1.2-cp34-none-win_amd64.whl", "has_sig": false, "md5_digest": "bc4da82d492f91bda7a808d9c808fdde", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 3693246, "upload_time": "2015-11-09T14:54:26", "url": "https://files.pythonhosted.org/packages/39/46/d8d7c86b5c4fc467147a7e56d4ae92db9d634926a5c83cb704415247a91c/specpy-1.1.2-cp34-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "7ed1aa1a24db2173f725a5e786c4615d", "sha256": "07e4afbe7c9edebba5f426fd2ab34a025ddfa81345bbb8d16c0e8e720be555cc" }, "downloads": -1, "filename": "specpy-1.1.2-cp35-none-win32.whl", "has_sig": false, "md5_digest": "7ed1aa1a24db2173f725a5e786c4615d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 3027244, "upload_time": "2015-11-09T14:59:37", "url": "https://files.pythonhosted.org/packages/5a/0a/a321d623ae7be3264fb32b22b9ba7177c0a5e2af37afa3ef3388038dfc64/specpy-1.1.2-cp35-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "145a4e0122bc0cd1cc15b362e80ad7e9", "sha256": "d3f76ed043f2f22f13df8efdbe4e14fb1f7e5441ab9c30ea14d3578389015b30" }, "downloads": -1, "filename": "specpy-1.1.2-cp35-none-win_amd64.whl", "has_sig": false, "md5_digest": "145a4e0122bc0cd1cc15b362e80ad7e9", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 3634196, "upload_time": "2015-11-09T15:04:28", "url": "https://files.pythonhosted.org/packages/9e/69/158aaf8cdcaa0872e1a324ed93fe2908416e3ca5138d2de90d17fcc8bb77/specpy-1.1.2-cp35-none-win_amd64.whl" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "8b48afb8e7976cf3a62839c50f6e961b", "sha256": "c5e980e85ba4b7f47c84958239dde2da31b1542e1be5fc86b6a824ea3f967900" }, "downloads": -1, "filename": "specpy-1.1.3-cp27-none-win32.whl", "has_sig": false, "md5_digest": "8b48afb8e7976cf3a62839c50f6e961b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3217599, "upload_time": "2015-11-13T09:53:57", "url": "https://files.pythonhosted.org/packages/cf/2e/9655e4190df6fac553b3e9a3012135c05b883368da104c11e721f6d0818b/specpy-1.1.3-cp27-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "7244a70584ddb3303be207674afadbab", "sha256": "174c7e475e6f2f5340bac560153f92ed8fd8954d826ae4ae8fd2a413f111c9a9" }, "downloads": -1, "filename": "specpy-1.1.3-cp27-none-win_amd64.whl", "has_sig": false, "md5_digest": "7244a70584ddb3303be207674afadbab", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4025559, "upload_time": "2015-11-13T12:16:09", "url": "https://files.pythonhosted.org/packages/8f/88/9d76d19ff62fd7246f8afd138196108e0d0f523dc9809f1b37acaa859c5f/specpy-1.1.3-cp27-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "619e77482823cac7bc4dbfccdb3625dd", "sha256": "8169450f566953fb09cd4a8d24e939cc6cc6fe2d1d278d35d72570656b584d4c" }, "downloads": -1, "filename": "specpy-1.1.3-cp34-none-win32.whl", "has_sig": false, "md5_digest": "619e77482823cac7bc4dbfccdb3625dd", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 3398156, "upload_time": "2015-11-13T12:19:57", "url": "https://files.pythonhosted.org/packages/0f/5e/7de9cb1f79e3f8e1a852b343807cdac46f4131ef30257d3b42fc282b0ad9/specpy-1.1.3-cp34-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "184145685df6dfe0095514cc598f61f0", "sha256": "37ae5f1ec902add7d4327f46133f3f1fcb2cc3a4478fd646a873d12f356b82ab" }, "downloads": -1, "filename": "specpy-1.1.3-cp34-none-win_amd64.whl", "has_sig": false, "md5_digest": "184145685df6dfe0095514cc598f61f0", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 3869544, "upload_time": "2015-11-13T12:23:39", "url": "https://files.pythonhosted.org/packages/04/3b/a5f9c4aaab855290c652c4f26aa04c86738409afcaafa1f683a676e87925/specpy-1.1.3-cp34-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "b11abaa0c0e4afac3b3ae6397beabef4", "sha256": "4284dac101e25717e510ab997048caad2333a1ea04d8737e5e6ba906786f8623" }, "downloads": -1, "filename": "specpy-1.1.3-cp35-none-win32.whl", "has_sig": false, "md5_digest": "b11abaa0c0e4afac3b3ae6397beabef4", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 3184792, "upload_time": "2015-11-13T13:39:54", "url": "https://files.pythonhosted.org/packages/6d/4a/e929ec24d9e09f54d24d1e5b09446c754ee8da465ba452136e14ed0d8793/specpy-1.1.3-cp35-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "90b7441c2ee7920dd7d10acd69f0ba06", "sha256": "348b69782ac28a4e9546fde2811c3d008a92bc7101f1e4a4217f11e83631604a" }, "downloads": -1, "filename": "specpy-1.1.3-cp35-none-win_amd64.whl", "has_sig": false, "md5_digest": "90b7441c2ee7920dd7d10acd69f0ba06", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 3837979, "upload_time": "2015-11-13T13:42:34", "url": "https://files.pythonhosted.org/packages/fa/dd/9dea2eef886bfae2ac7da959ea437560760f0f2f54ada0400f638388845e/specpy-1.1.3-cp35-none-win_amd64.whl" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "75ac7e60856a3ca620b889a85f032b46", "sha256": "30f8274c1ab1ce374d8f1f5d17478202c4b3b4432fea05ebdf4547604d2cef4a" }, "downloads": -1, "filename": "specpy-1.1.4-cp27-none-win32.whl", "has_sig": false, "md5_digest": "75ac7e60856a3ca620b889a85f032b46", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3225847, "upload_time": "2015-12-07T13:54:17", "url": "https://files.pythonhosted.org/packages/80/11/81166ccef00d634075bf2ed620b70c9c6e0443a3d93ac44111d30d5e33c4/specpy-1.1.4-cp27-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "0bd894d1b1b5c0600040a19d94169fad", "sha256": "1f24af16061e78f4a3fdd075db229f5d23f8da5714f43519907586b6deb6f904" }, "downloads": -1, "filename": "specpy-1.1.4-cp27-none-win_amd64.whl", "has_sig": false, "md5_digest": "0bd894d1b1b5c0600040a19d94169fad", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4035299, "upload_time": "2015-12-07T13:57:23", "url": "https://files.pythonhosted.org/packages/de/6d/3e8a9e6a1664b380d824ad3d6db75c062ad489739634be0b9bf3ad830186/specpy-1.1.4-cp27-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "3f9ad1d6c925573af5fd891febb257f9", "sha256": "851aefa7cb34e34eb57f2517776ea09fa259954ac3f360a0faab29d2d2a5d276" }, "downloads": -1, "filename": "specpy-1.1.4-cp34-none-win32.whl", "has_sig": false, "md5_digest": "3f9ad1d6c925573af5fd891febb257f9", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 3404892, "upload_time": "2015-12-07T14:02:35", "url": "https://files.pythonhosted.org/packages/cd/6c/e00e13de844918a1e9c5f4c560856b1b6acb49b02b7acb088d0e9631ac2e/specpy-1.1.4-cp34-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "cb43906f3035882fc22c33b296a4403d", "sha256": "d32ae893cbfe8bcf3ce3527a286fdc049a5bd044a7689632b28f7f5c27ef31d5" }, "downloads": -1, "filename": "specpy-1.1.4-cp34-none-win_amd64.whl", "has_sig": false, "md5_digest": "cb43906f3035882fc22c33b296a4403d", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 3878785, "upload_time": "2015-12-07T14:07:30", "url": "https://files.pythonhosted.org/packages/34/e7/be0210b9c83d9a04fd6f0f6419beea97c4c485d3f1418939cbe4453b39ad/specpy-1.1.4-cp34-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "ff4d473514cae9efb4cb0b64999abdac", "sha256": "415254b1f29dda58aadebe432e36093a9477801612608b78431bb883d6d63a79" }, "downloads": -1, "filename": "specpy-1.1.4-cp35-none-win32.whl", "has_sig": false, "md5_digest": "ff4d473514cae9efb4cb0b64999abdac", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 3191104, "upload_time": "2015-12-07T14:14:23", "url": "https://files.pythonhosted.org/packages/80/8a/3320d73ed7cf5d4528cb66a8cbe32e922a3639551dd146da913109953345/specpy-1.1.4-cp35-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "26d2bf37cbeede45096873459c04c2eb", "sha256": "698016f65662050a9570da3d0b6394d53b5b3b1ef3921263ee32d2c87ddce1fa" }, "downloads": -1, "filename": "specpy-1.1.4-cp35-none-win_amd64.whl", "has_sig": false, "md5_digest": "26d2bf37cbeede45096873459c04c2eb", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 3845924, "upload_time": "2015-12-07T14:22:12", "url": "https://files.pythonhosted.org/packages/55/16/2d4d2f70be2cbeb3a619f167b236ae6a68f2f12e58388064018f74ad39d7/specpy-1.1.4-cp35-none-win_amd64.whl" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "833e1a36169e898db5b0c4619e650453", "sha256": "2251449779d11f5f63245d5acd48d27675830ed6d9e2b081bbba8b545c838a34" }, "downloads": -1, "filename": "specpy-1.1.5-cp35-none-win32.whl", "has_sig": false, "md5_digest": "833e1a36169e898db5b0c4619e650453", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 1099327, "upload_time": "2016-04-19T06:58:19", "url": "https://files.pythonhosted.org/packages/9f/7c/0833638589844c7261534bcbcbc3b2c7b2bfbf23cd95aa8100dc50dadcc0/specpy-1.1.5-cp35-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "12959d89601158f1e0a3c19a6d7e750d", "sha256": "414833a71f689e1896d373cabbdf4a7ce79192ca162ac47652d61c1f45d46e30" }, "downloads": -1, "filename": "specpy-1.1.5-cp35-none-win_amd64.whl", "has_sig": false, "md5_digest": "12959d89601158f1e0a3c19a6d7e750d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 1374944, "upload_time": "2016-04-19T06:58:53", "url": "https://files.pythonhosted.org/packages/8e/95/a3655ba0386f68c58906c6fcb1b7598867c9959ccf445a341609e20ae618/specpy-1.1.5-cp35-none-win_amd64.whl" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "73d6cc5ec42791466e2fe4516e45c470", "sha256": "7787d0bff950722125a5ea3f482ca96cc3a95ab7c62694d514a75c227817b54a" }, "downloads": -1, "filename": "specpy-1.1.6-cp35-none-win32.whl", "has_sig": false, "md5_digest": "73d6cc5ec42791466e2fe4516e45c470", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 1149870, "upload_time": "2016-06-17T12:25:33", "url": "https://files.pythonhosted.org/packages/8f/d6/ee7e441b2660224b223f09c15736af529ed5d20c03ac00578a0bdd37024a/specpy-1.1.6-cp35-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "5af94c2c33f7af25ad030768b26e584f", "sha256": "094c7b4f214ea003a9c72a131bb545249b70979af7a6706dbe950dff734799f0" }, "downloads": -1, "filename": "specpy-1.1.6-cp35-none-win_amd64.whl", "has_sig": false, "md5_digest": "5af94c2c33f7af25ad030768b26e584f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 1435950, "upload_time": "2016-06-17T12:25:54", "url": "https://files.pythonhosted.org/packages/1b/d1/26bfcf222db30901f2ea94573e3b992a3109777455b661751b4b03d9aed0/specpy-1.1.6-cp35-none-win_amd64.whl" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "5d116f0cbeeeab2cff59ecdc6e3db66d", "sha256": "9b418eae73bb7ec8feebc1e5f4f6986040eef294d35d4c3b96bbfcb5fc8e25c8" }, "downloads": -1, "filename": "specpy-1.1.7-cp35-none-win32.whl", "has_sig": false, "md5_digest": "5d116f0cbeeeab2cff59ecdc6e3db66d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 1304510, "upload_time": "2016-11-08T07:56:42", "url": "https://files.pythonhosted.org/packages/c5/30/55e02439469a7ab03288038460932cc56b11d201c955d3f95c6cf6f4415e/specpy-1.1.7-cp35-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "f48c6156a1bb4d31f3e41a56694f1cd0", "sha256": "bb0de716725cdd9fd80745bb362e54724f1df423414b0bb4cb5b7f97c66a8e7b" }, "downloads": -1, "filename": "specpy-1.1.7-cp35-none-win_amd64.whl", "has_sig": false, "md5_digest": "f48c6156a1bb4d31f3e41a56694f1cd0", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 1614590, "upload_time": "2016-11-08T08:01:55", "url": "https://files.pythonhosted.org/packages/3f/3d/59cb02b8458086d91f6845c79fe96ebc00acfdc551d1db5d3d6eefbe10c4/specpy-1.1.7-cp35-none-win_amd64.whl" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "af077b77ab51fa0ca99d7bb28c233133", "sha256": "e733be808e813c5c8a93d0f11dc3b08046bdda2c137abd5d6bb2189d2f4b4aa0" }, "downloads": -1, "filename": "specpy-1.1.8-cp35-none-win32.whl", "has_sig": false, "md5_digest": "af077b77ab51fa0ca99d7bb28c233133", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 1303239, "upload_time": "2017-02-27T12:39:27", "url": "https://files.pythonhosted.org/packages/8f/e4/02d9d4bb96c0f3d0393fdf69a70ebdd0a61739f0aed5b729b80687f0f08b/specpy-1.1.8-cp35-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "3d005b12d3c4d03045f27d5f29c007c2", "sha256": "004248cae688b3ed0fa08db6607fe04e3ca27b3c1a6ebbe7d48656c6a02311c7" }, "downloads": -1, "filename": "specpy-1.1.8-cp35-none-win_amd64.whl", "has_sig": false, "md5_digest": "3d005b12d3c4d03045f27d5f29c007c2", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 1612643, "upload_time": "2017-02-27T12:41:46", "url": "https://files.pythonhosted.org/packages/9b/a9/993a7cbbfbd17b8029ffa7215dd2577cccf495b418af9454863a9a586698/specpy-1.1.8-cp35-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "c1e799974e8c06d82aa7c396e716063b", "sha256": "8454da392bf0e16b448627bd23cb36ff665455a4c65e736293bfde0af9469821" }, "downloads": -1, "filename": "specpy-1.1.8-cp36-cp36m-win32.whl", "has_sig": false, "md5_digest": "c1e799974e8c06d82aa7c396e716063b", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 1303524, "upload_time": "2017-02-28T08:01:37", "url": "https://files.pythonhosted.org/packages/73/fa/c77f90a1bc7d6966352b947c82ddce220a381c4a5616a478234337f2525e/specpy-1.1.8-cp36-cp36m-win32.whl" }, { "comment_text": "", "digests": { "md5": "d7d0e1fcc8502377db967b3c22feb7b8", "sha256": "4522a62218413281d16b7c6e9c6121395c90a6a257624a474699e4e65262fb7c" }, "downloads": -1, "filename": "specpy-1.1.8-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "d7d0e1fcc8502377db967b3c22feb7b8", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 1612530, "upload_time": "2017-02-28T08:02:02", "url": "https://files.pythonhosted.org/packages/59/81/1a7ee01c3d17a93aa2ffd9298daab29643dbae95ec32177d89c7f907163c/specpy-1.1.8-cp36-cp36m-win_amd64.whl" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "0de6747f614832cd8d33c2eba7d968b1", "sha256": "40eac0f4f7ffb642a8d38aae7661e7ab7e594350814903ade7b724a36e649817" }, "downloads": -1, "filename": "specpy-1.2.0-cp35-none-win32.whl", "has_sig": false, "md5_digest": "0de6747f614832cd8d33c2eba7d968b1", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 1531025, "upload_time": "2017-02-28T08:42:56", "url": "https://files.pythonhosted.org/packages/9d/51/aae42774b599d73b4e8737fc79cf52bdbe9b67e6790c4ffc762305d69902/specpy-1.2.0-cp35-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "83d937c533bfcd8e560e65a1b3974d25", "sha256": "cd9c98aa99ef891a9167b271bef73e0cc56c35eee251dca2091dfd529b8912eb" }, "downloads": -1, "filename": "specpy-1.2.0-cp35-none-win_amd64.whl", "has_sig": false, "md5_digest": "83d937c533bfcd8e560e65a1b3974d25", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 1959378, "upload_time": "2017-02-28T08:43:26", "url": "https://files.pythonhosted.org/packages/be/2e/a9dfa9c1178e0b88de508f7970903dc1d5710f0ae622737d23f1d962e8af/specpy-1.2.0-cp35-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "75206aa4730b366c8f44a3b32fa4154e", "sha256": "9ec456b8471009bbf9131453141504f1a40c9fdbcc7401b33769c916bb776ea4" }, "downloads": -1, "filename": "specpy-1.2.0-cp36-cp36m-win32.whl", "has_sig": false, "md5_digest": "75206aa4730b366c8f44a3b32fa4154e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 1530862, "upload_time": "2017-02-28T08:52:37", "url": "https://files.pythonhosted.org/packages/57/9c/509ce27645f6cfec91172b970d6faf8781dcb34eff55402d292a95e6f067/specpy-1.2.0-cp36-cp36m-win32.whl" }, { "comment_text": "", "digests": { "md5": "9e18e4ce306a0b69b50497bc7ed2c229", "sha256": "15e0b6afe4a42d908ea75bb86219f49528504bb9196c837f49d03feb618390af" }, "downloads": -1, "filename": "specpy-1.2.0-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "9e18e4ce306a0b69b50497bc7ed2c229", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 1959450, "upload_time": "2017-02-28T08:54:20", "url": "https://files.pythonhosted.org/packages/5a/f2/aa7fa6b31b9a2532c5d063d58f57bc2694b4ebff8f4fc3d31920d78a3c1f/specpy-1.2.0-cp36-cp36m-win_amd64.whl" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "2fa1acbc8fe0fc0eabb484f6bc9c5713", "sha256": "e570dca997589bc830c8d79bc94b65c5d5780cadea68f413724715bfc1855d42" }, "downloads": -1, "filename": "specpy-1.2.1-cp35-none-win32.whl", "has_sig": false, "md5_digest": "2fa1acbc8fe0fc0eabb484f6bc9c5713", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 1477712, "upload_time": "2017-03-06T10:07:03", "url": "https://files.pythonhosted.org/packages/73/dd/fe0191dff273bd5e2b77e81aeb040f7fffe37f5dd8a078b412c3b241e4e5/specpy-1.2.1-cp35-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "a5a9260cf02f7f08606a29148cc0034c", "sha256": "807e7badc4eebc321e64e52e6a4b903505c05e2b381f8fb41305add96d25605e" }, "downloads": -1, "filename": "specpy-1.2.1-cp35-none-win_amd64.whl", "has_sig": false, "md5_digest": "a5a9260cf02f7f08606a29148cc0034c", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 1897274, "upload_time": "2017-03-06T10:09:55", "url": "https://files.pythonhosted.org/packages/58/94/35e37cdf439eb0528deea4bb256ee86247e342a019f8a0c6677986724207/specpy-1.2.1-cp35-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "bce37e78b1719d2dd0b9688d73f44e7c", "sha256": "9ae76745e39e86272ea1c4473fd2fd829c8ca0b56ccf4e94755727b50cfb7337" }, "downloads": -1, "filename": "specpy-1.2.1-cp36-cp36m-win32.whl", "has_sig": false, "md5_digest": "bce37e78b1719d2dd0b9688d73f44e7c", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 1477555, "upload_time": "2017-03-06T10:09:26", "url": "https://files.pythonhosted.org/packages/1f/4f/869121f74f52efcbc3075d86d06249705252ea4de05d3c2151f0929a37a5/specpy-1.2.1-cp36-cp36m-win32.whl" }, { "comment_text": "", "digests": { "md5": "a9df3c7f2b1ff21fdf50bf63fc00eb18", "sha256": "dea5f7efc7b1fc06810b416e2aac6e3c3db3b26f2e313a85ffa99730aec1aa12" }, "downloads": -1, "filename": "specpy-1.2.1-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "a9df3c7f2b1ff21fdf50bf63fc00eb18", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 1897333, "upload_time": "2017-03-06T10:10:13", "url": "https://files.pythonhosted.org/packages/88/31/7bbee091429ce941ce336dd685e9e7aeb206059a5f4a5e271985427d4540/specpy-1.2.1-cp36-cp36m-win_amd64.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2fa1acbc8fe0fc0eabb484f6bc9c5713", "sha256": "e570dca997589bc830c8d79bc94b65c5d5780cadea68f413724715bfc1855d42" }, "downloads": -1, "filename": "specpy-1.2.1-cp35-none-win32.whl", "has_sig": false, "md5_digest": "2fa1acbc8fe0fc0eabb484f6bc9c5713", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 1477712, "upload_time": "2017-03-06T10:07:03", "url": "https://files.pythonhosted.org/packages/73/dd/fe0191dff273bd5e2b77e81aeb040f7fffe37f5dd8a078b412c3b241e4e5/specpy-1.2.1-cp35-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "a5a9260cf02f7f08606a29148cc0034c", "sha256": "807e7badc4eebc321e64e52e6a4b903505c05e2b381f8fb41305add96d25605e" }, "downloads": -1, "filename": "specpy-1.2.1-cp35-none-win_amd64.whl", "has_sig": false, "md5_digest": "a5a9260cf02f7f08606a29148cc0034c", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 1897274, "upload_time": "2017-03-06T10:09:55", "url": "https://files.pythonhosted.org/packages/58/94/35e37cdf439eb0528deea4bb256ee86247e342a019f8a0c6677986724207/specpy-1.2.1-cp35-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "bce37e78b1719d2dd0b9688d73f44e7c", "sha256": "9ae76745e39e86272ea1c4473fd2fd829c8ca0b56ccf4e94755727b50cfb7337" }, "downloads": -1, "filename": "specpy-1.2.1-cp36-cp36m-win32.whl", "has_sig": false, "md5_digest": "bce37e78b1719d2dd0b9688d73f44e7c", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 1477555, "upload_time": "2017-03-06T10:09:26", "url": "https://files.pythonhosted.org/packages/1f/4f/869121f74f52efcbc3075d86d06249705252ea4de05d3c2151f0929a37a5/specpy-1.2.1-cp36-cp36m-win32.whl" }, { "comment_text": "", "digests": { "md5": "a9df3c7f2b1ff21fdf50bf63fc00eb18", "sha256": "dea5f7efc7b1fc06810b416e2aac6e3c3db3b26f2e313a85ffa99730aec1aa12" }, "downloads": -1, "filename": "specpy-1.2.1-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "a9df3c7f2b1ff21fdf50bf63fc00eb18", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 1897333, "upload_time": "2017-03-06T10:10:13", "url": "https://files.pythonhosted.org/packages/88/31/7bbee091429ce941ce336dd685e9e7aeb206059a5f4a5e271985427d4540/specpy-1.2.1-cp36-cp36m-win_amd64.whl" } ] }