{"id":13593785,"url":"https://github.com/gicait/geoserver-rest","last_synced_at":"2025-10-21T19:48:33.612Z","repository":{"id":38686224,"uuid":"290667660","full_name":"gicait/geoserver-rest","owner":"gicait","description":"Python library for management of geospatial data in GeoServer.  ","archived":false,"fork":false,"pushed_at":"2025-01-24T17:36:06.000Z","size":28585,"stargazers_count":206,"open_issues_count":10,"forks_count":80,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-26T13:06:03.431Z","etag":null,"topics":["featurestore","gdal","geoserver","geoserver-rest","geoserver-rest-python","gis","pycurl","python","python-geoserver","raster","raster-data","sld","workspace"],"latest_commit_sha":null,"homepage":"https://geoserver-rest.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gicait.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-27T03:39:41.000Z","updated_at":"2025-03-16T18:03:48.000Z","dependencies_parsed_at":"2023-11-17T06:10:25.346Z","dependency_job_id":"0be75082-b18d-40c5-a6db-58daf8aee482","html_url":"https://github.com/gicait/geoserver-rest","commit_stats":{"total_commits":300,"total_committers":31,"mean_commits":9.67741935483871,"dds":0.6833333333333333,"last_synced_commit":"d0b7a5d3a86d5e46d58d767e0debfa570236dc7d"},"previous_names":["iamtekson/geoserver-rest-python"],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gicait%2Fgeoserver-rest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gicait%2Fgeoserver-rest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gicait%2Fgeoserver-rest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gicait%2Fgeoserver-rest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gicait","download_url":"https://codeload.github.com/gicait/geoserver-rest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247986926,"owners_count":21028890,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["featurestore","gdal","geoserver","geoserver-rest","geoserver-rest-python","gis","pycurl","python","python-geoserver","raster","raster-data","sld","workspace"],"created_at":"2024-08-01T16:01:24.510Z","updated_at":"2025-10-21T19:48:28.579Z","avatar_url":"https://github.com/gicait.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Python wrapper for GeoServer REST API\n\n[![Downloads](https://pepy.tech/badge/geoserver-rest)](https://pepy.tech/project/geoserver-rest)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![flake8](https://img.shields.io/badge/linter-flake8-green)](https://flake8.pycqa.org/)\n[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat\u0026labelColor=ef8336)](https://pycqa.github.io/isort/)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)](https://github.com/pre-commit/pre-commit)\n\n## Full documentation\n\nThe documentation for this project is moved here: [https://geoserver-rest.readthedocs.io/](https://geoserver-rest.readthedocs.io/).\n\n## Overview\n\nThe `geoserver-rest` package is useful for the management of geospatial data in [GeoServer](http://geoserver.org/). The package is useful for the creating, updating and deleting geoserver workspaces, stores, layers, and style files.\n\n## Installation\n\n```python\nconda install -c conda-forge geoserver-rest\n```\n\nFor the `pip` installation, check the [official documentation of geoserver-rest](https://geoserver-rest.readthedocs.io/en/latest/installation.html)\n\n## Some examples\n\nPlease check the [https://geoserver-rest.readthedocs.io/](https://geoserver-rest.readthedocs.io/) for full documentation.\n\n```python\n# Import the library\nfrom geo.Geoserver import Geoserver\n\n# Initialize the library\ngeo = Geoserver('http://127.0.0.1:8080/geoserver', username='admin', password='geoserver')\n\n# For creating workspace\ngeo.create_workspace(workspace='demo')\n\n# For uploading raster data to the geoserver\ngeo.create_coveragestore(layer_name='layer1', path=r'path\\to\\raster\\file.tif', workspace='demo')\n\n# For creating postGIS connection and publish postGIS table\ngeo.create_featurestore(store_name='geo_data', workspace='demo', db='postgres', host='localhost', pg_user='postgres',\n                        pg_password='admin')\ngeo.publish_featurestore(workspace='demo', store_name='geo_data', pg_table='geodata_table_name')\n\n# For uploading SLD file and connect it with layer\ngeo.upload_style(path=r'path\\to\\sld\\file.sld', workspace='demo')\ngeo.publish_style(layer_name='geoserver_layer_name', style_name='sld_file_name', workspace='demo')\n\n# delete workspace\ngeo.delete_workspace(workspace='demo')\n\n# delete layer\ngeo.delete_layer(layer_name='layer1', workspace='demo')\n\n# delete style file\ngeo.delete_style(style_name='style1', workspace='demo')\n```\n\nTo create the dynamic style you need to install the extra dependencies as, `gdal`, `seaborn` and `matplotlib`. The below functions will be only available after installing the full package `geoserver-rest[all]` or `geoserver-rest[style]`,\n\n```python\n# For creating the style file for raster data dynamically and connect it with layer\ngeo.create_coveragestyle(raster_path=r'path\\to\\raster\\file.tiff', style_name='style_1', workspace='demo',\n                         color_ramp='RdYiGn')\ngeo.publish_style(layer_name='geoserver_layer_name', style_name='raster_file_name', workspace='demo')\n\n# For creating outline featurestyle\ngeo.create_outline_featurestyle(style_name='style1', color='#ff0000')\n\n```\n\n## Contribution\n\nGeoserver-rest is the open source library written in python and contributors are needed to keep this library moving forward. Any kind of contributions are welcome. Here are the basic rule for the new contributors:\n\n1. Please use the request library for the http request.\n2. One feature per pull request (If the PR is huge, you need to create a issue and discuss).\n3. Please add the update about your PR on the [change log documentation](https://github.com/gicait/geoserver-rest/blob/master/docs/source/change_log.rst#master-branch) as well.\n\n## Citation\n\nFull paper is available here: https://doi.org/10.5194/isprs-archives-XLVI-4-W2-2021-91-2021\n\n```\n@Article{isprs-archives-XLVI-4-W2-2021-91-2021,\n      AUTHOR = {Tek Bahadur Kshetri, Angsana Chaksana and Shraddha Sharma},\n      TITLE = {THE ROLE OF OPEN-SOURCE PYTHON PACKAGE GEOSERVER-REST IN WEB-GIS DEVELOPMENT},\n      JOURNAL = {The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences},\n      VOLUME = {XLVI-4/W2-2021},\n      YEAR = {2021},\n      PAGES = {91--96},\n      URL = {https://www.int-arch-photogramm-remote-sens-spatial-inf-sci.net/XLVI-4-W2-2021/91/2021/},\n      DOI = {10.5194/isprs-archives-XLVI-4-W2-2021-91-2021}\n  }\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgicait%2Fgeoserver-rest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgicait%2Fgeoserver-rest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgicait%2Fgeoserver-rest/lists"}