semvec/pypi-packages huggingface dataset:
jupyter-smart-on-fhir 0.1.0a3
Jupyter Extension for SMART on FHIR launch
Requires Python: >=3.9
Keywords: Jupyter, JupyterHub, SMART, FHIR

# Jupyter SMART on FHIR

Prototype extensions for loading credentials in Jupyter contexts via [SMART on FHIR](https://docs.smarthealthit.org).

This package contains two implementations:

- `server_extension`: a Jupyter server extension that acts as public client for a SMART server.
- `hub_service`: a JupyterHub service that acts as confidential client for a SMART server and performs asymmetric authentication.

Check the READMEs in the example folders for more information.

This package is very much a work in progress.

## Server Extension

The Server extension is enabled by default on install.
It registers the following handlers:

- `{base_url}/smart-on-fhir/launch` - the launch URL to provide
- `{base_url}/smart-on-fhir/login` (an intermediate implementation-detail handler that may go away)
- `{base_url}/smart-on-fhir/callback` - the OAuth callback you'll want to register

When deployed in JupyterHub, register the URLs `https://jupyterhub.example.org/hub/user-redirect/smart-on-fhir/launch` as the launch URL and `https://jupyterhub.example.org/hub/user-redirect/smart-on-fhir/callback` as the oauth callback URL.

After SMART launch, the token info will be stored in `jupyter_runtime_dir() / "smart_token.json"` (also available to notebooks as `$SMART_TOKEN_FILE`), and in `$SMART_TOKEN`.
`$SMART_TOKEN` will only be available to notebooks started after

Currently, only one token is stored at a time, so if there are multiple smart launches to a single notebook server, only the latest will be persisted.

Configure `SMARTExtensionApp` in `jupyter_server_config.py`:

```
c.SMARTExtensionApp.scopes = ["openid", "fhirUser", "launch", "patient/*.*"]
c.SMARTExtensionApp.client_id = "your-client-id"
```

see sourcecode in `server_extension.py` for now for more options.

## JupyterHub Service

The JupyterHub service is a bare proof of concept which completes the SMART flow and fetches some sample data, it is not useful yet.
lawyer 2.5.0
A redefined argument parser designed for ease of use.
Requires Python: >=3.11


# Overview

`lawyer` is python library for argument parsing as efficiently as possible and uses a custom linked list type
data structure to create nested argument groups. Allows any argument notation to be used (intermixed too) which
is a fresh look from the traditional `--` and `-` prefixes to identify arguments.

**A proper documentation will be available at _[d33p0st.in](https://d33p0st.in)_ at a later stage in the development phase. As of now all code has
doc-strings for help.**