{"id":30201517,"url":"https://github.com/esipfed/geoweaver","last_synced_at":"2025-12-25T05:30:07.293Z","repository":{"id":37580222,"uuid":"144723662","full_name":"ESIPFed/Geoweaver","owner":"ESIPFed","description":"boost data pipeline's tangibility, enhance research productivity, reduce work anxiety","archived":false,"fork":false,"pushed_at":"2025-06-20T04:13:56.000Z","size":160451,"stargazers_count":89,"open_issues_count":41,"forks_count":49,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-06-20T05:21:07.699Z","etag":null,"topics":["ai","earth-science","esip-lab","pipeline","pipeline-framework","productivity","scientific-computing","tangibility","workflow","workflow-engine","workflow-management","workflow-tool"],"latest_commit_sha":null,"homepage":"https://geoweaver.dev","language":"JavaScript","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/ESIPFed.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,"zenodo":null}},"created_at":"2018-08-14T13:24:52.000Z","updated_at":"2025-06-20T04:13:59.000Z","dependencies_parsed_at":"2023-10-16T19:46:46.678Z","dependency_job_id":"875ac1db-f253-44a1-8c4a-3678fbc1348a","html_url":"https://github.com/ESIPFed/Geoweaver","commit_stats":{"total_commits":1152,"total_committers":24,"mean_commits":48.0,"dds":"0.20833333333333337","last_synced_commit":"99720abc8c7a9bdbd0b7764041138d247758204c"},"previous_names":[],"tags_count":147,"template":false,"template_full_name":null,"purl":"pkg:github/ESIPFed/Geoweaver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESIPFed%2FGeoweaver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESIPFed%2FGeoweaver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESIPFed%2FGeoweaver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESIPFed%2FGeoweaver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ESIPFed","download_url":"https://codeload.github.com/ESIPFed/Geoweaver/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESIPFed%2FGeoweaver/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270228429,"owners_count":24548817,"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","status":"online","status_checked_at":"2025-08-13T02:00:09.904Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["ai","earth-science","esip-lab","pipeline","pipeline-framework","productivity","scientific-computing","tangibility","workflow","workflow-engine","workflow-management","workflow-tool"],"created_at":"2025-08-13T10:50:23.229Z","updated_at":"2025-12-25T05:30:07.286Z","avatar_url":"https://github.com/ESIPFed.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![example workflow](\nhttps://img.shields.io/github/actions/workflow/status/ESIPFed/Geoweaver/release_workflow.yml?branch=v1.5.2-pre\u0026style=for-the-badge\n)\n[![License](\nhttps://img.shields.io/github/license/ESIPFed/Geoweaver?style=for-the-badge\n)](https://github.com/ESIPFed/Geoweaver/blob/main/LICENSE)\n[![Stars](\nhttps://img.shields.io/github/stars/ESIPFed%2FGeoweaver?style=for-the-badge\n)](https://github.com/ESIPFed/Geoweaver/stargazers) \n[![Forks](\nhttps://img.shields.io/github/forks/ESIPFed/Geoweaver?style=for-the-badge\u0026color=%23f2b40a\n)](https://github.com/ESIPFed/Geoweaver/network/members)\n[![Issues](\nhttps://img.shields.io/github/issues/ESIPFed/Geoweaver?style=for-the-badge\u0026color=%2363c1ff\n)](https://github.com/ESIPFed/Geoweaver/issues) [![Coverage](\nhttps://img.shields.io/codecov/c/github/ESIPFed/Geoweaver?style=for-the-badge\n)](https://codecov.io/)\n![PyPi](https://img.shields.io/pypi/v/pygeoweaver?style=for-the-badge) \n![Minimum Java Version](https://img.shields.io/badge/Java-11%2B-%23ed8b02?style=for-the-badge\u0026logo=openjdk\n)\n![Geoweaver Docs](https://img.shields.io/badge/Docs-Geoweaver-%23c4ff7d?style=for-the-badge\u0026logo=readthedocs\u0026link=https%3A%2F%2Fgeoweaver.dev%2F\n)\n\n![logo](src/main/resources/static/img/geoweaver-new-banner.png)\n\n\n## Quick Links\n\n- **GitHub Repository**: [ESIPFed/Geoweaver](https://github.com/ESIPFed/Geoweaver)\n- **Python Bindings**: [ESIPFed/pygeoweaver](https://github.com/ESIPFed/pygeoweaver)\n- **Live Demo**: [Geoweaver Demo](https://geobrain.csiss.gmu.edu/Geoweaver)\n\n\n\nGeoweaver is an in-browser software allowing users to easily compose and execute full-stack data processing workflows via taking advantage of online spatial data facilities, high-performance computation platforms, and open-source code management libraries. It provides all-in-one capacity covering server management, code repository, workflow orchestration software, and history recorder. \n\nIt can be run from both local and remote (distributed) machines.\n\n## Why Choose Geoweaver?\n\n**Key Benefits**:\n\n1. **Data Safety**: Securely store and track all your research progress\n2. **Research Organization**: Stay organized throughout long-term research projects\n3. **Seamless Connectivity**: Easy SSH connection to external servers\n4. **Python Integration**: Built-in web UI with comprehensive Python support\n5. **Community-Driven**: Active community with ongoing development and support\n\nFor detailed information, visit [Geoweaver Documentation](https://geoweaver.dev).\n\n\u003e Geoweaver is a community effort. Any contribution is welcome and greatly appreciated!\n\n# Features\n\n## Core Features\n\n### 🖥️ Host Management\n- Register and manage SSH-enabled machines for process execution\n- Integrate Jupyter Servers for interactive workflow development\n- Secure connection management with encrypted credentials\n\n### 🔄 Process Management\n- Support for multiple process types (Python, Bash, R, etc.)\n- Real-time process monitoring and control\n- Version control for process code\n\n### 📓 Jupyter Integration\n- Seamless notebook import/export\n- Automatic version tracking\n- Interactive notebook editing\n\n### 📊 Workflow Orchestration\n- Visual workflow builder\n- Parallel and sequential execution support\n- Cross-resource workflow distribution\n- Centralized workflow management\n\n### 📝 History \u0026 Logging\n- Comprehensive execution history\n- Detailed process logs\n- Automated backup and recovery\n\n### 🔍 Data Pipeline Visualization\n- Interactive workflow diagrams\n- Dependency tracking\n- Real-time execution monitoring\n\n### ⚡ Research Productivity\n- Automated task scheduling\n- Reduced manual intervention\n- Focus on research, not infrastructure \n\n## Installation\n\n### Prerequisites\n\n- ☕ Java 11 or higher (OpenJDK 11 or higher)\n- 🐳 Docker (optional, for Docker installation)\n\n### Quick Start\n\n#### 🐍 Python Method (Recommended)\n\n```bash\n# Install PyGeoweaver\npip install pygeoweaver --upgrade\n\n# Start Geoweaver\ngw start\n```\n\n#### ☕ Java Method\n\n1. Download [geoweaver.jar](https://github.com/ESIPFed/Geoweaver/releases/download/latest/geoweaver.jar)\n2. Run: `java -jar geoweaver.jar`\n\n#### 🐳 Docker Method\n\n```bash\n# Pull the image\ndocker pull geoweaver/geoweaver\n\n# Run Geoweaver\ndocker run -t -i -p 8070:8070 geoweaver/geoweaver\n```\n\n\u003e 📝 Access Geoweaver at http://localhost:8070/Geoweaver\n\n[Detailed Installation Guide](docs/install.md)\n\n# Demo\n\n[A live demo site](https://geobrain.csiss.gmu.edu/Geoweaver) is available.\n\n# Documentation\n\nLearn more about Geoweaver in its official documentation at https://esipfed.github.io/Geoweaver/docs/install.html\n\n# Creating a New Release\n\nFor detailed steps on how to create a new release in Geoweaver, please refer to the [release instructions](docs/release_upgrade.md).\n\n\n# [PyGeoWeaver](https://github.com/ESIPFed/pygeoweaver)\n\nPyGeoWeaver is a Python package that provides a convenient and user-friendly interface to interact with GeoWeaver, a powerful geospatial data processing application written in Java. With PyGeoWeaver, Jupyter notebook and JupyterLab users can seamlessly integrate and utilize the capabilities of GeoWeaver within their Python workflows.\n\nPlease do visit the PyGeoWeaver GitHub repository.\n\n## Contributors\n\nThanks to our many contributors!\n\n[![Contributors](https://contrib.rocks/image?repo=ESIPFed/Geoweaver)](https://github.com/ESIPFed/Geoweaver/graphs/contributors)\n\n\n# Geoweaver History\n\n## v0.6.7 - v1.0.0 (2018 - 2023)\n\nKey features included:\n\n* Made GitHub zip importable and added .wci.yml.\n* Introduced a process stop button, organized the SSH folder, and enabled shell commands to call Python processes.\n* Added buffer size control and exit code usage for process status.\n* Fixed numerous issues on remote hosts.\n* Included new features such as hovering tips and code comparison.\n* Added process history and status.\n* Added code search function.\n* Enabled run button in side panel.\n* Allows reset password from terminal.\n\n## v1.0.1 - v1.2.8 (2023 - 2024)\n\nAfter incorporating feedback from the user community, the Geoweaver team released new versions. This major update focused on performance improvements and added several highly requested features:\n\n* Log output is real time and web socket channels are untangled.\n* Made the local logging real time.\n* Created a macOS App for Geoweaver.\n* Ability to Restore workflow.\n* Run maven tests on github actions.\n\nThese versions solidified Geoweaver's position as a powerful open-source GIS solution and attracted interest from various industries and research institutions.\n\n## v1.3.0 - v1.6.1 (2024)\n\nThis version focuses on updating features and bug fixing:\n\n* Fixed the chart visibility issue and table actions in side panel.\n* Opens dock at bottom by default.\n* Updated README.md by including latest features and modern style.\n* Navigation fix for process tab and workflow tab in Guide page.\n* Added filtering skipped process functionality.\n* Responsive Design for lower resultion devices such as ipad / tablets.\n* Support for MySQL and PostgreSQL - Production grade DB.\n* Autosaves code on Run.\n* Added support for Docker. The Geoweaver Docker image can be found here(https://hub.docker.com/repository/docker/geoweaver/geoweaver/general).\n\nFor more details, you can check the Geoweaver Releases Page.\n\n\n# Citation\n\nIf you found Geoweaver helpful in your research, please cite: \n\nSun, Z. et al., \"Geoweaver: Advanced cyberinfrastructure for managing hybrid geoscientific AI workflows.\" ISPRS International Journal of Geo-Information 9, no. 2 (2020): 119.\n\n\n# Existing Projects\n\nSun, Ziheng, Nicoleta C. Cristea, Kehan Yang, Ahmed Alnuaim, Lakshmi Chetana Gomaram Bikshapathireddy, Aji John, Justin Pflug et al. \"Making machine learning-based snow water equivalent forecasting research productive and reusable by Geoweaver.\" In AGU fall meeting abstracts, vol. 2022, pp. IN23A-04. 2022.\n\nSun, Ziheng, and Nicoleta Cristea. \"Geoweaver for Automating ML-based High Resolution Snow Mapping Workflow.\" In AGU Fall Meeting Abstracts, vol. 2021, pp. IN11C-07. 2021.\n\nSun, Ziheng, Liping Di, Jason Tullis, Annie Bryant Burgess, and Andrew Magill. \"Geoweaver: Connecting Dots for Artificial Intelligence in Geoscience.\" In AGU Fall Meeting Abstracts, vol. 2020, pp. IN011-02. 2020.\n\nSun, Ziheng, Liping Di, Annie Burgess, Jason A. Tullis, and Andrew B. Magill. \"Geoweaver: Advanced cyberinfrastructure for managing hybrid geoscientific AI workflows.\" ISPRS International Journal of Geo-Information 9, no. 2 (2020): 119.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesipfed%2Fgeoweaver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesipfed%2Fgeoweaver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesipfed%2Fgeoweaver/lists"}