Metadata-Version: 2.1
Name: mlflow-token
Version: 1.1.0
Summary: Command line tool to retreive access token for mlflow instance
Home-page: https://github.com/ncsa/mlflow-token
License: BSD-3-Clause
Author: Ben Galewsky
Author-email: bengal1@illinois.edu
Requires-Python: >=3.8,<4.0
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: requests (>=2.28.2,<3.0.0)
Project-URL: Repository, https://github.com/ncsa/mlflow-token
Description-Content-Type: text/markdown

# mlflow-token
Obtain an access token for an MLFlow instance deployed behind OAuth2-proxy and
keycloak. 

This script will use your current setting of `MLFLOW_TRACKING_URI` to look for
the keycloak redirect from it's OAuth2-proxy. From there it will start an
OAuth device flow to allow you to obtain a valid access token. You can use this
to update your `MLFLOW_TRACKING_TOKEN` by executing the command as
```shell
% export $(mlflow-token)
```
and following the prompt.

## Usage In Jupyter Notebook
If you want to authenticate to an MLFlow instance from within a Jupyter notebook
you can add the following lines to a cell:
```python
import mlflow_token
mlflow_token.setup_mlflow_environment("https://mlflow-demo.software-dev.ncsa.illinois.edu/")
```
This will update the notebook's `os.environ` so you can immediately use the 
mlflow SDK. The token will eventually expire, so you may need to occasionally 
re-run the cell.

The cell will print the url for the user to visit and wait for the device
flow to complete.

