# ropts

<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

## Developer Guide

### Setup

``` sh
# create conda environment
$ mamba env create -f env.yml

# update conda environment
$ mamba env update -n ropts --file env.yml
```

### Install

``` sh
pip install -e .

# install from pypi
pip install ropts
```

### nbdev

``` sh
# activate conda environment
$ conda activate ropts

# make sure the ropts package is installed in development mode
$ pip install -e .

# make changes under nbs/ directory
# ...

# compile to have changes apply to the ropts package
$ nbdev_prepare
```

### Publishing

``` sh
# publish to pypi
$ nbdev_pypi

# publish to conda
$ nbdev_conda --build_args '-c conda-forge'
$ nbdev_conda --mambabuild --build_args '-c conda-forge -c dsm-72'
```

# Usage

## Installation

Install latest from the GitHub
[repository](https://github.com/dsm-72/ropts):

``` sh
$ pip install git+https://github.com/dsm-72/ropts.git
```

or from [conda](https://anaconda.org/dsm-72/ropts)

``` sh
$ conda install -c dsm-72 ropts
```

or from [pypi](https://pypi.org/project/ropts/)

``` sh
$ pip install ropts
```

## Documentation

Documentation can be found hosted on GitHub
[repository](https://github.com/dsm-72/ropts)
[pages](https://dsm-72.github.io/ropts/). Additionally you can find
package manager specific guidelines on
[conda](https://anaconda.org/dsm-72/ropts) and
[pypi](https://pypi.org/project/ropts/) respectively.

``` python
opts = ['a', 'b', 'c']
vals = dict(a=1, bs=2, c=3)
(
    ropts(opts),
    (ropts(opts).get(**vals), ropts.getval(opts=opts, **vals), ropts(opts).idx('b'), ),
    ropts(opts).rnk('c', **vals), 
    (ropts(opts).rnk(0, **vals), ropts(opts).rnk(1, **vals), ropts(opts).rnk(2, **vals), ),
)
```

    (ropts('a', 'b', 'c'), (1, 1, 1), 3, (1, None, 3))
