Skip to main content

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

Project description


logo

Unity-Py

A Python client to simplify interactions with NASA's Unity Platform.

Contributor Covenant SLIM

[INSERT SCREENSHOT OF YOUR SOFTWARE, IF APPLICABLE]

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

Requirements

  • Python
  • pip

Development Requirements

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

Order of Authentication Parameters:

  1. Environment variables
  2. Prompt for username and password

Usage Examples

from unity_sds_client.unity import Unity
from unity_sds_client.unity_session import UnitySession
from unity_sds_client.unity_services import UnityServices as services

s = Unity()
# set the venue for interacting with venue specific services
# if your venue id is a single string, use the following
s.set_venue_id("unity-sips-test")

# otherwise set the project and venue:
# s.set_project("sbg")
# s.set_venue("dev")

dataManager = s.client(services.DATA_SERVICE)
collections = dataManager.get_collections()
print(collections)

cd = dataManager.get_collection_data(collections[0])
for dataset in cd:
    print(f'dataset name: {dataset.id}' )
    for f in dataset.datafiles:
        print("	" + f.location)

Test Instructions

  1. Run all tests and include printouts:

    poetry run pytest -s
    
  2. Run non-regression tests:

    poetry run pytest -m "not regression"
    
  3. Run regression tests (and include logs)

    (Not Available Yet)
    

Documentation Generation

poetry install --with docs
poetry run sphinx-apidoc -f -o docs/source/ unity_sds_client
poetry run sphinx-build -M markdown docs/source docs/build
poetry run sphinx-build -M html docs/source docs/build/

Changelog

See our CHANGELOG.md for a history of our changes.

See our releases page 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

License

See our: LICENSE

Support

Please reach out to @anilnatha, @mike-gangl

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unity_sds_client-0.12.0.tar.gz (28.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unity_sds_client-0.12.0-py3-none-any.whl (34.6 kB view details)

Uploaded Python 3

File details

Details for the file unity_sds_client-0.12.0.tar.gz.

File metadata

  • Download URL: unity_sds_client-0.12.0.tar.gz
  • Upload date:
  • Size: 28.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for unity_sds_client-0.12.0.tar.gz
Algorithm Hash digest
SHA256 35739a63ac430b7ab9426c8c2cdf1dad58e30d1e4c031be21cc615f0d574e5d2
MD5 d4930d07c3e7d7350e832ea0205d0c0e
BLAKE2b-256 0fe6e5293cb24d05fb3964582f5af5ad39337467f7f9fb0db7818a4ffd8c9cd8

See more details on using hashes here.

File details

Details for the file unity_sds_client-0.12.0-py3-none-any.whl.

File metadata

File hashes

Hashes for unity_sds_client-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c1f1b1d702e14717ed018bcd857a930233bf5899c8738e8d54fbdfb27db5034a
MD5 058d7f35f3f3cc29255fd505761ee722
BLAKE2b-256 62b6705eae9a2ab5323f34ae09d9a7f804c303c43ac8aad3b069283194576041

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page