semvec/pypi-packages huggingface dataset:
pysyrenn 1.1
Symbolic Representations for Neural Networks
License: MIT
Keywords: class,attribute,boilerplate

# PySyReNN: Symbolic Representations for Neural Networks
This package installs the Python client for [SyReNN: Symbolic Representations
for Neural Networks](https://github.com/95616ARG/syrenn).

## Prerequisites
This is only a client library --- you **must** download and run the
corresponding server from [the GitHub
repository](https://github.com/95616ARG/syrenn) before using it. We use
[PyTorch](https://pytorch.org/), please ensure you have the desired version of
PyTorch installed before installing this package.

## Documentation and Source
Please [visit our GitHub repository](https://github.com/95616ARG/syrenn) for
documentation and source code.

## Supported Python Versions
We only test against Python 3.7.4, however we believe it should work for other
versions of Python as well.
Flask-Paseto 0.0.5
Paseto integration for flask
License: MIT

# FLASK-PASETO
#### FLASK-PASETO add basic supports for [paseto](https://github.com/josharian/paseto) v2 to your flask app.

### Installation 
FLask-Paseto relies on [paseto](https://github.com/josharian/paseto) which in turns relies on pysodium.
pysoduim is a wrapper for the popular [libsoduim](https://github.com/jedisct1/libsodium) cryptography library.
This [guide](https://py-ipv8.readthedocs.io/en/latest/preliminaries/install_libsodium/) shows how to install libsodium on mac and windows.
on linux libsodium could be install using ```sudo apt-get install -y libsodium-dev``` or ```yum install libsodium``` depending on your linux distribution.

To install FLask-Paseto used the command below to get the latest version
```
    pip install flask_paseto
```

#### Example  usage
``` 
    import pysodium

    from flask_paseto import (
        Paseto,
        paseto_required,
        create_access_token,
        create_access_token_public,
        get_paseto_claim,
        get_paseto_claim_public
    )

    app = Flask(__name__)

    app.config['PASETO_SECRET_KEY'] = '0'*32 # must be 32 byte
    pk, sk = pysodium.crypto_sign_keypair()
    app.config['PASETO_PRIVATE_KEY']=sk
    app.config['PASETO_PUBLIC_KEY']=pk


    paseto = Paseto(app)

    @app.route('/protected/local/')
    @paseto_required
    def protected():
        claims = get_paseto_claim()
        return jsonify(claims), 200

    @app.route('/create/local/token/')
    def create_token():
        ret = {'access_token': create_access_token({'test user':'yes'})}
        return jsonify(ret), 200
    
    @app.route('/create/public/token/')
    def create_public_token():
        ret = {'access_token': create_access_token_public({'public test user':'yes'})}
        return jsonify(ret), 200

    @app.route('/protected/public/')
    @paseto_required
    def protected_public():
        claims = get_paseto_claim_public()
        return jsonify(claims), 200

    app.run()
````
The client http request must provide a generated paseto token 
``` 
    GET /protected/public HTTP/1.1
    Authorization: Bearer v2.local.epxJJp-rchdlMondp12dxN9MV7GACjW0swwyOgo5pliQo2fJmC-1WqhrmWDTQBkg08In7zXD6ieM-xpaY2eMWr-mAu64nVi8VvTWi5bc3dhGHGR-Mg8QQ8HJIzPldLfSDLQXwQ
```
#### Configuration Options
| Option                | Description                                                                                     |
|-----------------------| ------------------------------------------------------------------------------------------------|
|PASETO_SECRET_KEY      | This is the secret key used by paseto to sign your data. *It requires 32 byte strings*          |
|PASETO_PUBLIC_KEY      | This is the public key generated as part of the key pair generated for paseto                   |
|PASETO_PRIVATE_KEY     | This is the private key generated as part of the key pair generated for paseto                  |
|PASETO_EXPIRATION_DELTA| The additional time from the current time the token was created before expiration               |