semvec/pypi-packages huggingface dataset:
ron-cipher 1.0.4
A cipher package meant for CLI use to encrypt/decrypt using various ciphers
Requires Python: >=3.6

# ron-cipher
[![Build Status](https://travis-ci.org/nairraghav/ron-cipher.svg?branch=master)](https://travis-ci.org/nairraghav/ron-cipher)
[![codecov.io](https://codecov.io/github/nairraghav/ron-cipher/coverage.svg?branch=master)](https://codecov.io/gh/nairraghav/ron-cipher)
[![PyPI version](https://badge.fury.io/py/ron-cipher.svg)](https://badge.fury.io/py/ron-cipher)

A CLI tool that implements various ciphers, including the ability to encrypt and decrypt

## Supported Ciphers
* Caeser
* Vigenère

## How To Use
This tool is meant to be used as a CLI (command line interface). You will need to install the package from pypi
```bash
pip install ron-cipher
```

After installing, you can immediately start using the tool from your command line
### [Caeser Cipher](https://en.wikipedia.org/wiki/Caesar_cipher)
#### Encryption
##### Default Rotation
```bash
ron_cipher caeser -i "some random string" -a encrypt
```

##### Custom Rotation
The rotation is an int which works by pushing the values over by 1. Do note that the dictionary used to store characters
and their indices is likely not what you expected. Please take a look at `ciphers.cipher_helper` if you want to see
how characters are stored
```bash
ron_cipher caeser -r 1 -i "some random string" -a encrypt
```

#### Decryption
##### Default Rotation
```bash
ron_cipher caeser -i "4c0> e.#qc0 4(e^#[" -a decrypt
```

##### Custom Rotation
```bash
ron_cipher caeser -r 1 -i ">:.3 =~/2:. >?=7/5" -a decrypt
```


### [Vignère Cipher](https://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher)
#### Encryption
##### Default Secret
```bash
ron_cipher vigenere -i "some random string" -a encrypt
```

##### Custom Secret
The secret is a string which works by getting the indices of the characters within the secret and adding them to the 
respective indices of the plaintext to find the encrypted value
```bash
ron_cipher vigenere -s "supersecret" -i "some random string" -a encrypt
```

#### Decryption
##### Default Rotation
```bash
ron_cipher vigenere -i ",[<^ ,?@(g? ,{[#@0" -a decrypt
```

##### Custom Rotation
```bash
ron_cipher vigenere -s "supersecret" -i ",i%+ ,&<6>{ m\\#," -a decrypt
```

## Troubleshooting
There is some weirdness when it comes to some inputs and how bash decides to interpret them. If you want to be safe, try
the following ways:
* Wrap With Quotes
* Use Equals

Example:
```bash
ron_cipher caeser -s "supersecret" -i=",i%+ ,&<6>{ m\\#," -a decrypt
```
option-price 0.2.0
Awesome but light option price calculator in Python
Requires Python: >=3.6

# option-price
`option-price` is a Python-based powerful but simple option price calculator. It makes use of vectorization, which makes it pretty fast.

A GUI version is available [here](https://github.com/QSCTech-Sange/Options-Calculator). 

Docs are available [here](https://qsctech-sange.github.io/option-price). 

# Installation
```shell
pip install option-price
```
# Quick Start
```python
from optionprice import Option
```

An option can be initialized by:
```python
some_option = Option(european=True,
                    kind='put',
                    s0=100,
                    k=120,
                    t=45,
                    sigma=0.01,
                    r=0.05,
                    dv=0)
```
Or

```python
some_option = Option(european=False,
                    kind='call',
                    s0=120,
                    k=100,
                    sigma=0.01,
                    r=0.05,
                    start='2008-2-14'，
                    end='2008-3-14'，
                    dv=0)
```

You can check the option by 

```python
print(some_option)
```

which will print out the option’s info.

```reStructuredText
Type:           European
Kind:           call
Price initial:  80
Price strike:   120
Volatility:     1.0%
Risk free rate: 5.0%
Start Date:     2020-03-24
Expire Date:    2020-04-24
Time span:      31.0 days
```

# Attributes

Name | Type |  Definition  
-|-|-
**european** | boolean | True if the option is an European option and False if it's an American one. 
**kind** | str | ‘call’ for call option while ‘put’ for put option. Other strs are not valid. 
**s0** | number | initial price 
**k** | int | strike price 
**sigma** | float | volatility of stock 
**r** | float | risk free interest rate per annum 
[optional] **dv** | float | dividend rate. 0 for non-stock option, which is also the default 
[optional] **t** | int | length of option in days 
[optional] **start** | str | beginning date of the option, string like '2008-02-14',default today 
[optional] **end** | str | end date of the option, string like '2008-02-14',default today plus param t 

Note that if start,end and t are all given, then t will choose the difference between end and start

Also, **either t or (start and end)** should exists

# Calculate

`option-price` has three approaches to calculate the price of the price of the option. They are
+ B-S-M
+ Monte Carlo
+ Binomial Tree

`option-price` will choose B-S-M algorithm by default. Prices can be simply calculated by

```python
price = some_option.getPrice()
```

Other methods of calculation are available by adding some parameters. For instance,
```python
price = some_option.getPrice(method='MC',iteration = 500000)
```

or

```python
price = some_option.getPrice(method='BT',iteration = 1000)
```

while MC stands for Monte Carlo and BT stands for Binomial Tree. 

The iteration has a default value. Note that the larger the value, the slower and more precise the price.

Default value is a balance of speed and accuracy.
list-manager 1.0.1
A simple CLI tool that allows management of lists
Requires Python: >=3.6

# List Manager
[![Build Status](https://travis-ci.org/nairraghav/lists-library.svg?branch=master)](https://travis-ci.org/nairraghav/lists-library)
[![codecov.io](https://codecov.io/github/nairraghav/lists-library/coverage.svg?branch=master)](https://codecov.io/gh/nairraghav/lists-library)
[![PyPI version](https://badge.fury.io/py/list-manager.svg)](https://badge.fury.io/py/list-manager)

A CLI tool that allows for list management


## How To Use
This tool is meant to be used as a CLI (command line interface). You will need to install the package from pypi
```bash
pip install list_manager
```

After installing, you can immediately start using the tool from your command line

### Show All Lists
```bash
list_manager get_lists
```

### Show All Items In List
```bash
list_manager get_list -l <list-name>
```

### Create List
```bash
list_manager create_list -l <list-name> -i <optional-initial-list-item>
```

### Add Item To List
```bash
list_manager add_item -l <list-name> -i <item-name>
```

### Delete Item From List
```bash
list_manager delete_item -l <list-name> -i <item-name>
```

### Delete List
```bash
list_manager delete_list -l <list-name>
```
schoolsoft-api 1.0.3
Communicate with the official schoolsoft api
Keywords: schoolsoft,schedule,lunch,api

# schoolsoft-api-app
A wrapper for schoolsofts undocumented api they use in their app.

<h3>Usage:</h3>

Get the school name from the schoolsoft url.
Schoolname is found like this:

"sms13.schoolsoft.se/   *school*   /jsp/student/right_student_startpage.jsp"

```
>>> import schoolsoft_api
>>> name, password, school = 'name', 'password', 'school' # Place real values here.
>>> app_key = schoolsoft_api.get_app_key(name, password, school)
>>> org_id = app_key['orgs'][0]['orgId']
>>> token = schoolsoft_api.get_updated_token(school, app_key_json=app_key)['token']
>>> schoolsoft_api.get_lunch(token, school, org_id)

[{'saturday': '', 'week': 33, 'updById': 1917, 'creByType': -1, 'creDate': '2020-08-11 14:41:04.0', 'dishCategoryName': 'Lunch', 'creById': 6271, 'thursday': '', 'dates': ['2020-08-10', '2020-08-11', '2020-08-12', '2020-08-13', '2020-08-14', '2020-08-15', '2020-08-16'], 'orgId': 28, 'updDate': '2020-08-14 09:46:56.0', 'empty': False, 'updByType': -1, 'sunday': '', 'tuesday': '', 'dish': 3, 'wednesday': '', 'friday': 'Spagetti med köttfärsås.\r\n\r\nSpagetti med sojafärssås', 'id': -1, 'monday': ''}]

>>> schoolsoft_api.get_lessons(token, school, org_id)
[{'weeks': 7329532, 'excludingWeeks': 0, 'creById': 6272, 'source': 1, 'externalRef': '', 'subjectId': 2947, 'orgId': 28, 'updDate': '2020-08-15 14:06:48.0', 'updByType': -1, 'excludeClass': 0, 'startTime': '1970-01-01 08:20:00.0', 'id': 295125, 'includingWe.......
```

1. Obtain a permanent app key. This only needs to be generated once.
2. Generate a temporary token. This needs to get generated once every 3h~.
3. Call the API with the token.

<h3>Note:</h3>

- **Activate mobile login on the schoolsoft webpage!**
- Use `get_updated_token()` to prevent requesting too many new tokens