From 2fe1e51397ef11cf8b352ee149ed7ca17a9ce2b0 Mon Sep 17 00:00:00 2001 From: Gokul Prathin <45752727+gokulprathin8@users.noreply.github.com> Date: Mon, 19 Jun 2023 13:49:54 -0400 Subject: [PATCH 1/5] Update README.md --- README.md | 118 +++++++++++++++++++++++------------------------------- 1 file changed, 50 insertions(+), 68 deletions(-) diff --git a/README.md b/README.md index 06b2ed5..c29181b 100644 --- a/README.md +++ b/README.md @@ -1,99 +1,81 @@ -## PyGeoWeaver +# Pygeoweaver -### Description +Pygeoweaver is a Python library for geospatial data processing and analysis. It provides a user-friendly interface to create and execute processes and workflows for geospatial tasks. -This package is a Python wrapper of the GeoWeaver app which was written in Java. This package is designed for Jupyter users to be able to directly use Geoweaver in Jupyter notebook or JupyterLab (JupyterHub). +## Features -### Installation +- Easy creation of geospatial processes and workflows. +- Support for multiple programming languages. +- Integration with GeoWeaver API for process execution. +- Documentation available at [https://gokulprathin8.github.io/pygeoweaver-docs.github.io/](https://gokulprathin8.github.io/pygeoweaver-docs.github.io/). -`pip install pygeoweaver` +## Installation -### Usage +You can install Pygeoweaver using pip: -1. To show Geoweaver graphic user interface, please create a new cell and type: - -``` -import geoweaver -geoweaver.start() +```bash +pip install pygeoweaver ``` -The command will first check if Geoweaver has been downloaded and installed. If no, it will automatically download and install Geoweaver in the local environment. Then it will open Geoweaver in the cell output in a iframe. Users can use all the functions provided in Geoweaver. +## Usage -2. To stop Geoweaver, please run: +Here's a basic example of how to use Pygeoweaver to create a process: -``` -geoweaver.stop() -``` +```python +from pygeoweaver import create_process -3. To list the existing objects, please run: +lang = "python" +description = "Process for calculating NDVI" +name = "NDVI Calculation" +code = """ +# Python code for calculating NDVI +# ... -``` -geoweaver.list_hosts() -geoweaver.list_processes() -geoweaver.list_workflows() -``` +# Your code here +""" -4. To run a workflow, please run: -``` -geoweaver.run_workflow("workflow_id", "host_id_list", "password_list", "environment_list") -``` - -or - -``` -geoweaver.run_workflow("workflow_zip_file_path", "host_id_list", "password_list", "environment_list") -``` - -or - -``` -geoweaver.run_workflow("workflow_local_folder_path", "host_id_list", "password_list", "environment_list") +# Create the process +process_id = create_process(lang, description, name, code) ``` -5. To export a workflow: +To create a process from a file: -``` -geoweaver.export_workflow("workflow_id", "workflow_zip_save_path") -``` +```python +from pygeoweaver import create_process_from_file -6. To import a workflow: +lang = "python" +description = "Process for calculating NDVI" +name = "NDVI Calculation" +file_path = "ndvi_calculation.py" -``` -geoweaver.import_workflow("") +# Create the process from the file +process_id = create_process_from_file(lang, description, name, file_path) ``` -or +Creating a workflow: -``` -geoweaver.import_workflow("") -``` +```python +from pygeoweaver import create_workflow -7. To get history of a workflow run: +description = "Workflow for processing geospatial data" +edges = "..." +name = "Data Processing Workflow" +nodes = "..." -``` -geoweaver.history("") +# Create the workflow +workflow_id = create_workflow(description, edges, name, nodes) ``` -8. To get history of a process run: +For more information and detailed documentation, please visit [https://gokulprathin8.github.io/pygeoweaver-docs.github.io/](https://gokulprathin8.github.io/pygeoweaver-docs.github.io/). -``` -geoweaver.history("") -``` +## Contributing -9. To check the source code of a process +Contributions to Pygeoweaver are welcome! If you find any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request on the GitHub repository. -``` -geoweaver.detail_processs("") -``` +## License -10. To check the configuration of a workflow +Pygeoweaver is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information. -``` -geoweaver.detail_workflow("") -``` +--- -11. To check the details of a host: - -``` -geoweaver.detail_host("") -``` +Thank you for choosing Pygeoweaver! We hope this library simplifies your geospatial data processing tasks. If you have any questions or need further assistance, please refer to the documentation or reach out to us. Happy coding! From 2cf34a3fbd2271bec61968a76e1fa7acc9faf006 Mon Sep 17 00:00:00 2001 From: Gokul Prathin <45752727+gokulprathin8@users.noreply.github.com> Date: Mon, 19 Jun 2023 13:51:15 -0400 Subject: [PATCH 2/5] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c29181b..863aa90 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Pygeoweaver -Pygeoweaver is a Python library for geospatial data processing and analysis. It provides a user-friendly interface to create and execute processes and workflows for geospatial tasks. +Pygeoweaver is a Python library for geospatial data processing and analysis. It provides a user-friendly functionality to create and execute processes and workflows for geospatial tasks. ## Features @@ -74,7 +74,7 @@ Contributions to Pygeoweaver are welcome! If you find any issues or have suggest ## License -Pygeoweaver is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information. +Pygeoweaver is licensed under the MIT License. --- From 5955ad2ed55a454994e900bb2764667d542c2599 Mon Sep 17 00:00:00 2001 From: Gokul Prathin <45752727+gokulprathin8@users.noreply.github.com> Date: Mon, 19 Jun 2023 19:38:17 -0400 Subject: [PATCH 3/5] Update README.md --- README.md | 114 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 72 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 863aa90..8875a56 100644 --- a/README.md +++ b/README.md @@ -1,81 +1,111 @@ -# Pygeoweaver +## PyGeoWeaver -Pygeoweaver is a Python library for geospatial data processing and analysis. It provides a user-friendly functionality to create and execute processes and workflows for geospatial tasks. - -## Features - -- Easy creation of geospatial processes and workflows. -- Support for multiple programming languages. -- Integration with GeoWeaver API for process execution. -- Documentation available at [https://gokulprathin8.github.io/pygeoweaver-docs.github.io/](https://gokulprathin8.github.io/pygeoweaver-docs.github.io/). +PyGeoWeaver 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. ## Installation -You can install Pygeoweaver using pip: +To install PyGeoWeaver, simply use pip: ```bash pip install pygeoweaver ``` +## Features + +- Simplified creation of geospatial processes and workflows. +- Support for multiple programming languages. +- Seamless integration with the GeoWeaver API for efficient process execution. +- Comprehensive documentation available at [https://gokulprathin8.github.io/pygeoweaver-docs.github.io/](https://gokulprathin8.github.io/pygeoweaver-docs.github.io/). + ## Usage -Here's a basic example of how to use Pygeoweaver to create a process: +1. **Launching GeoWeaver GUI**: To open the GeoWeaver graphical user interface, create a new cell and execute the following code: + +```python +import geoweaver +geoweaver.start() +``` + +This command checks if GeoWeaver is already installed. If not, it will automatically download and install GeoWeaver in your local environment. The GeoWeaver interface will then open in the cell output as an iframe, allowing you to access and utilize all the features provided by GeoWeaver. + +2. **Stopping GeoWeaver**: To stop GeoWeaver, use the following command: + +```python +geoweaver.stop() +``` + +3. **Listing Existing Objects**: To list the existing hosts, processes, and workflows, execute the respective commands: + +```python +geoweaver.list_hosts() +geoweaver.list_processes() +geoweaver.list_workflows() +``` + +4. **Running a Workflow**: To execute a workflow, use the following command: ```python -from pygeoweaver import create_process +geoweaver.run_workflow("workflow_id", "host_id_list", "password_list", "environment_list") +``` + +Alternatively, you can run a workflow by specifying the path to the workflow ZIP file or the local folder containing the workflow files. + +5. **Exporting a Workflow**: To export a workflow, use the following command: + +```python +geoweaver.export_workflow("workflow_id", "workflow_zip_save_path") +``` -lang = "python" -description = "Process for calculating NDVI" -name = "NDVI Calculation" -code = """ -# Python code for calculating NDVI -# ... +This command exports the specified workflow to a ZIP file, which is saved at the provided save path. -# Your code here -""" +6. **Importing a Workflow**: To import a workflow, use the following command: -# Create the process -process_id = create_process(lang, description, name, code) +```python +geoweaver.import_workflow("") ``` -To create a process from a file: +Alternatively, you can import a workflow by specifying the path to the workflow folder. + +7. **Viewing Workflow and Process History**: To retrieve the history of a workflow run or a process run, use the respective commands: ```python -from pygeoweaver import create_process_from_file +geoweaver.history("") +geoweaver.history("") +``` -lang = "python" -description = "Process for calculating NDVI" -name = "NDVI Calculation" -file_path = "ndvi_calculation.py" +8. **Inspecting Process Source Code**: To view the source code of a process, use the following command: -# Create the process from the file -process_id = create_process_from_file(lang, description, name, file_path) +```python +geoweaver.detail_process("") ``` -Creating a workflow: +9. **Inspecting Workflow Configuration**: To check the configuration details of a workflow, execute the following command: ```python -from pygeoweaver import create_workflow +geoweaver.detail_workflow("") +``` -description = "Workflow for processing geospatial data" -edges = "..." -name = "Data Processing Workflow" -nodes = "..." +10. **Inspecting Host Details**: To retrieve the details of a host, use the following command: -# Create the workflow -workflow_id = create_workflow(description, edges, name, nodes) +```python +geoweaver.detail_host("") ``` -For more information and detailed documentation, please visit [https://gokulprathin8.github.io/pygeoweaver-docs.github.io/](https://gokulprathin8.github.io/pygeoweaver-docs.github.io/). +## Documentation + +For detailed documentation and examples, please visit the [PyGeoWeaver Documentation](https://gokulprathin8.github.io/pygeoweaver-docs.github.io/). ## Contributing -Contributions to Pygeoweaver are welcome! If you find any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request on the GitHub repository. +Contributions to PyGeoWeaver are welcome! + + If you encounter any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request on the GitHub repository. ## License -Pygeoweaver is licensed under the MIT License. +PyGeoWeaver is licensed under the MIT License. --- -Thank you for choosing Pygeoweaver! We hope this library simplifies your geospatial data processing tasks. If you have any questions or need further assistance, please refer to the documentation or reach out to us. Happy coding! +Thank you for choosing PyGeoWeaver! We hope this package enhances your geospatial data processing workflows. If you have any questions or need assistance, please refer to the documentation or reach out to us. Happy geospatial processing! + From ea155a63e4a8304e670504cef522afed2549c722 Mon Sep 17 00:00:00 2001 From: Gokul Prathin <45752727+gokulprathin8@users.noreply.github.com> Date: Sat, 1 Jul 2023 00:27:38 -0400 Subject: [PATCH 4/5] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8875a56..063cc68 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ pip install pygeoweaver - Simplified creation of geospatial processes and workflows. - Support for multiple programming languages. - Seamless integration with the GeoWeaver API for efficient process execution. -- Comprehensive documentation available at [https://gokulprathin8.github.io/pygeoweaver-docs.github.io/](https://gokulprathin8.github.io/pygeoweaver-docs.github.io/). +- Comprehensive documentation available at [https://pygeoweaver.readthedocs.io/](https://pygeoweaver.readthedocs.io/). ## Usage @@ -93,7 +93,7 @@ geoweaver.detail_host("") ## Documentation -For detailed documentation and examples, please visit the [PyGeoWeaver Documentation](https://gokulprathin8.github.io/pygeoweaver-docs.github.io/). +For detailed documentation and examples, please visit the [PyGeoWeaver Documentation](https://pygeoweaver.readthedocs.io/). ## Contributing From dc901f3db22af9b7b2835458b7cc2e5074449285 Mon Sep 17 00:00:00 2001 From: Gokul Prathin <45752727+gokulprathin8@users.noreply.github.com> Date: Sat, 1 Jul 2023 11:40:42 -0400 Subject: [PATCH 5/5] Update README.md --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 063cc68..dae8bff 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,14 @@ + ## PyGeoWeaver +|| | +|--|--| +|Latest Release|![Static Badge](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54&label=python%203.9%20%7C%20python%203.10%20%7C%20python%203.11) ![PyPI](https://img.shields.io/pypi/v/pygeoweaver?style=for-the-badge&label=Pygeoweaver)| +|Getting Help| [![Documentation Status](https://readthedocs.org/projects/pygeoweaver/badge/?version=latest&style=for-the-badge)](https://pygeoweaver.readthedocs.io/en/latest/?badge=latest) | +|Activity|![PyPI - Downloads](https://img.shields.io/pypi/dm/pygeoweaver?style=for-the-badge) ![GitHub commit activity (branch)](https://img.shields.io/github/commit-activity/m/ESIPFed/pygeoweaver?style=for-the-badge&label=Commit%20Activity)| +|Community| ![Static Badge](https://img.shields.io/badge/ESIP-blue?style=for-the-badge&link=https%3A%2F%2Fwww.esipfed.org%2F)| +|License|![GitHub](https://img.shields.io/github/license/ESIPFed/pygeoweaver?style=for-the-badge)| + PyGeoWeaver 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. ## Installation @@ -108,4 +117,3 @@ PyGeoWeaver is licensed under the MIT License. --- Thank you for choosing PyGeoWeaver! We hope this package enhances your geospatial data processing workflows. If you have any questions or need assistance, please refer to the documentation or reach out to us. Happy geospatial processing! -