{
"info": {
"author": "Canadian Astronomy Data Centre",
"author_email": "cadc@nrc-cnrc.gc.ca",
"bugtrack_url": null,
"classifiers": [
"License :: OSI Approved :: GNU Affero General Public License v3",
"Natural Language :: English",
"Programming Language :: Python",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5"
],
"description": "caom2\n=====\n\n.. image:: https://img.shields.io/pypi/v/caom2.svg \n :target: https://pypi.python.org/pypi/caom2\n\nCommon Archive Observation Model - data engineering tools\n\ncaom2 module\n\nThe caom2 module is a library implementing the Common Archive\nObservation Model (CAOM-2.3) for manipulating CAOM observations and\nreading and writing XML documents.\n\nhttp://www.opencadc.org/caom2/\n\nTo create a minimal Simple Observation\n--------------------------------------\n\n.. code:: python\n\n # make it compatible with Python 2 and 3\n from __future__ import (absolute_import, division, print_function,\n unicode_literals)\n import sys\n from caom2 import SimpleObservation, TypedOrderedDict, Plane, Artifact,\\\n Part, Chunk, ObservationWriter, ProductType,\\\n ReleaseType, TypedList\n\n observation = SimpleObservation('collection', 'observationID')\n\n observation.planes = TypedOrderedDict(Plane)\n plane = Plane('productID')\n observation.planes['productID'] = plane\n\n plane.artifacts = TypedOrderedDict(Artifact)\n artifact = Artifact('uri:foo/bar', ProductType.SCIENCE, ReleaseType.META)\n plane.artifacts['uri:foo/bar'] = artifact\n\n artifact.parts = TypedOrderedDict(Part)\n part = Part('name')\n artifact.parts['name'] = part\n\n part.chunks = TypedList(Chunk)\n chunk = Chunk()\n part.chunks.append(chunk)\n\n writer = ObservationWriter()\n writer.write(observation, sys.stdout)\n\nThe output:\n\n.. code:: xml\n\n \n \n collection\n observationID\n \n exposure\n \n \n \n productID\n \n \n uri:foo/bar\n science\n meta\n \n \n name\n \n \n \n \n \n \n \n \n \n \n\nTo create a complete Observation\n--------------------------------------\n\n.. code:: python\n\n # make it compatible with Python 2 and 3\n from __future__ import (absolute_import, division, print_function,\n unicode_literals)\n from datetime import datetime\n import sys\n from caom2 import SimpleObservation, Plane, Artifact, Part, Chunk,\\\n TypedOrderedDict, ObservationWriter, ProductType, \\\n ReleaseType, TypedList, Target, TargetPosition, \\\n TargetType, ObservationIntentType, Instrument, \\\n Telescope, Environment, DataProductType, Provenance, \\\n CalibrationLevel, Metrics, Proposal, Point, Slice, Axis,\\\n ObservableAxis, CoordAxis1D, CoordAxis2D, SpatialWCS,\\\n SpectralWCS, EnergyTransition, TemporalWCS, CoordFunction1D,\\\n RefCoord, PolarizationWCS\n\n observation = SimpleObservation('collection', 'observationID')\n observation.obs_type = 'flat'\n observation.intent = ObservationIntentType.SCIENCE\n observation.meta_release = datetime(2016, 11, 22, 11, 53, 44, 0)\n\n observation.proposal = Proposal('proposal id')\n observation.proposal.pi_name = 'pi name'\n observation.proposal.project = 'proposal project'\n observation.proposal.title = 'proposal title'\n observation.proposal.keywords.update({'proposal', 'key', 'words'})\n\n observation.target = Target('target name')\n observation.target.target_type = TargetType.OBJECT\n observation.target.standard = False\n observation.target.redshift = 1.5\n observation.target.keywords.update({'target', 'key', 'words'})\n\n point = Point(1.0, 2.0)\n observation.target_position = TargetPosition(point, 'coordsys')\n observation.target_position.equinox = 3.0\n\n observation.telescope = Telescope('telescope name')\n observation.telescope.geo_location_x = 1.0\n observation.telescope.geo_location_y = 2.0\n observation.telescope.geo_location_z = 3.0\n observation.telescope.keywords.update({'telescope', 'key', 'words'})\n\n observation.instrument = Instrument('instrument name')\n observation.instrument.keywords.update({'instrument', 'key', 'words'})\n\n observation.env = Environment()\n observation.env.seeing = 0.08\n observation.env.humidity = 0.35\n observation.env.elevation = 2.7\n observation.env.tau = 0.7\n observation.env.wavelength_tau = 450e-6\n observation.env.ambient_temp = 20.0\n observation.env.photometric = True\n\n observation.planes = TypedOrderedDict(Plane)\n plane = Plane('productID')\n observation.planes['productID'] = plane\n\n plane.meta_release = datetime(2016, 11, 22, 12, 26, 21, 0)\n plane.data_release = datetime(2018, 01, 01, 00, 00, 00, 0)\n plane.data_product_type = DataProductType.IMAGE\n plane.calibration_level = CalibrationLevel.PRODUCT\n\n plane.provenance = provenance = Provenance('name')\n plane.provenance.version = 'version'\n plane.provenance.product = 'product'\n plane.provenance.producer = 'producer'\n plane.provenance.run_id = 'run_id'\n plane.provenance.reference = 'http://foo/bar'\n plane.provenance.last_executed = datetime(2016, 11, 22, 12, 28, 16, 0)\n plane.provenance.keywords.update({'provenance', 'key', 'words'})\n\n plane.metrics = Metrics()\n plane.metrics.source_number_density = 1.0\n plane.metrics.background = 2.0\n plane.metrics.background_std_dev = 3.0\n plane.metrics.flux_density_limit = 4.0\n plane.metrics.mag_limit = 5.0\n\n plane.artifacts = TypedOrderedDict(Artifact)\n artifact = Artifact('uri:foo/bar', ProductType.SCIENCE, ReleaseType.META)\n plane.artifacts['uri:foo/bar'] = artifact\n\n artifact.content_type = 'application/fits'\n artifact.content_length = 12345L\n\n artifact.parts = TypedOrderedDict(Part)\n part = Part('name')\n artifact.parts['name'] = part\n part.product_type = ProductType.SCIENCE\n\n part.chunks = TypedList(Chunk)\n chunk = Chunk()\n part.chunks.append(chunk)\n\n chunk.product_type = ProductType.SCIENCE\n chunk.naxis = 5\n chunk.observable_axis = 1\n chunk.position_axis_1 = 1\n chunk.position_axis_2 = 2\n chunk.energy_axis = 3\n chunk.time_axis = 4\n chunk.polarization_axis = 5\n\n observable_axis = Slice(Axis('observable_ctype', 'observable_cunit'), 1L)\n chunk.observable = ObservableAxis(observable_axis)\n\n position_axis = CoordAxis2D(Axis('position_ctype_1', 'position_cunit_1'),\n Axis('position_ctype_2', 'position_cunit_2'))\n chunk.position = SpatialWCS(position_axis)\n chunk.position.coordsys = 'position coordsys'\n chunk.position.equinox = 2000.0\n chunk.position.resolution = 0.5\n\n energy_axis = CoordAxis1D(Axis('energy_ctype', 'energy_cunit'))\n chunk.energy = SpectralWCS(energy_axis, 'specsys')\n chunk.energy.ssysobs = 'ssysobs'\n chunk.energy.ssyssrc = 'ssyssrc'\n chunk.energy.restfrq = 1.0\n chunk.energy.restwav = 2.0\n chunk.energy.velosys = 3.0\n chunk.energy.zsource = 4.0\n chunk.energy.velang = 5.0\n chunk.energy.bandpassName = 'bandpass name'\n chunk.energy.resolvingPower = 6.0\n chunk.energy.transition = EnergyTransition('H', '21cm')\n\n time_axis = CoordAxis1D(Axis('time_ctype', 'time_cunit'))\n chunk.time = TemporalWCS(time_axis)\n chunk.time.exposure = 1.0\n chunk.time.resolution = 2.0\n chunk.time.timesys = 'UTC'\n chunk.time.trefpos = 'TOPOCENTER'\n chunk.time.mjdref = 3.0\n\n polarization_axis = CoordAxis1D(Axis('STOKES'))\n polarization_axis.function = CoordFunction1D(4L, 1.0, RefCoord(1.0, 1.0))\n chunk.polarization = PolarizationWCS(polarization_axis)\n\n writer = ObservationWriter()\n writer.write(observation, sys.stdout)\n\nThe output:\n\n.. code:: xml\n\n\t\n\t\n\t collection\n\t observationID\n\t 2016-11-22T11:53:44.000\n\t \n\t\texposure\n\t \n\t flat\n\t science\n\t \n\t\tproposal id\n\t\tpi name\n\t\tproposal project\n\t\tproposal title\n\t\tproposal words key\n\t \n\t \n\t\ttarget name\n\t\tobject\n\t\tfalse\n\t\t1.5\n\t\twords key target\n\t \n\t \n\t\tcoordsys\n\t\t3.0\n\t\t\n\t\t 1.0\n\t\t 2.0\n\t\t\n\t \n\t \n\t\ttelescope name\n\t\t1.0\n\t\t2.0\n\t\t3.0\n\t\twords key telescope\n\t \n\t \n\t\tinstrument name\n\t\tinstrument words key\n\t \n\t \n\t\t\n\t\t productID\n\t\t 2016-11-22T12:26:21.000\n\t\t 2018-01-01T00:00:00.000\n\t\t image\n\t\t 3\n\t\t \n\t\t\tname\n\t\t\tversion\n\t\t\tproducer\n\t\t\trun_id\n\t\t\thttp://foo/bar\n\t\t\t2016-11-22T12:28:16.000\n\t\t\tprovenance words key\n\t\t \n\t\t \n\t\t\t1.0\n\t\t\t2.0\n\t\t\t3.0\n\t\t\t4.0\n\t\t\t5.0\n\t\t \n\t\t \n\t\t\t\n\t\t\t uri:foo/bar\n\t\t\t science\n\t\t\t meta\n\t\t\t application/fits\n\t\t\t 12345\n\t\t\t \n\t\t\t\t\n\t\t\t\t name\n\t\t\t\t science\n\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t science\n\t\t\t\t\t 5\n\t\t\t\t\t 1\n\t\t\t\t\t 1\n\t\t\t\t\t 2\n\t\t\t\t\t 3\n\t\t\t\t\t 4\n\t\t\t\t\t 5\n\t\t\t\t\t \n\t\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\tobservable_ctype\n\t\t\t\t\t\t\tobservable_cunit\n\t\t\t\t\t\t \n\t\t\t\t\t\t 1\n\t\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\tposition_ctype_1\n\t\t\t\t\t\t\tposition_cunit_1\n\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t\tposition_ctype_2\n\t\t\t\t\t\t\tposition_cunit_2\n\t\t\t\t\t\t \n\t\t\t\t\t\t\n\t\t\t\t\t\tposition coordsys\n\t\t\t\t\t\t2000.0\n\t\t\t\t\t\t0.5\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\tenergy_ctype\n\t\t\t\t\t\t\tenergy_cunit\n\t\t\t\t\t\t \n\t\t\t\t\t\t\n\t\t\t\t\t\tspecsys\n\t\t\t\t\t\tssysobs\n\t\t\t\t\t\tssyssrc\n\t\t\t\t\t\t1.0\n\t\t\t\t\t\t2.0\n\t\t\t\t\t\t3.0\n\t\t\t\t\t\t4.0\n\t\t\t\t\t\t5.0\n\t\t\t\t\t\t\n\t\t\t\t\t\t H\n\t\t\t\t\t\t 21cm\n\t\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\ttime_ctype\n\t\t\t\t\t\t\ttime_cunit\n\t\t\t\t\t\t \n\t\t\t\t\t\t\n\t\t\t\t\t\tUTC\n\t\t\t\t\t\tTOPOCENTER\n\t\t\t\t\t\t3.0\n\t\t\t\t\t\t1.0\n\t\t\t\t\t\t2.0\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\tSTOKES\n\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t\t1.0\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t 1.0\n\t\t\t\t\t\t\t 1.0\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t \n\t\t\t\t\n\t\t\t \n\t\t\t\n\t\t \n\t\t\n\t \n\t",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "http://www.cadc-ccda.hia-iha.nrc-cnrc.gc.ca/caom2",
"keywords": "",
"license": "AGPLv3",
"maintainer": "",
"maintainer_email": "",
"name": "caom2",
"package_url": "https://pypi.org/project/caom2/",
"platform": "",
"project_url": "https://pypi.org/project/caom2/",
"project_urls": {
"Homepage": "http://www.cadc-ccda.hia-iha.nrc-cnrc.gc.ca/caom2"
},
"release_url": "https://pypi.org/project/caom2/2.3.8.4/",
"requires_dist": null,
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"summary": "CAOM-2.3 library",
"version": "2.3.8.4"
},
"last_serial": 5557716,
"releases": {
"2.2.2": [
{
"comment_text": "",
"digests": {
"md5": "8292831fa35f59df37b737598aab2804",
"sha256": "cea2d93c21a289ea096c776c22a6158c1612bf19dc8423257638585630373d2a"
},
"downloads": -1,
"filename": "caom2-2.2.2.tar.gz",
"has_sig": false,
"md5_digest": "8292831fa35f59df37b737598aab2804",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 98091,
"upload_time": "2016-12-01T18:46:47",
"url": "https://files.pythonhosted.org/packages/2e/2e/206eae1a64924f66b42502ccca1f497353b8d74a7db378b317562b0dcea4/caom2-2.2.2.tar.gz"
}
],
"2.2.3": [
{
"comment_text": "",
"digests": {
"md5": "497c8ce1cd42f9d64063968fb06f03f7",
"sha256": "4f380a4e791ccbc8164a9fb22fb63e2dfaec5c3c6074a685e42915df9c787bc1"
},
"downloads": -1,
"filename": "caom2-2.2.3.tar.gz",
"has_sig": false,
"md5_digest": "497c8ce1cd42f9d64063968fb06f03f7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 98148,
"upload_time": "2016-12-02T23:31:38",
"url": "https://files.pythonhosted.org/packages/15/28/09dd20b9667c19984452399e941e9b4a7f3ba4f040728941982f23137840/caom2-2.2.3.tar.gz"
}
],
"2.2.4": [
{
"comment_text": "",
"digests": {
"md5": "cde357ff3e87e97218866aa8b8882cf8",
"sha256": "f7829a697117f20999f9dd10a6baa7e0c268583295f0f266e7060b384270d710"
},
"downloads": -1,
"filename": "caom2-2.2.4.tar.gz",
"has_sig": false,
"md5_digest": "cde357ff3e87e97218866aa8b8882cf8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 100008,
"upload_time": "2017-02-21T22:24:33",
"url": "https://files.pythonhosted.org/packages/d2/63/4fe089393ff9b5709f3a655f675c665a68cfd5a3dec234f7e66048ee00ea/caom2-2.2.4.tar.gz"
}
],
"2.2.4a3": [
{
"comment_text": "",
"digests": {
"md5": "e69c2064ead393a46b76b978fff71bde",
"sha256": "8fc60fb39564e5374c984fbf61f90889e2708535f198d71eb25b8e6cdff86019"
},
"downloads": -1,
"filename": "caom2-2.2.4a3.tar.gz",
"has_sig": false,
"md5_digest": "e69c2064ead393a46b76b978fff71bde",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 99993,
"upload_time": "2017-02-13T20:14:00",
"url": "https://files.pythonhosted.org/packages/33/8e/8882d4f6855512ceb88f12641c362e7142c715468fb4262fdec90a30fe4c/caom2-2.2.4a3.tar.gz"
}
],
"2.2.5": [
{
"comment_text": "",
"digests": {
"md5": "8a1e614e946937aa67a66cb7efb9b39b",
"sha256": "671491e9fadbd6dbd3264051e4d9124720d8949f1e0382bcd69c28ab9b2c691c"
},
"downloads": -1,
"filename": "caom2-2.2.5.tar.gz",
"has_sig": false,
"md5_digest": "8a1e614e946937aa67a66cb7efb9b39b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 88766,
"upload_time": "2017-05-23T17:05:12",
"url": "https://files.pythonhosted.org/packages/63/e4/4f220ce8450542084e430df4f4bb74c02a42cf2571cabba930ed6257325d/caom2-2.2.5.tar.gz"
}
],
"2.3": [
{
"comment_text": "",
"digests": {
"md5": "48f87354fca405554cdf007670b1dc06",
"sha256": "30bb72094271de7b6a1f8f050fc4d278f3cb6bcc8969d00b7dafc8b638d64760"
},
"downloads": -1,
"filename": "caom2-2.3.tar.gz",
"has_sig": false,
"md5_digest": "48f87354fca405554cdf007670b1dc06",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 118149,
"upload_time": "2017-10-11T22:47:37",
"url": "https://files.pythonhosted.org/packages/4d/ad/0c7e21033141d0acd2a28b5f1e2a01ac3ed727f902a2426809c8cffa27da/caom2-2.3.tar.gz"
}
],
"2.3.0a2": [
{
"comment_text": "",
"digests": {
"md5": "51bcc136950f7d4eb11154c1351b0677",
"sha256": "99e8ade8a871efe9df7a5677b37a3aa5e292d05c204919e0ca6338952d1a3b07"
},
"downloads": -1,
"filename": "caom2-2.3.0a2.tar.gz",
"has_sig": false,
"md5_digest": "51bcc136950f7d4eb11154c1351b0677",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 109444,
"upload_time": "2017-06-20T22:32:22",
"url": "https://files.pythonhosted.org/packages/da/9a/a6512343ba9c6e4c228bf02e170c8281a81bbda2208453458c6a3eaab3d7/caom2-2.3.0a2.tar.gz"
}
],
"2.3.0a3": [
{
"comment_text": "",
"digests": {
"md5": "687c46ce0a1bf9d81a82d9a54cbd9007",
"sha256": "18196e276af960ed5f83c3dba4af97a8c8ed976fe9f724106e6f06db87ada26d"
},
"downloads": -1,
"filename": "caom2-2.3.0a3.tar.gz",
"has_sig": false,
"md5_digest": "687c46ce0a1bf9d81a82d9a54cbd9007",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 121129,
"upload_time": "2017-08-29T21:53:34",
"url": "https://files.pythonhosted.org/packages/d4/a5/4d1ff2522b292c6f1983c22d9ea28d22b16f77190981f6d087989c17cf4c/caom2-2.3.0a3.tar.gz"
}
],
"2.3.0a4": [
{
"comment_text": "",
"digests": {
"md5": "4d1be06a67a8345aa3aa7481a49e4972",
"sha256": "d380a52c10e54915bd8713e1a5e0bc934319627b185518d2c28f4decd8696a5a"
},
"downloads": -1,
"filename": "caom2-2.3.0a4.tar.gz",
"has_sig": false,
"md5_digest": "4d1be06a67a8345aa3aa7481a49e4972",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 117139,
"upload_time": "2017-09-08T18:41:17",
"url": "https://files.pythonhosted.org/packages/7c/11/2701a2cfbb9f3e91d54bbb3f551557f18992b6f1fc3bbba2375e9231796f/caom2-2.3.0a4.tar.gz"
}
],
"2.3.0a5": [
{
"comment_text": "",
"digests": {
"md5": "1762632ac2beb6d481582f36c6683763",
"sha256": "420e9bfa562f56f6e25c30a71ba0002916eb420b13174d9be0c1468b33c90f47"
},
"downloads": -1,
"filename": "caom2-2.3.0a5.tar.gz",
"has_sig": false,
"md5_digest": "1762632ac2beb6d481582f36c6683763",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 117142,
"upload_time": "2017-09-25T20:43:03",
"url": "https://files.pythonhosted.org/packages/da/c4/be134aafe7baad27e43988aca5eae7e1a1422d90f627e9513eedee7d9f11/caom2-2.3.0a5.tar.gz"
}
],
"2.3.1": [
{
"comment_text": "",
"digests": {
"md5": "80fba2b54d1706c9ff1c79d80c8c0db6",
"sha256": "61f700d534dc52fec7cd6a3d6249694ad4c7c61dc0423de7432a008ef9f5bb8b"
},
"downloads": -1,
"filename": "caom2-2.3.1.tar.gz",
"has_sig": false,
"md5_digest": "80fba2b54d1706c9ff1c79d80c8c0db6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 118455,
"upload_time": "2017-10-17T22:41:17",
"url": "https://files.pythonhosted.org/packages/64/53/9d76e906667d3d819c7af08a3781a03eb192b0c6800de7e1d1db8c85ed6f/caom2-2.3.1.tar.gz"
}
],
"2.3.2": [
{
"comment_text": "",
"digests": {
"md5": "dce18d2124b6b77e9dd2ce36272d45f2",
"sha256": "165caab9ba788bbb518cd271af2120ff326b190d99fe5a595f251fecbacc900b"
},
"downloads": -1,
"filename": "caom2-2.3.2.tar.gz",
"has_sig": false,
"md5_digest": "dce18d2124b6b77e9dd2ce36272d45f2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 118936,
"upload_time": "2017-10-24T20:36:20",
"url": "https://files.pythonhosted.org/packages/8d/52/939ba0755cd00287e1acfd6a30d1e0766abf8e84df5bc70f54d04a3d4510/caom2-2.3.2.tar.gz"
}
],
"2.3.3": [
{
"comment_text": "",
"digests": {
"md5": "7edea56865ee8984ede7e5a7f1a20943",
"sha256": "61d4b97ac38962ac2d007ca97afaf49a4cd1c1646dbc2a0bc68901a4fcadbe90"
},
"downloads": -1,
"filename": "caom2-2.3.3.tar.gz",
"has_sig": false,
"md5_digest": "7edea56865ee8984ede7e5a7f1a20943",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 118848,
"upload_time": "2017-11-28T00:45:03",
"url": "https://files.pythonhosted.org/packages/56/5c/423177152f271dd21d3e1a636c32abaa2987390ee098d08095a94967f7e1/caom2-2.3.3.tar.gz"
}
],
"2.3.5": [
{
"comment_text": "",
"digests": {
"md5": "d0f5eea7f3eef0a4e64caa1efe83f334",
"sha256": "cacac5a71f52eef909ca6bd83c81c43576c466e7b2a662f8f12bef44a66fd886"
},
"downloads": -1,
"filename": "caom2-2.3.5.tar.gz",
"has_sig": false,
"md5_digest": "d0f5eea7f3eef0a4e64caa1efe83f334",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 121892,
"upload_time": "2018-03-13T21:47:53",
"url": "https://files.pythonhosted.org/packages/72/43/0fdcb2e8b76744dc58a187aa877a65920d45fde6ae6fc38fb43368df8ee7/caom2-2.3.5.tar.gz"
}
],
"2.3.6": [
{
"comment_text": "",
"digests": {
"md5": "40765b1f5dd4ad13894239d991a5d1eb",
"sha256": "6f68bfc77a9d5ddd6d88882a14c5fb97d264907255d20d03e4c0596709a1ae3e"
},
"downloads": -1,
"filename": "caom2-2.3.6.tar.gz",
"has_sig": false,
"md5_digest": "40765b1f5dd4ad13894239d991a5d1eb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 123307,
"upload_time": "2018-05-10T15:28:46",
"url": "https://files.pythonhosted.org/packages/8b/c4/3d014d0a808762343a92f6d20645faed2d9528385d6d66f3e9ed407eb160/caom2-2.3.6.tar.gz"
}
],
"2.3.7": [
{
"comment_text": "",
"digests": {
"md5": "e8028a049e05ded40ef7f7af395285cc",
"sha256": "1195a33a5304c194b700d087121abc5d5e0ef5cf3ba4d78e208e547160799b11"
},
"downloads": -1,
"filename": "caom2-2.3.7.tar.gz",
"has_sig": false,
"md5_digest": "e8028a049e05ded40ef7f7af395285cc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 123280,
"upload_time": "2018-06-06T21:47:15",
"url": "https://files.pythonhosted.org/packages/01/fa/bead26c3b26ae61c2cf02dc97fff139ac04ea852b1b53ce3d0e2229566e9/caom2-2.3.7.tar.gz"
}
],
"2.3.8": [
{
"comment_text": "",
"digests": {
"md5": "b9507a6feace68c12a38dcd33ef82b4a",
"sha256": "30a2ceaa648c6987689661d1552a3525b87d63371b6fe5f7ead82de5fe6473e9"
},
"downloads": -1,
"filename": "caom2-2.3.8.tar.gz",
"has_sig": false,
"md5_digest": "b9507a6feace68c12a38dcd33ef82b4a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 127833,
"upload_time": "2018-09-11T21:06:51",
"url": "https://files.pythonhosted.org/packages/2d/fa/6f624d7b157feb124eaed2af49c1c5b36b84185026e7b4b361ab6b03bef1/caom2-2.3.8.tar.gz"
}
],
"2.3.8.1": [
{
"comment_text": "",
"digests": {
"md5": "0e6884e4080a19467347b496dd3a70b0",
"sha256": "b64885f4b81bafd5089cf60202798b1fda18072374c1667751405c9832969558"
},
"downloads": -1,
"filename": "caom2-2.3.8.1.tar.gz",
"has_sig": false,
"md5_digest": "0e6884e4080a19467347b496dd3a70b0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 127961,
"upload_time": "2018-09-12T19:41:21",
"url": "https://files.pythonhosted.org/packages/e6/49/a2b5f7c33538bc97eb1071c6037247311504aa6c9d08b80a9c4b0f6a0138/caom2-2.3.8.1.tar.gz"
}
],
"2.3.8.3": [
{
"comment_text": "",
"digests": {
"md5": "f2df900e17db31d186dd7ffca5398e10",
"sha256": "ec6114d835173bd0c1d65f7bcb88117282951337d4d27031f61e61ecaaf2cb6d"
},
"downloads": -1,
"filename": "caom2-2.3.8.3.tar.gz",
"has_sig": false,
"md5_digest": "f2df900e17db31d186dd7ffca5398e10",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 130123,
"upload_time": "2019-03-06T21:33:08",
"url": "https://files.pythonhosted.org/packages/9f/5e/cd58c105d360b5fd58a7d4e97ad5ca234fcdfa73a9f2f7afd721a6cf793d/caom2-2.3.8.3.tar.gz"
}
],
"2.3.8.4": [
{
"comment_text": "",
"digests": {
"md5": "6484368556ec28cd4d6ee19b453a176e",
"sha256": "6a63f8c12f38c6b088e82e9253c8788276714df77241d2ccfa08720cce038702"
},
"downloads": -1,
"filename": "caom2-2.3.8.4.tar.gz",
"has_sig": false,
"md5_digest": "6484368556ec28cd4d6ee19b453a176e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 130537,
"upload_time": "2019-04-18T19:49:49",
"url": "https://files.pythonhosted.org/packages/69/6e/35580a3892b3257b396e7e901d81c13b2cdfdbd42c440f5a65c546305fe1/caom2-2.3.8.4.tar.gz"
}
],
"2.4.0a0": [
{
"comment_text": "",
"digests": {
"md5": "0b2871328309cf96f645b78a9f23541d",
"sha256": "a0dd55118d66592467454977d6495bb7efe89ff1b9aaf30da7385eb53e600645"
},
"downloads": -1,
"filename": "caom2-2.4.0a0.tar.gz",
"has_sig": false,
"md5_digest": "0b2871328309cf96f645b78a9f23541d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 147057,
"upload_time": "2019-07-19T17:29:57",
"url": "https://files.pythonhosted.org/packages/6f/c6/5eb4e53151c88bb5d1a853336e3cfea6f9c2a99e31284e02b48eed79771b/caom2-2.4.0a0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "6484368556ec28cd4d6ee19b453a176e",
"sha256": "6a63f8c12f38c6b088e82e9253c8788276714df77241d2ccfa08720cce038702"
},
"downloads": -1,
"filename": "caom2-2.3.8.4.tar.gz",
"has_sig": false,
"md5_digest": "6484368556ec28cd4d6ee19b453a176e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4",
"size": 130537,
"upload_time": "2019-04-18T19:49:49",
"url": "https://files.pythonhosted.org/packages/69/6e/35580a3892b3257b396e7e901d81c13b2cdfdbd42c440f5a65c546305fe1/caom2-2.3.8.4.tar.gz"
}
]
}