{ "info": { "author": "Kyle Wilcox", "author_email": "kyle@axiomdatascience.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Topic :: Scientific/Engineering" ], "description": "# pyaxiom [![Build Status](https://travis-ci.org/axiom-data-science/pyaxiom.svg)](https://travis-ci.org/axiom-data-science/pyaxiom)\n\nAn ocean data toolkit developed and used by [Axiom Data Science](http://axiomdatascience.com)\n\n\n## Installation\n\n##### Stable\n\n pip install pyaxiom\n\n##### Development\n\n pip install git+https://github.com/axiom-data-science/pyaxiom.git\n\n\n### Enhanced `netcdf4-python` Dataset object\n\nA subclass of the `netCDF4.Dataset` object that adds some additional features\n\n###### Safe closing\nVanilla `netCDF4.Dataset` objects raise a RuntimeError when trying to close\nan already closed file. This won't raise.\n\n\n```python\nfrom netCDF4 import Dataset\n\nnc = Dataset('http://thredds45.pvd.axiomalaska.com/thredds/dodsC/grabbag/USGS_CMG_WH_OBS/WFAL/9001rcm-a.nc')\nnc.close()\nnc.close()\n---------------------------------------------------------------------------\nRuntimeError Traceback (most recent call last)\n in ()\n----> 1 nc.close()\n/home/kwilcox/.virtualenvs/overlord/lib/python2.7/site-packages/netCDF4.so in netCDF4.Dataset.close (netCDF4.c:23432)()\nRuntimeError: NetCDF: Not a valid ID\n\nfrom pyaxiom.netcdf.dataset import EnhancedDataset as Dataset\nnc = Dataset('http://thredds45.pvd.axiomalaska.com/thredds/dodsC/grabbag/USGS_CMG_WH_OBS/WFAL/9001rcm-a.nc')\nnc.close()\nnc.close()\n```\n\n###### Retrieving variables by attributes and values/callables\n```python\nfrom pyaxiom.netcdf.dataset import EnhancedDataset as Dataset\nnc = Dataset('http://thredds45.pvd.axiomalaska.com/thredds/dodsC/grabbag/USGS_CMG_WH_OBS/WFAL/9001rcm-a.nc')\n\n# Return variables with a standard_name attribute equal to 'latitude'\nprint nc.get_variables_by_attributes(standard_name='latitude')\n[\nfloat64 latitude()\n units: degrees_north\n standard_name: latitude\n long_name: sensor latitude\nunlimited dimensions:\ncurrent shape = ()\nfilling off\n]\n\n# Return all variables with a 'standard_name attribute'\nvariables = nc.get_variables_by_attributes(standard_name=lambda v: v is not None)\nprint [s.name for s in variables]\n[u'latitude', u'longitude', u'depth', u'T_28', u'CS_300', u'CD_310', u'u_1205', u'v_1206', u'O_60', u'DO', u'time']\n\n# Get creative... return all variablse with the attribute units equal to m/s and a grid_mapping attribute\nvariables = nc.get_variables_by_attributes(grid_mapping=lambda v: v is not None, units='m/s')\nprint [s.name for s in variables]\n[u'CS_300', u'u_1205', u'v_1206']\n```\n\n\n\n\n\n### IOOS URNs\n[More Information](https://geo-ide.noaa.gov/wiki/index.php?title=IOOS_Conventions_for_Observing_Asset_Identifiers)\n\n###### URN Normalization\n\n```python\nfrom pyaxiom.urn import IoosUrn\nu = IoosUrn(asset_type='station', authority='axiom', label='station1')\nprint u.__dict__\n{'asset_type': 'station',\n 'authority': 'axiom',\n 'component': None,\n 'label': 'station1',\n 'version': None}\nprint u.urn\n'urn:ioos:station:axiom:station1'\n```\n\n```python\nfrom pyaxiom.urn import IoosUrn\nu = IoosUrn.from_string('urn:ioos:station:axiom:station1')\nprint u.__dict__\n{'asset_type': 'station',\n 'authority': 'axiom',\n 'component': None,\n 'label': 'station1',\n 'version': None}\nprint u.urn\n'urn:ioos:station:axiom:station1'\n```\n\n###### NetCDF Integration\n\n```python\nfrom pyaxiom.utils import urnify, dictify_urn\n\n# NetCDF variable attributes from a \"sensor\" urn\nprint dictify_urn('urn:ioos:sensor:axiom:station1')\n{'standard_name': 'wind_speed'}\n\nprint dictify_urn('urn:ioos:sensor:axiom:foo:lwe_thickness_of_precipitation_amount#cell_methods=time:mean,time:variance;interval=pt1h')\n{'standard_name': 'lwe_thickness_of_precipitation_amount',\n 'cell_methods': 'time: mean time: variance (interval: PT1H)'}\n\n# URN from `dict` of variable attributes\nattributes = {'standard_name': 'wind_speed',\n 'cell_methods': 'time: mean (interval: PT24H)'}\nprint urnify('authority', 'label', attributes)\n'urn:ioos:sensor:authority:label:wind_speed#cell_methods=time:mean;interval=pt24h'\n\n# URN from a `netCDF4` Variable object\nnc = netCDF4.Dataset('http://thredds45.pvd.axiomalaska.com/thredds/dodsC/grabbag/USGS_CMG_WH_OBS/WFAL/9001rcm-a.nc')\nprint urnify('authority', 'label', nc.variables['T_28'])\n'urn:ioos:sensor:authority:label:sea_water_temperature'\n```\n\n\n### Gridded NetCDF Collections\n\n#### Binning files\n\n`pyaxiom` installs an executable called `binner` that will combine many\nfiles into a single file. Useful for cleanup and optimization.\n\nIf you have a script that is opening and reading hundreds of files, those open operations\nare slow, and you should combine them into a single file. This doesn't handle files that\noverlap in time or files that have data on both sides of a bin boundary.\n\n```\nusage: binner [-h] -o OUTPUT -d {day,month,week,year} [-f [FACTOR]]\n [-n [NCML_FILE]] [-g [GLOB_STRING]] [-a] [-s HARD_START]\n [-e HARD_END]\n\noptional arguments:\n -h, --help show this help message and exit\n -o OUTPUT, --output OUTPUT\n Directory to output the binned files to\n -d {day,month,week,year}, --delta {day,month,week,year}\n Timedelta to bin by\n -f [FACTOR], --factor [FACTOR]\n Factor to apply to the delta. Passing a '2' would be\n (2) days or (2) months. Defauts to 1.\n -n [NCML_FILE], --ncml_file [NCML_FILE]\n NcML containing an aggregation scan to use for the\n individual files. One of 'ncml_file' or 'glob_string'\n is required. If both are passed in, the 'glob_string'\n is used to identify files for the collection and the\n 'ncml_file' is applied against each member.\n -g [GLOB_STRING], --glob_string [GLOB_STRING]\n A Python glob.glob string to use for file\n identification. One of 'ncml_file' or 'glob_string' is\n required. If both are passed in, the 'glob_string' is\n used to identify files for the collection and the\n 'ncml_file' is applied against each member.\n -a, --apply_to_members\n Flag to apply the NcML to each member of the\n aggregation before extracting metadata. Ignored if\n using a 'glob_string'. Defaults to False.\n -s HARD_START, --hard_start HARD_START\n A datetime string to start the aggregation from. Only\n members starting on or after this datetime will be\n processed.\n -e HARD_END, --hard_end HARD_END\n A datetime string to end the aggregation on. Only\n members ending before this datetime will be processed.\n```\n\n##### Examples\n\n###### Directory globbing\n```bash\nbinner \\\n --output ./output/monthly_bins \\\n --glob_string \"pyaxiom/tests/resources/coamps/cencoos_4km/wnd_tru/10m/*.nc\" \\\n -d month \\\n -f 1\n```\n\n###### Directory globbing and applying NcML file to each member\n```bash\nbinner \\\n --output ./output/monthly_bins \\\n --glob_string \"pyaxiom/tests/resources/coamps/cencoos_4km/wnd_tru/10m/*.nc\" \\\n -n pyaxiom/tests/resources/coamps_10km_wind.ncml \\\n -d month \\\n -f 1\n```\n\n###### NcML aggregation reading the `` element\n```bash\nbinner \\\n --output ./output/monthly_bins \\\n -n pyaxiom/tests/resources/coamps_10km_wind.ncml \\\n -d month \\\n -f 1\n```\n\n\n### Creating CF1.6 TimeSeries files\n\n###### TimeSeries\n```python\nfrom pyaxiom.netcdf.sensors import TimeSeries\nfilename = 'test_timeseries.nc'\ntimes = [0, 1000, 2000, 3000, 4000, 5000]\nverticals = None\nts = TimeSeries(output_directory='./output',\n latitude=32, # WGS84\n longitude=-74, # WGS84\n station_name='timeseries_station',\n global_attributes=dict(id='myid'),\n output_filename='timeseries.nc',\n times=times,\n verticals=verticals)\nvalues = [20, 21, 22, 23, 24, 25]\nattrs = dict(standard_name='sea_water_temperature')\nts.add_variable('temperature', values=values, attributes=attrs)\nts.close()\n```\n\n###### TimeSeriesProfile\n```python\nfrom pyaxiom.netcdf.sensors import TimeSeries\n\ntimes = [0, 1000, 2000, 3000, 4000, 5000] # Seconds since Epoch\nverticals = [0, 1, 2] # Meters down\nts = TimeSeries(output_directory='./output',\n latitude=32, # WGS84\n longitude=-74, # WGS84\n station_name='timeseriesprofile_station',\n global_attributes=dict(id='myid'),\n output_filename='timeseriesprofile.nc',\n times=times,\n verticals=verticals)\nvalues = np.repeat([20, 21, 22, 23, 24, 25], len(verticals))\nattrs = dict(standard_name='sea_water_temperature')\nts.add_variable('temperature', values=values, attributes=attrs)\nts.close()\n```\n\n###### Pandas Integration\n\nPandas integration assumes that there is a Series column `time` and a Series\ncolumn `depth` in your DataFrame. Data values are pulled from a column named\n'value', but you may also pass in the `data_column` attribute for more control.\n\n```python\nfrom pyaxiom.netcdf.sensors import TimeSeries\ndf = pd.DataFrame({ 'time': [0, 1, 2, 3, 4, 5, 6],\n 'value': [10, 20, 30, 40, 50, 60],\n 'depth': [0, 0, 0, 0, 0, 0] })\nTimeSeries.from_dataframe(df,\n output_directory='./output',\n latitude=30, # WGS84\n longitude=-74, # WGS84\n station_name='dataframe_station',\n global_attributes=dict(id='myid'),\n variable_name='values',\n variable_attributes=dict(),\n output_filename='from_dataframe.nc')\n```\n\n```python\ndf = pd.DataFrame({ 'time': [0, 1, 2, 3, 4, 5, 6],\n 'temperature': [10, 20, 30, 40, 50, 60],\n 'depth': [0, 0, 0, 0, 0, 0] })\nTimeSeries.from_dataframe(df,\n output_directory='./output',\n latitude=30, # WGS84\n longitude=-74, # WGS84\n station_name='dataframe_station',\n global_attributes=dict(id='myid'),\n output_filename='from_dataframe.nc',\n variable_name='temperature',\n variable_attributes=dict(standard_name='air_temperature'),\n data_column='temperature')\n```\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/axiom-data-science/pyaxiom", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyaxiom", "package_url": "https://pypi.org/project/pyaxiom/", "platform": "", "project_url": "https://pypi.org/project/pyaxiom/", "project_urls": { "Homepage": "https://github.com/axiom-data-science/pyaxiom" }, "release_url": "https://pypi.org/project/pyaxiom/1.2.5/", "requires_dist": null, "requires_python": "", "summary": "An ocean data toolkit developed and used by Axiom Data Science", "version": "1.2.5" }, "last_serial": 2342831, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "7e4912f23db536a6aaa2b94d1676a924", "sha256": "8f4501d36f6ab8e9dcf252468d833f081f30c752d48c6a913b49cecb5efee7f0" }, "downloads": -1, "filename": "pyaxiom-0.0.0.tar.gz", "has_sig": false, "md5_digest": "7e4912f23db536a6aaa2b94d1676a924", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28928, "upload_time": "2015-08-24T15:18:52", "url": "https://files.pythonhosted.org/packages/85/a0/d707242ab13dc96f52d378f30482c0ddcfbadadf9f19f3ab88ba17cf6cab/pyaxiom-0.0.0.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "32677bcdffc0899fb115faa32c8ac5ce", "sha256": "869265970e4c63fd849bba83962c4cb1f23e0595efd23dfca113c89d1c49c5ce" }, "downloads": -1, "filename": "pyaxiom-0.0.10.tar.gz", "has_sig": false, "md5_digest": "32677bcdffc0899fb115faa32c8ac5ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28728, "upload_time": "2015-05-13T21:42:28", "url": "https://files.pythonhosted.org/packages/16/4d/14c40f6f379d49be8330c78dfc7a36a38def00a0eff72527c992f753860a/pyaxiom-0.0.10.tar.gz" } ], "0.0.10-dev": [ { "comment_text": "", "digests": { "md5": "dc8ca4136079629b13a8a838ab2dc61e", "sha256": "9d2bee715067b0fd961aa2ef7f7e0b74ca51bc9a75f91827e9d6477a052a0440" }, "downloads": -1, "filename": "pyaxiom-0.0.10-dev.tar.gz", "has_sig": false, "md5_digest": "dc8ca4136079629b13a8a838ab2dc61e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28633, "upload_time": "2015-05-07T16:16:59", "url": "https://files.pythonhosted.org/packages/6c/d5/a043b4bc3aa029dbdfa0071acaed9498eaaba93a0ea57b5e4f6edac32c75/pyaxiom-0.0.10-dev.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "4a5c5f1043eb2c35f966a33298b76e6e", "sha256": "74ded328cecdba11cca66ce0a9e3da51066f443cccf9e5662f2f945c3f45fa91" }, "downloads": -1, "filename": "pyaxiom-0.0.11.tar.gz", "has_sig": false, "md5_digest": "4a5c5f1043eb2c35f966a33298b76e6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28910, "upload_time": "2015-05-22T18:07:08", "url": "https://files.pythonhosted.org/packages/93/0a/f03e0e3e1ade700c2dfbd9f1734b802ae85f58a05ae19fc2f69410b01b01/pyaxiom-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "87d58782859da0d7cf9775d2b6f58bf9", "sha256": "585207c828091d8b2d0c95a925c965282c2c21a9f2c839ff0b04cd3879e224c2" }, "downloads": -1, "filename": "pyaxiom-0.0.12.tar.gz", "has_sig": false, "md5_digest": "87d58782859da0d7cf9775d2b6f58bf9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29234, "upload_time": "2015-07-21T20:15:35", "url": "https://files.pythonhosted.org/packages/93/ff/64e59c7497b4edfef7087b9287a9a35add58cdb629243ace02bdb8589c44/pyaxiom-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "3c84de99df74c2fd30aa4ee97dcb0061", "sha256": "9c96a32efd1f4b82584545d4d085c129491e381fecab63f8146273e5d7e58e2b" }, "downloads": -1, "filename": "pyaxiom-0.0.13.tar.gz", "has_sig": false, "md5_digest": "3c84de99df74c2fd30aa4ee97dcb0061", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29248, "upload_time": "2015-07-23T16:29:32", "url": "https://files.pythonhosted.org/packages/19/f2/80fc1d90bf171b0a291bc71ee1eee713c68ea8a4399f188aff702236d115/pyaxiom-0.0.13.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "811d7ba3b67236f4c1bdbff5d47a1685", "sha256": "bb21a26fa924f19a755750e68cb09d392c35bfbaf406096576306e8ba4a6629a" }, "downloads": -1, "filename": "pyaxiom-0.0.4.tar.gz", "has_sig": false, "md5_digest": "811d7ba3b67236f4c1bdbff5d47a1685", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15541, "upload_time": "2015-01-22T19:28:22", "url": "https://files.pythonhosted.org/packages/2a/24/906dfbbe78cb22203d2189cab771a6335b033afdd5be7fd848d5696b1bea/pyaxiom-0.0.4.tar.gz" } ], "0.0.4-dev": [], "0.0.5": [ { "comment_text": "", "digests": { "md5": "31f3080572708edfeeb7180f0fd987e6", "sha256": "8ba0ccc9d07016ae8d2a105976efc83e839fa4db74ab950b465ce9a5ca61b382" }, "downloads": -1, "filename": "pyaxiom-0.0.5.tar.gz", "has_sig": false, "md5_digest": "31f3080572708edfeeb7180f0fd987e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15903, "upload_time": "2015-01-23T18:27:40", "url": "https://files.pythonhosted.org/packages/5c/0b/800c4991fa70f8e18664fd7e7bd5a6e7cfc348abce66a65721491a117a38/pyaxiom-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "7247d06f3a4cc332a10da72daaebd4f3", "sha256": "11359096ed37d2369e2359b61dec92771d5a7f54347b08ef9f9be1607b757997" }, "downloads": -1, "filename": "pyaxiom-0.0.6.tar.gz", "has_sig": false, "md5_digest": "7247d06f3a4cc332a10da72daaebd4f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19123, "upload_time": "2015-02-16T20:59:06", "url": "https://files.pythonhosted.org/packages/a4/7c/4924eacd3eb1f277a4c33dff99db47c03a7504c9d260056943c79b20bd2e/pyaxiom-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "47cfd05d4c92e1c106d32337955a5bf8", "sha256": "8d5044f3843f8b01de05dca2160be37912a52868bc3d2fced62ee3952f57413e" }, "downloads": -1, "filename": "pyaxiom-0.0.7.tar.gz", "has_sig": false, "md5_digest": "47cfd05d4c92e1c106d32337955a5bf8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22911, "upload_time": "2015-02-19T21:01:22", "url": "https://files.pythonhosted.org/packages/41/23/67ca9aba822efb3be04f07d92bc56f6a09dd3c74dcfab98735c3684e20cd/pyaxiom-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "60381071e1ed884988abac70e3be1885", "sha256": "00905c4d8e2bc8bbd4126d599d17830ae01f4d09c83d59e87da32b649fd920ee" }, "downloads": -1, "filename": "pyaxiom-0.0.8.tar.gz", "has_sig": false, "md5_digest": "60381071e1ed884988abac70e3be1885", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28230, "upload_time": "2015-03-23T14:15:30", "url": "https://files.pythonhosted.org/packages/66/a1/8e22238b30d07d769ca666adc24315d5eb99a3babbee6c38ca989e441e3a/pyaxiom-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "58cc58a833687eaafceb794f752d96f5", "sha256": "f4f0896db9cbdd3b9aedbc816117ad14715eb1be0c06a4a55ba5b9b193793000" }, "downloads": -1, "filename": "pyaxiom-0.0.9.tar.gz", "has_sig": false, "md5_digest": "58cc58a833687eaafceb794f752d96f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28621, "upload_time": "2015-05-07T16:17:08", "url": "https://files.pythonhosted.org/packages/f6/d4/3f8be2f3fcea5d65e210984cc676ac5d913db9e4d4b01fc8994e5f0f1947/pyaxiom-0.0.9.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "64722cd970ad7df60b93597bf1fc97d4", "sha256": "f6640d1e0a250219a28cb734ec5a9cabadfab86115451dd62aa4086b98ed2b3f" }, "downloads": -1, "filename": "pyaxiom-1.0.0.tar.gz", "has_sig": false, "md5_digest": "64722cd970ad7df60b93597bf1fc97d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29240, "upload_time": "2015-07-29T21:30:13", "url": "https://files.pythonhosted.org/packages/87/ec/abffc8713afa6bbe6369f804e0087be95c0b9d110796426398dff20f661d/pyaxiom-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "c044257c35ff28c548deb131f4eff72c", "sha256": "6672397757c60111d8e42cae701180e7860bb46cf51010c32451daa8da5a6cad" }, "downloads": -1, "filename": "pyaxiom-1.0.1.tar.gz", "has_sig": false, "md5_digest": "c044257c35ff28c548deb131f4eff72c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29434, "upload_time": "2015-08-07T21:22:15", "url": "https://files.pythonhosted.org/packages/98/bc/63770af4a2f15a5e3ef3abb992447ac42a170cfaff5af1616c188f923eec/pyaxiom-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "2bfb26f4bef0ddde5371590884dbf431", "sha256": "63413b90db9fcc6f31a0c749a4b71ad1f774b39910fbd9423e3159ad45bc1a9f" }, "downloads": -1, "filename": "pyaxiom-1.0.2.tar.gz", "has_sig": false, "md5_digest": "2bfb26f4bef0ddde5371590884dbf431", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30075, "upload_time": "2015-08-11T15:37:11", "url": "https://files.pythonhosted.org/packages/72/28/e58206c2e6287b1993a137276ec80d24da18f2128e2d2a21004c69bbaaec/pyaxiom-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "ecc665a79e7467c857d880d6209bcfab", "sha256": "d20601f17e5f62869ab431c2560db1b405a177f3ac359d6602605cb7ef58b47a" }, "downloads": -1, "filename": "pyaxiom-1.0.3.tar.gz", "has_sig": false, "md5_digest": "ecc665a79e7467c857d880d6209bcfab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30056, "upload_time": "2015-08-12T15:21:28", "url": "https://files.pythonhosted.org/packages/71/d4/8f6608fb1d7fe32fb604d9853a4eece51ee13706a3e6485e5cc40dc6769d/pyaxiom-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "214a02c7d9a83417dc6ea739c830ba93", "sha256": "f40fc3c9cd3149a65ee1c1b98d902d5ee1819f0cacd0e05b84a96bc23b241073" }, "downloads": -1, "filename": "pyaxiom-1.0.4.tar.gz", "has_sig": false, "md5_digest": "214a02c7d9a83417dc6ea739c830ba93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28930, "upload_time": "2015-08-24T14:16:49", "url": "https://files.pythonhosted.org/packages/84/6f/e37bfee652ec1a0b290202bec06c5083c3479b6218e31261e65a3da51e0f/pyaxiom-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "d67a93e46ef10a28c79a211deef12b3e", "sha256": "51da012046ca82b5988faea31d341bca5261b160bc31840f1c1839082b23cf04" }, "downloads": -1, "filename": "pyaxiom-1.0.5.tar.gz", "has_sig": false, "md5_digest": "d67a93e46ef10a28c79a211deef12b3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28944, "upload_time": "2015-08-24T18:29:48", "url": "https://files.pythonhosted.org/packages/d1/a9/5919b8269995bcb4ce698eece0b3cba9b34c4836d239728bdfbd6fae026e/pyaxiom-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "3427e0c5a0b3e022cb14cd003bbe1e46", "sha256": "6cde59091dc608adbcbaa2e93fe08df8f4c278633f94986b51485a7b2b0d915f" }, "downloads": -1, "filename": "pyaxiom-1.0.6.tar.gz", "has_sig": false, "md5_digest": "3427e0c5a0b3e022cb14cd003bbe1e46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28946, "upload_time": "2015-08-24T18:35:16", "url": "https://files.pythonhosted.org/packages/ed/bb/63bfa84e07db4fbfecfefd510e663bb006328841fa012ca08f1bf2a9c89c/pyaxiom-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "3865034951bd663c8a16370a222b78a9", "sha256": "6e8d3514dbfef94adddf5cbc86ca5176d5cd5eb842db752ca7cbad98718d01c2" }, "downloads": -1, "filename": "pyaxiom-1.0.7.tar.gz", "has_sig": false, "md5_digest": "3865034951bd663c8a16370a222b78a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28941, "upload_time": "2015-08-24T18:38:39", "url": "https://files.pythonhosted.org/packages/91/74/98346235b3901f9e46d57f249e6bd17c8e88a09c4075cfcfe6c4f86ffee8/pyaxiom-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "362bfa1d54d1062bd73e777915e7aaf8", "sha256": "0e1fe522f11f03c261db9fe10c3090fd669ca2e505591880e7129701f9e83544" }, "downloads": -1, "filename": "pyaxiom-1.0.8.tar.gz", "has_sig": false, "md5_digest": "362bfa1d54d1062bd73e777915e7aaf8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29363, "upload_time": "2015-09-29T17:03:46", "url": "https://files.pythonhosted.org/packages/92/51/9c6aa8aeefd60cc6b8956c8ba3c0a1cbd1164e7ff6f4c6a95a72b57cc45f/pyaxiom-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "40e2972caeab486f56f58241af2856f5", "sha256": "22668f8b9c2a647442e5cf4c9798727a2df5398b998c889f2f38ac3e21c14047" }, "downloads": -1, "filename": "pyaxiom-1.0.9.tar.gz", "has_sig": false, "md5_digest": "40e2972caeab486f56f58241af2856f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29408, "upload_time": "2015-10-23T16:05:41", "url": "https://files.pythonhosted.org/packages/52/a1/eb5e230b316ca3da1f6e269de98cd476620deac2cafeff69a97a300eaa05/pyaxiom-1.0.9.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "a7fa9385b1d68d7ad8390901d380c588", "sha256": "34ea866cba08e0aa05a5b4e08df51609c82fef3684197b89a5fc3530c289f72e" }, "downloads": -1, "filename": "pyaxiom-1.1.1.tar.gz", "has_sig": false, "md5_digest": "a7fa9385b1d68d7ad8390901d380c588", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30387, "upload_time": "2015-11-18T00:50:53", "url": "https://files.pythonhosted.org/packages/f6/77/becde3921de6be2beabe9bffc90aec8b4b87405967c177b01c5220f9c00c/pyaxiom-1.1.1.tar.gz" } ], "1.1.10": [ { "comment_text": "", "digests": { "md5": "718c7d40e237b4eb76503e71df057ed5", "sha256": "679ce04850cb826c81fd1fa06aa11698fd5de2b558793d829de3b0fc3a2c3c5c" }, "downloads": -1, "filename": "pyaxiom-1.1.10.tar.gz", "has_sig": false, "md5_digest": "718c7d40e237b4eb76503e71df057ed5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30337, "upload_time": "2016-03-23T20:15:20", "url": "https://files.pythonhosted.org/packages/3d/b5/ceb45629be8f4ab74dbdf80d486aa26a882721d765e7ce7637dfd3533581/pyaxiom-1.1.10.tar.gz" } ], "1.1.11": [ { "comment_text": "", "digests": { "md5": "450c3b4df1fd911186e336d1b326fd72", "sha256": "d9035de707f33d3edb7917574c123d39264707e12b9b950b9567766b5730d4d9" }, "downloads": -1, "filename": "pyaxiom-1.1.11.tar.gz", "has_sig": false, "md5_digest": "450c3b4df1fd911186e336d1b326fd72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30889, "upload_time": "2016-03-24T15:26:48", "url": "https://files.pythonhosted.org/packages/87/6f/a526addbd5b238ad4d600bae0d8c25a2d9a59cc1a4ee033d330930769d2e/pyaxiom-1.1.11.tar.gz" } ], "1.1.12": [ { "comment_text": "", "digests": { "md5": "d3d9ea4ab4517571f9711c7ac5ae04a9", "sha256": "2b0ad57b90088ca1dd5b72f9299858e2d050eb7faa41df8227dd4b1fd05a30de" }, "downloads": -1, "filename": "pyaxiom-1.1.12.tar.gz", "has_sig": false, "md5_digest": "d3d9ea4ab4517571f9711c7ac5ae04a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30900, "upload_time": "2016-03-24T16:45:40", "url": "https://files.pythonhosted.org/packages/cb/fe/87e418ad3dc2b3fc44654a5729824fc7e21022ac7246a4165ed46db41afe/pyaxiom-1.1.12.tar.gz" } ], "1.1.13": [ { "comment_text": "", "digests": { "md5": "d6c99ae4202b1472f8baee3afc7dae95", "sha256": "4a99452acb67947cc90742989ee040194711a50bd77f485a45d262784273c3ff" }, "downloads": -1, "filename": "pyaxiom-1.1.13.tar.gz", "has_sig": false, "md5_digest": "d6c99ae4202b1472f8baee3afc7dae95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31803, "upload_time": "2016-04-29T16:05:59", "url": "https://files.pythonhosted.org/packages/87/71/b9d85eba2832a157194c1bec48558f2e90f5e24b3bda73b3def9489a3856/pyaxiom-1.1.13.tar.gz" } ], "1.1.14": [ { "comment_text": "", "digests": { "md5": "c62c5d3ceb2ddc6cfea0ec883ee218a9", "sha256": "63f99d61d070652b9034489882cd6ddfccb88c0fc194b592f9c6f7c2f76cec27" }, "downloads": -1, "filename": "pyaxiom-1.1.14.tar.gz", "has_sig": false, "md5_digest": "c62c5d3ceb2ddc6cfea0ec883ee218a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31866, "upload_time": "2016-06-09T14:31:16", "url": "https://files.pythonhosted.org/packages/4c/e0/d5b8963010332ca4728e856af10b041ba9cf05b0bb53af5f0da5881a656e/pyaxiom-1.1.14.tar.gz" } ], "1.1.15": [ { "comment_text": "", "digests": { "md5": "798e3dfee54a8c7095b7f4ac12ca2b57", "sha256": "39a8dadb00d2a88b19f0dc30718f2e9a051e59bcb9ebe0d02c9b883b50834fbf" }, "downloads": -1, "filename": "pyaxiom-1.1.15.tar.gz", "has_sig": false, "md5_digest": "798e3dfee54a8c7095b7f4ac12ca2b57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31866, "upload_time": "2016-06-09T14:33:30", "url": "https://files.pythonhosted.org/packages/9b/3e/39f4f6d6abcb03cfad71f86bc18095e4b5fc76c38d1551158598104fc349/pyaxiom-1.1.15.tar.gz" } ], "1.1.16": [ { "comment_text": "", "digests": { "md5": "76453635f1132c3278c498266852a902", "sha256": "b1e2894a4a0f4b25acb9873a787f41672883b70202ab60d1fbe805d53363b03b" }, "downloads": -1, "filename": "pyaxiom-1.1.16.tar.gz", "has_sig": false, "md5_digest": "76453635f1132c3278c498266852a902", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31860, "upload_time": "2016-06-09T14:40:42", "url": "https://files.pythonhosted.org/packages/a8/9a/e4da837fbeac0ed0f36a9c307c950257894b2185ddafe7dc9ea1e8bc7962/pyaxiom-1.1.16.tar.gz" } ], "1.1.17": [ { "comment_text": "", "digests": { "md5": "5b68aa663aa7a5b46bbef814039fd457", "sha256": "b2e96c3e2d9d3331c064b3a82447a73f0276d996b60a036489907a193d099bad" }, "downloads": -1, "filename": "pyaxiom-1.1.17.tar.gz", "has_sig": false, "md5_digest": "5b68aa663aa7a5b46bbef814039fd457", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29646, "upload_time": "2016-07-29T00:36:37", "url": "https://files.pythonhosted.org/packages/a4/a2/03c9af1f61178fce4941fcff941a1905199dae63a26ba5fb376a337cb960/pyaxiom-1.1.17.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "ce38beb9fa61024c6d53b5be02d79431", "sha256": "26ade45ef5f9c75b02aa5ef5d2e5e51bf2c45dbc09f31ab6adcb21c52680bb37" }, "downloads": -1, "filename": "pyaxiom-1.1.2.tar.gz", "has_sig": false, "md5_digest": "ce38beb9fa61024c6d53b5be02d79431", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30793, "upload_time": "2015-12-22T17:34:37", "url": "https://files.pythonhosted.org/packages/0f/e7/4903c8f1f07ac6077f21bd07f2f5cbcc145b18b93b4a67c108f4d75d24c0/pyaxiom-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "56fd6425c52d4b3e50f9229878403d7c", "sha256": "f5202b091ff59420edcff0ab3838245ac563336875ba6a3bfe2b5f60710b8a83" }, "downloads": -1, "filename": "pyaxiom-1.1.3.tar.gz", "has_sig": false, "md5_digest": "56fd6425c52d4b3e50f9229878403d7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30798, "upload_time": "2015-12-22T17:37:27", "url": "https://files.pythonhosted.org/packages/79/bd/ac158e910931fe50b622d518732ff9d718089a00a83ada17eda0c0917b8c/pyaxiom-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "5bff6763325715fb3300cb2bb4df7274", "sha256": "ffc468516905a9f9c76f86f6407151e41b14f364413d6b39c5c10a8a99e5a071" }, "downloads": -1, "filename": "pyaxiom-1.1.4.tar.gz", "has_sig": false, "md5_digest": "5bff6763325715fb3300cb2bb4df7274", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30795, "upload_time": "2015-12-22T17:56:29", "url": "https://files.pythonhosted.org/packages/3f/51/4d76cf7c0197693d3bf72016076f38d650192961ab5dbbac10b628820a1c/pyaxiom-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "c3a3f2d67680c6ce88626349a170eb38", "sha256": "d6c0ffa2acf9ea5f810cc37da9e149082929785f1c3900263290bd0f290bcb29" }, "downloads": -1, "filename": "pyaxiom-1.1.5.tar.gz", "has_sig": false, "md5_digest": "c3a3f2d67680c6ce88626349a170eb38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30841, "upload_time": "2016-01-26T21:27:32", "url": "https://files.pythonhosted.org/packages/6e/a9/9de9dd163589fd19ef3144b72266d3657f853d4f1fe822d8071a3a29da44/pyaxiom-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "0f74379d27fc26cbef6053e68ad451d1", "sha256": "7f6de931bdc4a3852f4e33affefb70bda7fdda1f2f8e377b242d8df125c66f4f" }, "downloads": -1, "filename": "pyaxiom-1.1.6.tar.gz", "has_sig": false, "md5_digest": "0f74379d27fc26cbef6053e68ad451d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30839, "upload_time": "2016-01-26T21:30:44", "url": "https://files.pythonhosted.org/packages/0b/97/ea4cd9e8c51f1d0b3f6593ebd0f3941e5241fadf27353e0535848c963410/pyaxiom-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "5df3d91546c55b01fd882761d28c8165", "sha256": "b9e046f8eb9995e2ab4a110449b3c998932932bb6ad8502a3f321e133e02718a" }, "downloads": -1, "filename": "pyaxiom-1.1.7.tar.gz", "has_sig": false, "md5_digest": "5df3d91546c55b01fd882761d28c8165", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30958, "upload_time": "2016-02-02T15:54:28", "url": "https://files.pythonhosted.org/packages/bc/00/1213bbfbc1b96cad0877dd6cb37b1eca71c1112c1b0891fdc4770386a084/pyaxiom-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "c73d8218ce08e74bd636a759a4d85e8f", "sha256": "6f9155aace02da3696dbe4194a70bdccc9c99c5f76aac208b636349702df12e4" }, "downloads": -1, "filename": "pyaxiom-1.1.8.tar.gz", "has_sig": false, "md5_digest": "c73d8218ce08e74bd636a759a4d85e8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30194, "upload_time": "2016-02-22T20:29:14", "url": "https://files.pythonhosted.org/packages/42/18/f2f1b67b851961bf90247744621f68aec6198cf80b9d376e0ea5537e2753/pyaxiom-1.1.8.tar.gz" } ], "1.1.9": [ { "comment_text": "", "digests": { "md5": "f15634b0c9a7ae5e4f301f20804cbb78", "sha256": "575c916f56321d8eb9b205f38fd386ab844dabdd50308f8aef1bb1c58dcae216" }, "downloads": -1, "filename": "pyaxiom-1.1.9.tar.gz", "has_sig": false, "md5_digest": "f15634b0c9a7ae5e4f301f20804cbb78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30267, "upload_time": "2016-03-23T18:08:47", "url": "https://files.pythonhosted.org/packages/4f/cd/f9e8f967a951d129e1e6d3e0a0d60ab570974f34e43ea21b1edb08114721/pyaxiom-1.1.9.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "d4d88a35b868038ae619503935970016", "sha256": "e4a180f0fdc507fe668819bcc2d7204ca5ceefad609f7ab0177cd959639a4d0b" }, "downloads": -1, "filename": "pyaxiom-1.2.0.tar.gz", "has_sig": false, "md5_digest": "d4d88a35b868038ae619503935970016", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38819, "upload_time": "2016-08-03T03:02:35", "url": "https://files.pythonhosted.org/packages/54/d9/39bdae6d70e1317e3efac92fb7bccaf30eb84c286d61b245bf51bbd80b8f/pyaxiom-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "00e7b914441f5ff5432d5b9c6c361ad0", "sha256": "395ebd15d732e93b36952294faadc89c10c6c69638075b85cd742b2aa19643e0" }, "downloads": -1, "filename": "pyaxiom-1.2.1.tar.gz", "has_sig": false, "md5_digest": "00e7b914441f5ff5432d5b9c6c361ad0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40869, "upload_time": "2016-08-23T13:43:32", "url": "https://files.pythonhosted.org/packages/7a/a1/92c95aaf7c28e6caea8056a47b3fd5d15f226478e1191ee4ff991b95c97e/pyaxiom-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "8201b8065ad3f2f1913dc38701198a0c", "sha256": "31d50a16b2574538a84b249558afb1d3ad8177abe83e797cdf036633952d2cb4" }, "downloads": -1, "filename": "pyaxiom-1.2.2.tar.gz", "has_sig": false, "md5_digest": "8201b8065ad3f2f1913dc38701198a0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39269, "upload_time": "2016-08-29T02:35:05", "url": "https://files.pythonhosted.org/packages/cf/eb/90a74bfbe62a9027e55e42cfd4fa19207d0f905405da702fd43b1c98f388/pyaxiom-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "2e1cac6a389c2ea508e694de1ef41639", "sha256": "de9f5cb54058637c162468050bc3b5a8e3f25b4f7284e25a2a679f7504029d11" }, "downloads": -1, "filename": "pyaxiom-1.2.3.tar.gz", "has_sig": false, "md5_digest": "2e1cac6a389c2ea508e694de1ef41639", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39319, "upload_time": "2016-08-29T04:50:02", "url": "https://files.pythonhosted.org/packages/84/a3/5471262cca0880fae3f3c40b2ac97405b1088d5ada1e55e8fa3fa4b4a7cd/pyaxiom-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "8daa77f600b2edfbc972238b295d4f0c", "sha256": "19cbee4c3da3241a1d06817328c2d1c6c43f9456485d430affb29a8e13287d4a" }, "downloads": -1, "filename": "pyaxiom-1.2.4.tar.gz", "has_sig": false, "md5_digest": "8daa77f600b2edfbc972238b295d4f0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40890, "upload_time": "2016-09-14T17:04:29", "url": "https://files.pythonhosted.org/packages/f1/df/b715a861b3a7a580edc7446d9f895adc73b46b0fc116432a0bb6aa6f1c81/pyaxiom-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "89f4f7c61c6a7b9a5893a6908f70c46d", "sha256": "766605870ee76261d92a690a727662f6f1cc2ccbfed8558f86c8cd36bff155f3" }, "downloads": -1, "filename": "pyaxiom-1.2.5.tar.gz", "has_sig": false, "md5_digest": "89f4f7c61c6a7b9a5893a6908f70c46d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40880, "upload_time": "2016-09-14T18:33:57", "url": "https://files.pythonhosted.org/packages/bb/2f/cea4bcb07c35386c22c4bcd06df6ec40a9d3c2553d7714659fb4e0a0334b/pyaxiom-1.2.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "89f4f7c61c6a7b9a5893a6908f70c46d", "sha256": "766605870ee76261d92a690a727662f6f1cc2ccbfed8558f86c8cd36bff155f3" }, "downloads": -1, "filename": "pyaxiom-1.2.5.tar.gz", "has_sig": false, "md5_digest": "89f4f7c61c6a7b9a5893a6908f70c46d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40880, "upload_time": "2016-09-14T18:33:57", "url": "https://files.pythonhosted.org/packages/bb/2f/cea4bcb07c35386c22c4bcd06df6ec40a9d3c2553d7714659fb4e0a0334b/pyaxiom-1.2.5.tar.gz" } ] }