Skip to content
This repository was archived by the owner on Sep 9, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -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]
- ...
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -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 [...]
13 changes: 13 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -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 ...
121 changes: 87 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,72 @@
# Unity-Py

Unity-Py is a Python client to simplify interactions with NASA's Unity Platform.
<hr>

## Installation
<div align="center">

### 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
```
<h1 align="center">Unity-Py</h1>

### Building and installing locally using poetry
</div>

```
git clone https://github.com/unity-sds/unity-py.git
cd unity-py
poetry install
```
<pre align="center">A Python client to simplify interactions with NASA's Unity Platform.</pre>

## 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
Expand All @@ -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)