{ "info": { "author": "David Winslow, Sebastian Benthall", "author_email": "dwinslow@opengeo.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Scientific/Engineering :: GIS" ], "description": "gsconfig\n========\n\n.. image:: https://travis-ci.org/boundlessgeo/gsconfig.svg?branch=master\n :target: https://travis-ci.org/boundlessgeo/gsconfig\n\ngsconfig is a python library for manipulating a GeoServer instance via the GeoServer RESTConfig API. \n\nThe project is distributed under a `MIT License `_ .\n\nInstalling\n==========\n\n.. code-block:: shell\n\n pip install gsconfig\n\nFor developers:\n\n.. code-block:: shell\n\n git clone git@github.com:boundlessgeo/gsconfig.git\n cd gsconfig\n python setup.py develop\n\nGetting Help\n============\nThere is a brief manual at http://boundlessgeo.github.io/gsconfig/ .\nIf you have questions, please ask them on the GeoServer Users mailing list: http://geoserver.org/comm/ .\n\nPlease use the Github project at http://github.com/boundlessgeo/gsconfig for any bug reports (and pull requests are welcome, but please include tests where possible.)\n\nSample Layer Creation Code\n==========================\n\n.. code-block:: python\n\n from geoserver.catalog import Catalog\n cat = Catalog(\"http://localhost:8080/geoserver/\")\n topp = cat.get_workspace(\"topp\")\n shapefile_plus_sidecars = shapefile_and_friends(\"states\")\n # shapefile_and_friends should look on the filesystem to find a shapefile\n # and related files based on the base path passed in\n #\n # shapefile_plus_sidecars == {\n # 'shp': 'states.shp',\n # 'shx': 'states.shx',\n # 'prj': 'states.prj',\n # 'dbf': 'states.dbf'\n # }\n \n # 'data' is required (there may be a 'schema' alternative later, for creating empty featuretypes)\n # 'workspace' is optional (GeoServer's default workspace is used by... default)\n # 'name' is required\n ft = cat.create_featurestore(name, workspace=topp, data=shapefile_plus_sidecars)\n\nRunning Tests\n=============\n\nSince the entire purpose of this module is to interact with GeoServer, the test suite is mostly composed of `integration tests `_. \nThese tests necessarily rely on a running copy of GeoServer, and expect that this GeoServer instance will be using the default data directory that is included with GeoServer.\nThis data is also included in the GeoServer source repository as ``/data/release/``.\nIn addition, it is expected that there will be a postgres database available at ``postgres:password@localhost:5432/db``.\nYou can test connecting to this database with the ``psql`` command line client by running ``$ psql -d db -Upostgres -h localhost -p 5432`` (you will be prompted interactively for the password.)\n\nTo override the assumed database connection parameters, the following environment variables are supported:\n\n- DATABASE\n- DBUSER\n- DBPASS\n\nIf present, psycopg will be used to verify the database connection prior to running the tests.\n\nIf provided, the following environment variables will be used to reset the data directory:\n\nGEOSERVER_HOME\n Location of git repository to read the clean data from. If only this option is provided\n `git clean` will be used to reset the data.\nGEOSERVER_DATA_DIR\n Optional location of the data dir geoserver will be running with. If provided, `rsync`\n will be used to reset the data.\nGS_VERSION\n Optional environment variable allowing the catalog test cases to automatically download\n and start a vanilla GeoServer WAR form the web.\n Be sure that there are no running services on HTTP port 8080.\n\nHere are the commands that I use to reset before running the gsconfig tests:\n\n.. code-block:: shell\n\n $ cd ~/geoserver/src/web/app/\n $ PGUSER=postgres dropdb db\n $ PGUSER=postgres createdb db -T template_postgis\n $ git clean -dxff -- ../../../data/release/\n $ git checkout -f\n $ MAVEN_OPTS=\"-XX:PermSize=128M -Xmx1024M\" \\\n GEOSERVER_DATA_DIR=../../../data/release \\\n mvn jetty:run\n\nAt this point, GeoServer will be running foregrounded, but it will take a few seconds to actually begin listening for http requests.\nYou can stop it with ``CTRL-C`` (but don't do that until you've run the tests!)\nYou can run the gsconfig tests with the following command:\n\n.. code-block:: shell\n\n $ python setup.py test\n\nInstead of restarting GeoServer after each run to reset the data, the following should allow re-running the tests:\n\n.. code-block:: shell\n\n $ git clean -dxff -- ../../../data/release/\n $ curl -XPOST --user admin:geoserver http://localhost:8080/geoserver/rest/reload\n\nMore Examples - Updated for GeoServer 2.4+\n==========================================\n\nLoading the GeoServer ``catalog`` using ``gsconfig`` is quite easy. The example below allows you to connect to GeoServer by specifying custom credentials.\n\n.. code-block:: python\n\n from geoserver.catalog import Catalog\n cat = Catalog(\"http://localhost:8080/geoserver/rest/\", \"admin\", \"geoserver\")\n\nThe code below allows you to create a FeatureType from a Shapefile\n\n.. code-block:: python\n\n geosolutions = cat.get_workspace(\"geosolutions\")\n import geoserver.util\n shapefile_plus_sidecars = geoserver.util.shapefile_and_friends(\"C:/work/gsconfig/test/data/states\")\n # shapefile_and_friends should look on the filesystem to find a shapefile\n # and related files based on the base path passed in\n #\n # shapefile_plus_sidecars == {\n # 'shp': 'states.shp',\n # 'shx': 'states.shx',\n # 'prj': 'states.prj',\n # 'dbf': 'states.dbf'\n # }\n # 'data' is required (there may be a 'schema' alternative later, for creating empty featuretypes)\n # 'workspace' is optional (GeoServer's default workspace is used by... default)\n # 'name' is required\n ft = cat.create_featurestore(\"test\", shapefile_plus_sidecars, geosolutions)\n\nIt is possible to create JDBC Virtual Layers too. The code below allow to create a new SQL View called ``my_jdbc_vt_test`` defined by a custom ``sql``.\n\n.. code-block:: python\n\n from geoserver.catalog import Catalog\n from geoserver.support import JDBCVirtualTable, JDBCVirtualTableGeometry, JDBCVirtualTableParam\n\n cat = Catalog('http://localhost:8080/geoserver/rest/', 'admin', '****')\n store = cat.get_store('postgis-geoserver')\n geom = JDBCVirtualTableGeometry('newgeom','LineString','4326')\n ft_name = 'my_jdbc_vt_test'\n epsg_code = 'EPSG:4326'\n sql = 'select ST_MakeLine(wkb_geometry ORDER BY waypoint) As newgeom, assetid, runtime from waypoints group by assetid,runtime'\n keyColumn = None\n parameters = None\n\n jdbc_vt = JDBCVirtualTable(ft_name, sql, 'false', geom, keyColumn, parameters)\n ft = cat.publish_featuretype(ft_name, store, epsg_code, jdbc_virtual_table=jdbc_vt)\n \nThis example shows how to easily update a ``layer`` property. The same approach may be used with every ``catalog`` resource\n\n.. code-block:: python\n\n ne_shaded = cat.get_layer(\"ne_shaded\")\n ne_shaded.enabled=True\n cat.save(ne_shaded)\n cat.reload()\n\nDeleting a ``store`` from the ``catalog`` requires to purge all the associated ``layers`` first. This can be done by doing something like this:\n\n.. code-block:: python\n\n st = cat.get_store(\"ne_shaded\")\n cat.delete(ne_shaded)\n cat.reload()\n cat.delete(st)\n cat.reload()\n\nThere are some functionalities allowing to manage the ``ImageMosaic`` coverages. It is possible to create new ImageMosaics, add granules to them,\nand also read the coverages metadata, modify the mosaic ``Dimensions`` and finally query the mosaic ``granules`` and list their properties.\n\nThe gsconfig methods map the `REST APIs for ImageMosaic `_\n\nIn order to create a new ImageMosaic layer, you can prepare a zip file containing the properties files for the mosaic configuration. Refer to the GeoTools ImageMosaic Plugin guide\nin order to get details on the mosaic configuration. The package contains an already configured zip file with two granules.\nYou need to update or remove the ``datastore.properties`` file before creating the mosaic otherwise you will get an exception.\n\n.. code-block:: python\n\n from geoserver.catalog import Catalog\n cat = Catalog(\"http://localhost:8180/geoserver/rest\")\n cat.create_imagemosaic(\"NOAAWW3_NCOMultiGrid_WIND_test\", \"NOAAWW3_NCOMultiGrid_WIND_test.zip\")\n\nBy defualt the ``cat.create_imagemosaic`` tries to configure the layer too. If you want to create the store only, you can specify the following parameter\n\n.. code-block:: python\n\n cat.create_imagemosaic(\"NOAAWW3_NCOMultiGrid_WIND_test\", \"NOAAWW3_NCOMultiGrid_WIND_test.zip\", \"none\")\n\nIn order to retrieve from the catalog the ImageMosaic coverage store you can do this\n\n.. code-block:: python\n\n store = cat.get_store(\"NOAAWW3_NCOMultiGrid_WIND_test\")\n\nIt is possible to add more granules to the mosaic at runtime.\nWith the following method you can add granules already present on the machine local path.\n\n.. code-block:: python\n\n cat.harvest_externalgranule(\"file://D:/Work/apache-tomcat-6.0.16/instances/data/data/MetOc/NOAAWW3/20131001/WIND/NOAAWW3_NCOMultiGrid__WIND_000_20131001T000000.tif\", store)\n\nThe method below allows to send granules remotely via POST to the ImageMosaic.\nThe granules will be uploaded and stored on the ImageMosaic index folder.\n\n.. code-block:: python\n\n cat.harvest_uploadgranule(\"NOAAWW3_NCOMultiGrid__WIND_000_20131002T000000.zip\", store)\n\nTo delete an ImageMosaic store, you can follow the standard approach, by deleting the layers first.\n*ATTENTION*: at this time you need to manually cleanup the data dir from the mosaic granules and, in case you used a DB datastore, you must also drop the mosaic tables.\n\n.. code-block:: python\n\n layer = cat.get_layer(\"NOAAWW3_NCOMultiGrid_WIND_test\")\n cat.delete(layer)\n cat.reload()\n cat.delete(store)\n cat.reload()\n\nThe method below allows you the load and update the coverage metadata of the ImageMosaic.\nYou need to do this for every coverage of the ImageMosaic of course.\n\n.. code-block:: python\n\n coverage = cat.get_resource_by_url(\"http://localhost:8180/geoserver/rest/workspaces/natocmre/coveragestores/NOAAWW3_NCOMultiGrid_WIND_test/coverages/NOAAWW3_NCOMultiGrid_WIND_test.xml\")\n coverage.supported_formats = ['GEOTIFF']\n cat.save(coverage)\n\nBy default the ImageMosaic layer has not the coverage dimensions configured. It is possible using the coverage metadata to update and manage the coverage dimensions.\n*ATTENTION*: notice that the ``presentation`` parameters accepts only one among the following values {'LIST', 'DISCRETE_INTERVAL', 'CONTINUOUS_INTERVAL'}\n\n.. code-block:: python\n\n from geoserver.support import DimensionInfo\n timeInfo = DimensionInfo(\"time\", \"true\", \"LIST\", None, \"ISO8601\", None)\n coverage.metadata = ({'dirName':'NOAAWW3_NCOMultiGrid_WIND_test_NOAAWW3_NCOMultiGrid_WIND_test', 'time': timeInfo})\n cat.save(coverage)\n\nOnce the ImageMosaic has been configured, it is possible to read the coverages along with their granule schema and granule info.\n\n.. code-block:: python\n\n from geoserver.catalog import Catalog\n cat = Catalog(\"http://localhost:8180/geoserver/rest\")\n store = cat.get_store(\"NOAAWW3_NCOMultiGrid_WIND_test\")\n coverages = cat.mosaic_coverages(store)\n schema = cat.mosaic_coverage_schema(coverages['coverages']['coverage'][0]['name'], store)\n granules = cat.list_granules(coverages['coverages']['coverage'][0]['name'], store)\n\nThe granules details can be easily read by doing something like this:\n\n.. code-block:: python\n\n granules['crs']['properties']['name']\n granules['features']\n granules['features'][0]['properties']['time']\n granules['features'][0]['properties']['location']\n granules['features'][0]['properties']['run']\n\nWhen the mosaic grows up and starts having a huge set of granules, you may need to filter the granules query through a CQL filter on the coverage schema attributes.\n\n.. code-block:: python\n\n granules = cat.list_granules(coverages['coverages']['coverage'][0]['name'], store, \"time >= '2013-10-01T03:00:00.000Z'\")\n granules = cat.list_granules(coverages['coverages']['coverage'][0]['name'], store, \"time >= '2013-10-01T03:00:00.000Z' AND run = 0\")\n granules = cat.list_granules(coverages['coverages']['coverage'][0]['name'], store, \"location LIKE '%20131002T000000.tif'\")\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/boundlessgeo/gsconfig", "keywords": "GeoServer REST Configuration", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "gsconfig", "package_url": "https://pypi.org/project/gsconfig/", "platform": "", "project_url": "https://pypi.org/project/gsconfig/", "project_urls": { "Homepage": "https://github.com/boundlessgeo/gsconfig" }, "release_url": "https://pypi.org/project/gsconfig/1.0.10/", "requires_dist": null, "requires_python": "", "summary": "GeoServer REST Configuration", "version": "1.0.10" }, "last_serial": 4083026, "releases": { "0.5": [ { "comment_text": "", "digests": { "md5": "344ac6e00c5ca2a3779605eb42fa6974", "sha256": "09aa78152490db3b9b2027a1a076755ae5ff0cfa5dce37ec22181256fa57ecf5" }, "downloads": -1, "filename": "gsconfig-0.5.tar.gz", "has_sig": false, "md5_digest": "344ac6e00c5ca2a3779605eb42fa6974", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11767, "upload_time": "2012-04-12T21:59:48", "url": "https://files.pythonhosted.org/packages/19/43/ba158dadc2c4b5c76b51e6392ee9d18758dba1bf6dbb45b43161ffaade37/gsconfig-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "775c970fa81de213a455399a5e8ee13a", "sha256": "f843e081c37a5aab1d48acfa1a768a3d2dfd507ce2b9b50474194f3bad9cee90" }, "downloads": -1, "filename": "gsconfig-0.5.1.tar.gz", "has_sig": false, "md5_digest": "775c970fa81de213a455399a5e8ee13a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11744, "upload_time": "2012-04-12T22:00:49", "url": "https://files.pythonhosted.org/packages/16/4a/9adee0fc3eeb78d5aa828666267444312e562b471111054714a50c56a592/gsconfig-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "f2091547f713a7ff2559520aa55df046", "sha256": "deaeb1188904e743e0c368708aab81550dd1e9cb97ca21f02ddddf3c3d62733e" }, "downloads": -1, "filename": "gsconfig-0.5.2.tar.gz", "has_sig": false, "md5_digest": "f2091547f713a7ff2559520aa55df046", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11781, "upload_time": "2012-04-12T22:06:36", "url": "https://files.pythonhosted.org/packages/23/a9/bea60ca5fa14e61702fbee0ec05d442b642759f39680d886e7fd1bd8eaf8/gsconfig-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "f4b2a204fd582db06f6d623779ac00d6", "sha256": "d7968d80d564ac51f25fa1706de0400154c093402ab2e2ad88f218795f94975a" }, "downloads": -1, "filename": "gsconfig-0.5.3.tar.gz", "has_sig": false, "md5_digest": "f4b2a204fd582db06f6d623779ac00d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11795, "upload_time": "2012-04-12T22:37:06", "url": "https://files.pythonhosted.org/packages/de/5f/1e5a1a1cd1e5ddab434e4db05fcc5ec178321fa4a5592027f144a516e450/gsconfig-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "4090fc5d9de0ddbcc2d3f2adf727a53f", "sha256": "d05f6e816fc6e0fc06cc8a9cb77544249646c9076aeb65d38a003614f579e387" }, "downloads": -1, "filename": "gsconfig-0.5.4.tar.gz", "has_sig": false, "md5_digest": "4090fc5d9de0ddbcc2d3f2adf727a53f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11835, "upload_time": "2012-04-14T00:36:43", "url": "https://files.pythonhosted.org/packages/34/5e/3dd22bc1f6fe4276d8dfccda1bda0c6a6c57d1b9709b9151184a0cbb34f2/gsconfig-0.5.4.tar.gz" } ], "0.5.5": [ { "comment_text": "", "digests": { "md5": "a9fcb47304c61323faf689c528a61771", "sha256": "4de045d2dd2d2bfaaccf1aecc20660a7b22560392b8cf3b3cce6d98bab5f5c12" }, "downloads": -1, "filename": "gsconfig-0.5.5.tar.gz", "has_sig": false, "md5_digest": "a9fcb47304c61323faf689c528a61771", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12124, "upload_time": "2012-07-14T22:33:47", "url": "https://files.pythonhosted.org/packages/44/87/6b9a7e1066b4a20dd3218f803ea1b69403d8ba84e078b3fbee20e01551ef/gsconfig-0.5.5.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "2614a7b57f87636618068b4a07c98c1f", "sha256": "10b87de03aa621e0c08092eac1168adac3017ac3b0c27efdbaa1b8d4bb1dc8e6" }, "downloads": -1, "filename": "gsconfig-0.6.0.tar.gz", "has_sig": false, "md5_digest": "2614a7b57f87636618068b4a07c98c1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13983, "upload_time": "2012-07-24T21:28:54", "url": "https://files.pythonhosted.org/packages/49/51/4697d63dcbf11fb19f930a50a80d56363eeea09f6b50c32281de10d2e16b/gsconfig-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "7b7b4ccba473de0b0c9ec893c9fa4d86", "sha256": "17f4f2bc5a7d16b71346a1b4a23661da4af63803e1692b119bea49b104919acf" }, "downloads": -1, "filename": "gsconfig-0.6.1.tar.gz", "has_sig": false, "md5_digest": "7b7b4ccba473de0b0c9ec893c9fa4d86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14028, "upload_time": "2012-09-05T15:16:28", "url": "https://files.pythonhosted.org/packages/78/22/b51d4d87ee5b7969ce8c344ccd7045be6e7497fde562d1c6af99e0c1612f/gsconfig-0.6.1.tar.gz" } ], "0.6.10": [ { "comment_text": "", "digests": { "md5": "3e0d14c8fa098681e441f25d47992fad", "sha256": "de15aa210788631337495d5ebaa6c72a8425e518427d92f6a9f06df0d51ac22e" }, "downloads": -1, "filename": "gsconfig-0.6.10.tar.gz", "has_sig": false, "md5_digest": "3e0d14c8fa098681e441f25d47992fad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24051, "upload_time": "2014-10-21T21:09:31", "url": "https://files.pythonhosted.org/packages/2e/29/86543d0ffb4de48dfa6082206739ed776080f9dcf1332437cb6015ca434c/gsconfig-0.6.10.tar.gz" } ], "0.6.11": [ { "comment_text": "", "digests": { "md5": "6b87f11307d3c7e51a313b621dad2a1a", "sha256": "061456907c4dfeaa795de9f271cdd2c40ae940f8f2b6bc5e0eed582fa4c3af98" }, "downloads": -1, "filename": "gsconfig-0.6.11.tar.gz", "has_sig": false, "md5_digest": "6b87f11307d3c7e51a313b621dad2a1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25145, "upload_time": "2014-11-12T19:55:55", "url": "https://files.pythonhosted.org/packages/34/55/1f574636e1e516e84aa8be60405be8d3ca3a11d5203970af0de9507ec4cf/gsconfig-0.6.11.tar.gz" } ], "0.6.12": [ { "comment_text": "", "digests": { "md5": "129d250fe45738f730a899ce1fb930d6", "sha256": "f8b379e2c34264ea94142798cd4fec1eb44f3e53eb678e4bde7475c613011b0f" }, "downloads": -1, "filename": "gsconfig-0.6.12.tar.gz", "has_sig": false, "md5_digest": "129d250fe45738f730a899ce1fb930d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24479, "upload_time": "2015-02-04T09:16:27", "url": "https://files.pythonhosted.org/packages/f1/bb/68ce7ed822b087b4fa32c737785bc8ab9d54cd120ba2de2d0b19bb1604af/gsconfig-0.6.12.tar.gz" } ], "0.6.13": [ { "comment_text": "", "digests": { "md5": "048fca7f457a71ced8821e0679698954", "sha256": "f20dee4151c6b77fc8c5b5b7e4e578a7f3fc0fe3234e97565cae46aa14066ae2" }, "downloads": -1, "filename": "gsconfig-0.6.13.tar.gz", "has_sig": false, "md5_digest": "048fca7f457a71ced8821e0679698954", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24500, "upload_time": "2015-02-12T10:40:58", "url": "https://files.pythonhosted.org/packages/19/74/8f2721ace6a6896ba4bf61edd0a4aa85246f7804cb1547e1af4c47e54432/gsconfig-0.6.13.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "21f66a114c770fa32269bd69113ea663", "sha256": "2ece653728b6fe6e858cd7b49600e1ced8d2bcfae54db426217c4da514b463af" }, "downloads": -1, "filename": "gsconfig-0.6.2.tar.gz", "has_sig": false, "md5_digest": "21f66a114c770fa32269bd69113ea663", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24507, "upload_time": "2015-02-12T10:35:21", "url": "https://files.pythonhosted.org/packages/0c/2a/46ff8620e43b05b44287c61f4492437db231edd64de606b92caf0b11378d/gsconfig-0.6.2.tar.gz" }, { "comment_text": "", "digests": { "md5": "016ceddaa3d296f5408b94ce91381417", "sha256": "a903f6141a8805a5f526ba479bc18e4b5fdf76cf07880825dd93a31a494c7d07" }, "downloads": -1, "filename": "gsconfig-0.6.2.zip", "has_sig": false, "md5_digest": "016ceddaa3d296f5408b94ce91381417", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20445, "upload_time": "2013-03-20T04:58:42", "url": "https://files.pythonhosted.org/packages/e1/c5/875a3d2a7319be61219b868853614ce52c9431969ba77cd68fcc17b4b2d9/gsconfig-0.6.2.zip" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "6f598bc4b9036ff2add99262bbeb7059", "sha256": "354eff9029a6b61a1a03f3df152b0f3e40410e8ffab4e5aa46ddb12590c844ef" }, "downloads": -1, "filename": "gsconfig-0.6.3.tar.gz", "has_sig": false, "md5_digest": "6f598bc4b9036ff2add99262bbeb7059", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14291, "upload_time": "2013-04-24T13:51:00", "url": "https://files.pythonhosted.org/packages/d9/08/779d3c4da73daf7001ddd8c8fb06e0fa64d9da7d9a498dd944c750ec626b/gsconfig-0.6.3.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "f73b03848d84039d8cb1e00ccadf805f", "sha256": "54327c13f06e92005b0aff122a10e7788d3fe4e6aab8e1dd839c24cedff97f4b" }, "downloads": -1, "filename": "gsconfig-0.6.4.tar.gz", "has_sig": false, "md5_digest": "f73b03848d84039d8cb1e00ccadf805f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14797, "upload_time": "2013-09-13T18:54:29", "url": "https://files.pythonhosted.org/packages/fb/83/3f77af07e19bf89faa61ecdfe6f2717b87557d55c868fbcaaff0e7043017/gsconfig-0.6.4.tar.gz" } ], "0.6.5": [ { "comment_text": "", "digests": { "md5": "501ffa6cbc158902fa318073f3fd22b4", "sha256": "c476dcdddda875c9e3f61e2556fb0df220eabfa00101574be5d2dcd6fb0b4db7" }, "downloads": -1, "filename": "gsconfig-0.6.5.tar.gz", "has_sig": false, "md5_digest": "501ffa6cbc158902fa318073f3fd22b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15283, "upload_time": "2013-09-20T15:59:15", "url": "https://files.pythonhosted.org/packages/94/b0/ad896d0bf342355185f85003c9aa72e44c4a97c49201367f7add22896c7e/gsconfig-0.6.5.tar.gz" } ], "0.6.6": [ { "comment_text": "", "digests": { "md5": "149b6d9e0cb701a737444c76eddc44bb", "sha256": "09e47839d8ec0f07b47c0b784448d1eeedc2310b99651ed4d7f1741df385926e" }, "downloads": -1, "filename": "gsconfig-0.6.6.tar.gz", "has_sig": false, "md5_digest": "149b6d9e0cb701a737444c76eddc44bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15484, "upload_time": "2013-09-20T17:28:28", "url": "https://files.pythonhosted.org/packages/ff/6e/bfce045591f91dc1cd2f7de0e3dc59fe483a1bca8ec67c0890ccbb1f4260/gsconfig-0.6.6.tar.gz" } ], "0.6.7": [ { "comment_text": "", "digests": { "md5": "ac56650ef27c327eff829ebc95e1c65a", "sha256": "3a2b284a2d76999688c7ba7e6eeccf40c39415460cf1757169ec2218108c7010" }, "downloads": -1, "filename": "gsconfig-0.6.7.tar.gz", "has_sig": false, "md5_digest": "ac56650ef27c327eff829ebc95e1c65a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15526, "upload_time": "2013-09-26T16:47:33", "url": "https://files.pythonhosted.org/packages/2b/20/c5d38ec8196459e5382cd9a478475a979f3d158588ed494795da01ebfcdd/gsconfig-0.6.7.tar.gz" } ], "0.6.8": [ { "comment_text": "", "digests": { "md5": "8125ce97133a92d49ec88afb0ff38988", "sha256": "2eba418ffd13c2e6ad41c79fd8fe696c1796f37990168a0fe847435ddfe1976b" }, "downloads": -1, "filename": "gsconfig-0.6.8.tar.gz", "has_sig": false, "md5_digest": "8125ce97133a92d49ec88afb0ff38988", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22607, "upload_time": "2014-04-11T15:12:16", "url": "https://files.pythonhosted.org/packages/58/7d/38ea4c0fa57d3f0c9b40492c649600c07401fe6515d84deb66cbb196f76b/gsconfig-0.6.8.tar.gz" } ], "0.6.9": [ { "comment_text": "", "digests": { "md5": "c8216337621305f7f275f59234b6f5bf", "sha256": "852bacad1403a363de935c096fd6308550fe67d57a4ab5f64a7bfa3c9150b7db" }, "downloads": -1, "filename": "gsconfig-0.6.9.tar.gz", "has_sig": false, "md5_digest": "c8216337621305f7f275f59234b6f5bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23206, "upload_time": "2014-04-16T16:00:35", "url": "https://files.pythonhosted.org/packages/11/09/9378394c1bdcd48b4f241b024669cce519dfe2fb69fd42c201807ff0b09d/gsconfig-0.6.9.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "79a53577ab015984089a9eba4a83a860", "sha256": "0853188db9b5a0fb2ae09fa1093afe28193147eb5ced76a7c652789277fdff20" }, "downloads": -1, "filename": "gsconfig-0.7.0.tar.gz", "has_sig": false, "md5_digest": "79a53577ab015984089a9eba4a83a860", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28283, "upload_time": "2015-09-28T21:35:46", "url": "https://files.pythonhosted.org/packages/6a/1f/b2e366d64699710e4f75c187ca4e368f8ac51db767665413a988bbeb650c/gsconfig-0.7.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "bf0cc737c57ec1693e1c8e53a2d852f0", "sha256": "869007cd4ae826811e0eceb378d0c713eb1b732eada25b4fa815cfeda560b756" }, "downloads": -1, "filename": "gsconfig-1.0.0.tar.gz", "has_sig": false, "md5_digest": "bf0cc737c57ec1693e1c8e53a2d852f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28294, "upload_time": "2015-09-28T21:39:30", "url": "https://files.pythonhosted.org/packages/4f/2f/42f280d0ff821098b8ee5693960be4e3e3a3e5504ebe927d7dea8c010dc7/gsconfig-1.0.0.tar.gz" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "b95eb7afaf8a6eba28a9952aeb18019e", "sha256": "aded890cea742095c28103b0c10111e9947a12a57c52bfd0333614d612532ebd" }, "downloads": -1, "filename": "gsconfig-1.0.10.tar.gz", "has_sig": false, "md5_digest": "b95eb7afaf8a6eba28a9952aeb18019e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28665, "upload_time": "2018-07-19T16:55:45", "url": "https://files.pythonhosted.org/packages/a1/f2/2bde043ed1238643e6459674ac75534defecde2ff13b1532eccb732c0bd8/gsconfig-1.0.10.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "aad520f446cc563eeb341f78897928bb", "sha256": "4591004f15147ef19ea96df4c144c8e0626bf9787a2a08b13712549946a980cd" }, "downloads": -1, "filename": "gsconfig-1.0.3.tar.gz", "has_sig": false, "md5_digest": "aad520f446cc563eeb341f78897928bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27274, "upload_time": "2015-11-18T17:36:54", "url": "https://files.pythonhosted.org/packages/85/a9/ec6bf3d2de4763a826d6b2b569d7e1b22e8c660c3bd110bb22ea060fad39/gsconfig-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "391dbf3a94071f54b33cc9f3da2c0fd4", "sha256": "6eaf294390eb7bf897f75b49a28dccb657b2f3bdfa6510e5055e59613c30f528" }, "downloads": -1, "filename": "gsconfig-1.0.4.zip", "has_sig": false, "md5_digest": "391dbf3a94071f54b33cc9f3da2c0fd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38536, "upload_time": "2016-07-11T03:57:59", "url": "https://files.pythonhosted.org/packages/dc/2d/556998ed7a2e332d82cbef32a60f477f89cb7e6d62d3cba9b02e30ad41fc/gsconfig-1.0.4.zip" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "299b0245c5a233e312bfc6c734509c4d", "sha256": "c520cf27dc24e7fbf3bfe99007e6adb7882f5f3ebba705e59bfa1652c126d960" }, "downloads": -1, "filename": "gsconfig-1.0.6-py2-none-any.whl", "has_sig": false, "md5_digest": "299b0245c5a233e312bfc6c734509c4d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 33580, "upload_time": "2016-07-28T20:14:10", "url": "https://files.pythonhosted.org/packages/fb/2b/9a89b84ef0ed2112d80b990ad9630c4578c18ed2d1bdc163fdee37021589/gsconfig-1.0.6-py2-none-any.whl" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "9fc5e6903c98faa83b6760ec98fd768e", "sha256": "99f0c1b165f43e117657b87330f9ffe7546e3e8ab9f312b65d47a17d81f2c18d" }, "downloads": -1, "filename": "gsconfig-1.0.7.tar.gz", "has_sig": false, "md5_digest": "9fc5e6903c98faa83b6760ec98fd768e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28850, "upload_time": "2017-10-09T16:39:58", "url": "https://files.pythonhosted.org/packages/21/8f/1b31f6ab8c123dda44f520a7524ba3bfca3fb7864c7cfbf7bc8aa7c42895/gsconfig-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "0077e7ba335b07f645438b5b26818881", "sha256": "84f6be39af9da7b5eff674a98900307410386ba707c4326307a3bec4de802df5" }, "downloads": -1, "filename": "gsconfig-1.0.8.zip", "has_sig": false, "md5_digest": "0077e7ba335b07f645438b5b26818881", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39197, "upload_time": "2017-10-10T15:02:18", "url": "https://files.pythonhosted.org/packages/de/03/218ef29ed093e2a821f4170b42a2bb120b972406cfd71f4592bfe5d5ecbe/gsconfig-1.0.8.zip" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "e1fbab45b926f77a5cfbb13522e7823a", "sha256": "6b020b265182c25b22e4ac0ca808ffa79617f3434bf2413990ae2a99981cff93" }, "downloads": -1, "filename": "gsconfig-1.0.9.tar.gz", "has_sig": false, "md5_digest": "e1fbab45b926f77a5cfbb13522e7823a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28904, "upload_time": "2018-04-26T14:43:04", "url": "https://files.pythonhosted.org/packages/18/e3/6e510ff0f459b84a737fa01b2e1107d243c30ab5a7f48c79e3ad6023da4d/gsconfig-1.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b95eb7afaf8a6eba28a9952aeb18019e", "sha256": "aded890cea742095c28103b0c10111e9947a12a57c52bfd0333614d612532ebd" }, "downloads": -1, "filename": "gsconfig-1.0.10.tar.gz", "has_sig": false, "md5_digest": "b95eb7afaf8a6eba28a9952aeb18019e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28665, "upload_time": "2018-07-19T16:55:45", "url": "https://files.pythonhosted.org/packages/a1/f2/2bde043ed1238643e6459674ac75534defecde2ff13b1532eccb732c0bd8/gsconfig-1.0.10.tar.gz" } ] }