{"id":22132068,"url":"https://github.com/joshuasundance-swca/restgdf_api","last_synced_at":"2025-07-25T19:32:45.589Z","repository":{"id":206580220,"uuid":"717227167","full_name":"joshuasundance-swca/restgdf_api","owner":"joshuasundance-swca","description":"openapi-documented arcgis proxy \u0026 geospatial data discovery server","archived":false,"fork":false,"pushed_at":"2024-07-10T04:34:31.000Z","size":79,"stargazers_count":4,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-07-10T06:50:46.588Z","etag":null,"topics":["arcgis","gis","openapi"],"latest_commit_sha":null,"homepage":"","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/joshuasundance-swca.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2023-11-10T21:22:19.000Z","updated_at":"2024-06-18T14:38:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"bf0d4f07-9e2b-4123-88b0-85b0d69ab108","html_url":"https://github.com/joshuasundance-swca/restgdf_api","commit_stats":null,"previous_names":["joshuasundance-swca/restgdf_api"],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshuasundance-swca%2Frestgdf_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshuasundance-swca%2Frestgdf_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshuasundance-swca%2Frestgdf_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshuasundance-swca%2Frestgdf_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joshuasundance-swca","download_url":"https://codeload.github.com/joshuasundance-swca/restgdf_api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227614015,"owners_count":17793930,"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":["arcgis","gis","openapi"],"created_at":"2024-12-01T18:39:26.108Z","updated_at":"2024-12-01T18:39:26.847Z","avatar_url":"https://github.com/joshuasundance-swca.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# restgdf_api\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![python](https://img.shields.io/badge/Python-3.11-3776AB.svg?style=flat\u0026logo=python\u0026logoColor=white)](https://www.python.org)\n\n[![Push to Docker Hub](https://github.com/joshuasundance-swca/restgdf_api/actions/workflows/docker-hub.yml/badge.svg)](https://github.com/joshuasundance-swca/restgdf_api/actions/workflows/docker-hub.yml)\n[![restgdf_api on Docker Hub](https://img.shields.io/docker/v/joshuasundance/restgdf_api?label=restgdf_api\u0026logo=docker)](https://hub.docker.com/r/joshuasundance/restgdf_api)\n[![Docker Image Size (tag)](https://img.shields.io/docker/image-size/joshuasundance/restgdf_api/latest)](https://hub.docker.com/r/joshuasundance/restgdf_api)\n\n![Code Climate maintainability](https://img.shields.io/codeclimate/maintainability/joshuasundance-swca/restgdf_api)\n![Code Climate issues](https://img.shields.io/codeclimate/issues/joshuasundance-swca/restgdf_api)\n![Code Climate technical debt](https://img.shields.io/codeclimate/tech-debt/joshuasundance-swca/restgdf_api)\n\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[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)\n[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n[![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)\n![Known Vulnerabilities](https://snyk.io/test/github/joshuasundance-swca/restgdf_api/badge.svg)\n\n\n🤖 This `README` was written by GPT-4. 🤖\n\n## Overview\n`restgdf_api` is an asynchronous server powered by [FastAPI](https://github.com/tiangolo/fastapi) and the open-source [restgdf](https://github.com/joshuasundance-swca/restgdf) library. It acts as an efficient, user-friendly proxy for ArcGIS servers, offering high-speed interactions with ArcGIS FeatureLayers. With comprehensive OpenAPI documentation, this API simplifies and accelerates the process of accessing and managing GIS data, making it an ideal alternative to the traditional ArcGIS API for Python.\n\n## Key Features\n- **Asynchronous Operations**: Optimized for speed and efficiency, leveraging the power of restgdf for non-blocking data operations.\n- **Open-Source and Community-Focused**: Contributions are welcome, fostering a collaborative environment for continuous improvement.\n- **Comprehensive OpenAPI Documentation**: Detailed and interactive documentation for easy integration and usage.\n- **Versatile GIS Data Management**: Enables discovery, fetching, and manipulation of GIS data across various ArcGIS services.\n\n## Use Cases\n- **Data Discovery**: Explore content in ArcGIS Services Directory, including feature layers, rasters, and more.\n- **Data Retrieval**: Fetch individual or multiple FeatureLayers, with flexible querying capabilities.\n- **Administrative Data Access**: Access GIS data for states, counties, cities, and towns using data from [Mapping Support](https://mappingsupport.com/).\n- **Proxy for ArcGIS Servers**: Can serve as a documented proxy for any ArcGIS server, providing a streamlined interface for external data sources.\n\n## System Requirements\n- Python 3.11 or higher\n- Docker (optional, for containerized deployment)\n\n## Installation\n\n### Option 1: Docker Hub Deployment\n```bash\ndocker run --name restgdf_api -p 8080:8080 joshuasundance/restgdf_api:latest\n```\n\n### Option 2: Clone the Repository\n```bash\ngit clone https://github.com/joshuasundance-swca/restgdf_api.git\ncd restgdf_api\ndocker compose up\n```\n\n### Option 3: Deploy on Kubernetes\n```bash\ngit clone https://github.com/joshuasundance-swca/restgdf_api.git\ncd restgdf_api\nkubectl apply -f kubernetes/resources.yaml\n```\n\n### Option 4: Manual Local Installation\n```bash\ngit clone https://github.com/joshuasundance-swca/restgdf_api.git\ncd restgdf_api\npip install -r requirements.txt\ncd restgdf_api\ngunicorn app:app\n```\n\n## API Endpoints Overview\n- `mappingsupport`: Leverages data from [Mapping Support](https://mappingsupport.com/) to provide GIS server listings and specific geographic area data.\n- `directory`: Discover content in ArcGIS directories, including feature layers and raster data.\n- `layer`: Retrieve specific FeatureLayers, supporting single and multiple queries.\n- `server`: Add and configure ArcGIS servers, enhancing flexibility and control.\n\n\n## Contributing\nYour contributions are welcome! To contribute, please follow the standard fork and pull request workflow.\n\n## License\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoshuasundance-swca%2Frestgdf_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoshuasundance-swca%2Frestgdf_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoshuasundance-swca%2Frestgdf_api/lists"}