diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..565800b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,43 @@ +--- +name: Bug Report +about: Report a bug to help us improve +title: '[Bug]: ' +labels: 'bug' +assignees: '' + +--- + +**Checked for duplicates** + +> Have you checked for duplicate issue tickets? + +- Ex. Yes - I've already checked +- Ex. No - I haven't checked + +**Describe the bug** + +> A clear and concise description of what the bug is. Plain-text snippets preferred but screenshots welcome. + +Ex. When I did [...] action, I noticed [...] + +**What did you expect?** + +> A clear and concise description of what you expect to happen + +Ex. I expected [...] + +**Reproducible steps** + +> How would we reproduce this bug? Please walk us through it step by step. Plain-text snippets preferred but screenshots welcome. + +1. +2. +3. + +**What is your environment?** + +> Include any computer hardware, operating system, framework, browser, time-of-day or other contextual information related to your issue + +- Ex. Version of this software [e.g. vX.Y.Z] +- Ex. Operating System: [e.g. MacOSX with Docker Desktop vX.Y] +- ... \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..6bbeaf7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,34 @@ +--- +name: New Feature +about: Suggest a new feature for us to implement +title: '[New Feature]: ' +labels: 'enhancement' +assignees: '' + +--- + +**Checked for duplicates** + +> Have you checked for duplicate issue tickets? + +- Ex. Yes - I've already checked +- Ex. No - I haven't checked + +**Alternatives considered** + +> Have you considered alternative solutions to your feature request? + +- Ex. Yes - and alternatives don't suffice +- Ex. No - I haven't considered + +**Related problems** + +> Is your feature request related to any problems? Please help us understand if so, including linking to any other issue tickets. + +Ex. I'm frustrated when [...] happens as documented in issue-XYZ + +**Describe the feature request** + +> A clear and concise description of your request. + +Ex. I need or want [...] \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..161ffc8 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,13 @@ +## Purpose +- Clear, easy-to-understand sentences outlining the purpose of the PR +## Proposed Changes +- [ADD] ... +- [CHANGE] ... +- [FIX] ... +## Issues +- Links to relevant issues +- Example: issue-XYZ +## Testing +- Provide some proof you've tested your changes +- Example: test results available at ... +- Example: tested on operating system ... \ No newline at end of file diff --git a/README.md b/README.md index 8b5164c..1e628de 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,72 @@ -# Unity-Py -Unity-Py is a Python client to simplify interactions with NASA's Unity Platform. +
-## Installation +
-### Install from pypi -``` -pip install unity-sds-client -``` +![logo](https://user-images.githubusercontent.com/3129134/163255685-857aa780-880f-4c09-b08c-4b53bf4af54d.png) -### Install from Github -``` -python -m pip install git+https://github.com/unity-sds/unity-py.git -``` +

Unity-Py

-### Building and installing locally using poetry +
-``` -git clone https://github.com/unity-sds/unity-py.git -cd unity-py -poetry install -``` +
A Python client to simplify interactions with NASA's Unity Platform.
-## Getting Started +[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md) [![SLIM](https://img.shields.io/badge/Best%20Practices%20from-SLIM-blue)](https://nasa-ammos.github.io/slim/) -### Authorization +[INSERT SCREENSHOT OF YOUR SOFTWARE, IF APPLICABLE] -Authorization can be handled interactively, in which case you will be prompted for a username/password when calling the Unity() method, or can be handled by way of environment variables: +Unity-Py provides a seamless way to interact with NASA's Unity Platform using Python. Built to simplify the connection and data retrieval process, this client offers a programmatic interface to Unity's services. + +## Features + +* Pythonic interface to NASA's Unity Platform +* Support for interactive and environment variable-based authorization + +## Contents + +* [Quick Start](#quick-start) +* [Changelog](#changelog) +* [FAQ](#frequently-asked-questions-faq) +* [Contributing Guide](#contributing) +* [License](#license) +* [Support](#support) + +## Quick Start + +### Requirements + +* Python +* pip + +### Setup Instructions + +1. Install via pypi: + ``` + pip install unity-sds-client + ``` +2. Install from Github: + ``` + python -m pip install git+https://github.com/unity-sds/unity-py.git + ``` +3. Building and installing locally using poetry: + ``` + git clone https://github.com/unity-sds/unity-py.git + cd unity-py + poetry install + ``` + +### Run Instructions +Authorization can be handled interactively, in which case you will be prompted for a username/password when calling the Unity() method, or can be handled by way of environment variables: ``` export UNITY_USER=MY_UNITY_USERNAME export UNITY_PASSWORD=MY_UNITY_PASSWORD ``` - -The order of Authentication Parameters is as follows: - +Order of Authentication Parameters: 1. Environment variables 2. Prompt for username and password -### Running your first command +### Usage Examples ``` from unity_sds_client.unity import Unity @@ -54,19 +82,44 @@ cd = dataManager.get_collection_data(collections[0]) for dataset in cd: print(f'dataset name: {dataset.id}' ) for f in dataset.datafiles: - print("\t" + f.location) + print(" " + f.location) ``` -## Testing -To run unit and regression tests: +### Test Instructions -``` -# run all tests and include printouts: -poetry run pytest -s +1. Run all tests and include printouts: + ``` + poetry run pytest -s + ``` -# run non-regression tests: -poetry run pytest -m "not regression" +2. Run non-regression tests: + ``` + poetry run pytest -m "not regression" + ``` -# run regression tests (and include logs) +3. Run regression tests (and include logs) + ``` + (Not Available Yet) + ``` -``` +## Changelog + +See our [CHANGELOG.md](CHANGELOG.md) for a history of our changes. + +See our [releases page](https://github.com/unity-sds/unity-py/releases) for our key versioned releases. + +## Frequently Asked Questions (FAQ) + +No questions yet. Propose a question to be added here by reaching out to our contributors! See support section below. + +## Contributing + +Interested in contributing to our project? Please see our: [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +See our: [LICENSE](LICENSE) + +## Support + +Please reach out to [@anilnatha](https://github.com/anilnatha), [@mike-gangl](https://github.com/mike-gangl)