semvec/pypi-packages huggingface dataset:
fsleyes-plugin-mrs 0.1.5.post1
FSLeyes extension for viewing MRS(I) data formatted as NIfTI-MRS.
Requires Python: >=3.11

# fsleyes-plugin-mrs
An [FSLeyes](https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FSLeyes) plugin for viewing the [NIfTI-MRS](https://github.com/wexeee/mrs_nifti_standard/) format.

This plugin adds an additional MRS specific view panel to FSLeyes which displays spectra in the frequency domain. Higher dimensions of data stored in NIfTI-MRS format may be explored.

This plugin also loads and displays results from FSL-MRS's mrsi fitting routine `fsl_mrsi`. The plugin displays the spectral fit for each voxel and creates an interface for loading output metabolite maps easily.

## Installation
Relies on [FSLeyes](https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FSLeyes) (version >= 1.0.10). This package must be installed in the same environment as FSLeyes is run from.

Install using conda, pip, or by cloning this repository. For full installation instructions please see the [documentation](https://open.win.ox.ac.uk/pages/wclarke/fsleyes-plugin-mrs/install.html).

### Conda
After activating the target environment run

    conda install -c conda-forge fsleyes-plugin-mrs

### PyPI

    pip install fsleyes-plugin-mrs

### Cloning from git

    git clone https://git.fmrib.ox.ac.uk/wclarke/fsleyes-plugin-mrs
    cd fsleyes-plugin-mrs
    pip install .

## Quick start guide
For full instructions please see the [documentation](https://open.win.ox.ac.uk/pages/wclarke/fsleyes-plugin-mrs/index.html).

### NIfTI-MRS viewer
Start the dedicated MRSView by selecting `MRSView` in the `View` menu.

Once open the NIfTI-MRS dimension selector can be opened by clicking the ![](fsleyes_plugin_mrs/icons/nifti_mrs_icon-mrs_icon_highlight_thumb24.png) icon.

Alternatively, a built-in MRS layout can be loaded from the `View - Layouts` menu, or the command line using:
    
    fsleyes -smrs ...

for example with data

    fsleyes -smrs t1.nii.gz svs.nii.gz

### MRSI results viewer
A results folder generated by FSL-MRS's `fsl_mrsi` script can be loaded by using the `Tools - Load FSL-MRS fit` menu item.

The spectral fit, baseline, and residual is displayed in the MRSView. Metabolite maps and QC metrics can be loaded using the `FSL-MRS Results` panel added to the bottom of the orthographic view.

## Acknowledgements and referencing
If you use this tool in your research please cite: TBC

Thanks to Paul McCarthy for his significant input into development of this plugin.
awsjavakit-cfn-rules 0.0.38
Extendable CFN rules
Requires Python: <4.0.0,>=3.10.15

# Additional CloudFormation Rules

## Implemented rules:

### E9001 Tags Rule:

It checks whether resources have the desired tags. Example:
```
templates:
    - tests/resources/templates/**/*.yaml
append_rules:
    - awsjavakit_cfn_rules

configure_rules:
    E9001:
        expected_tags:
            - expectedTag
```

### E9002 SQS Long polling rule:
It checks whether an SQS queue has been configured to perform long polling to avoid invoking targets with empty responses.
See https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html
 
### Suggested Usage:

Create a configuration file `.cfnlintrc` like the following:
    
```
        templates:
          - template.yaml
        append_rules:
            - awsjavakit_cfn_rules
        
        configure_rules:
            E9001:
                expected_tags:
                    - expectedTag


```
Place the configuration file in the same folder as your template (template.yaml).  
Afterwards, run the following commands

```
        python -m venv .cfn-lint-venv
        . .cfn-lint-venv/bin activate
        pip install cfn-lint
        pip install awsjavakit-cfn-rules
        
```

Finally run `cfn-lint` to run the cfn-lint.
hypmix 0.2.4
A Hyperspectral Linear Mixture anlysis code for python.
Requires Python: <3.15,>=3.13

# hypmix
Hyperspectral Unmixing Library for Python

## Installation

```bash
pip install hypmix
```

## Usage
```python
import hypmix

em_list = []
for data, wvl in zip(spectrum_list, wvl_list):
    spec=hypmix.Spectrum(data, wvl)
    em_list.append(hypmix.EndMember("endmember1", spec))

model = hypmix.MixtureModel(em_list, data_cube)
model.add_virtual_shade()

res = model.run("save/path/results.hdf5", "model_name")
hypmix.save_model_result(res)
```

## MixView GUI
![Image of a Graphical User Interface](https://github.com/z-vig/hypmix/blob/main/src/hypmix/resources/images/gui_example.png?raw=true)
hatch-pyinstaller 1.1.0.dev3
Hatch plugin for building binaries using PyInstaller
Requires Python: >=3.7
Keywords: hatch, packaging

# hatch-pyinstaller

-----

This is a [Hatch](https://hatch.pypa.io/latest/) plugin that provides
a custom builder to support building binaries using [PyInstaller](https://pyinstaller.org). Any licence or readme files will be copied to the `dist` directory.

This is something I found useful for building my own personal use apps, and thought I would share. It is offered without waranty or gaurentee of support. I am not a developer or IT professional of any kind. If you find this usefull, and want to take ownership, let me know. 

## Usage

Add hatch-pyinstaller to your build dependencies, then add PyInstaller options to `[tool.hatch.build.targets.pyinstaller]`. Yor app's main script(s) can be specified with `scriptname = "myscript.py"` or `scriptname = ["myscript1.py", "myscript2.py"]` if you have multiple script to build. Otherwise the builder will assume as script with the same name as the project in the project's root directory. Also, you will need to add `require-runtime-dependencies = true` to the target config or else PyInstaller won't be able to find your imported modules.

All valid PyInstaller options should be functional. You can only define 1 set of options that are applied on all built scripts (= values of `scriptname`). Options that do not take an argument are added to a flags list: `flags = ["--onedir", "--clean"]`. Options that take an argument have their own entry `log-level = "WARN"`. For options that can be used multiple times use a list of strings for the value: `collect-data = ["some_module", "some_other_module" ]`. For a full list of option, see https://pyinstaller.org/en/stable/usage.html#options.

Zipping:  
If you want built scripts to be bundled in a zip file, add `zip = true` in `[tool.hatch.build.targets.pyinstaller]`.  
Zip file is created in hatch \<dist\> folder, named as per standard naming convention: _{distribution}-{version}.bin.zip_.


Compatibility warnings:  
`--name` option cannot be defined if several scripts are to be built.  
If this occurs, the option is ignored and a warning message is displayed.

## Example

Project directory:
```
.
├── pyproject.toml
├── LICENSE.txt
├── README.md
├── foo.py
├── foo
│   ├── bar
│   │   └── more-code.py
│   ├── baz
│   │   ├── data.txt
│   │   └── even-more-code.py
│   └── my-code.py
```
`pyproject.toml`
```toml
[project]
name = "foo"
version = "0.1"
dependencies = ["some_module"]

[build-system]
requires = [
    "hatchling",
    "hatch-pyinstaller",
]
build-backend = "hatchling.build"

[tool.hatch.build.targets.pyinstaller]
require-runtime-dependencies = true
flags = ["--clean", "--onedir"]
collect-submodules = ["bar", "baz"]
log-level = "WARN"
zip = true
```
build command:
```
hatch build --target pyinstaller
```

## Author
William Smith <williams@citisyn.net>

## License
`hatch-pyinstaller` is distributed under the terms of [GNU General Public License, version 2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html).
google-wallet-webhook-auth 1.0.0
Google Wallet webhook signature verification utilities for Python.
Requires Python: >=3.10

# google-wallet-webhook-auth

Google Wallet webhook signature verification utilities for Python.

## Features

- Verify Google Wallet webhook signatures according to official documentation
- Utilities for handling Google Pay cryptographic signature formats
- Typed and tested Python code

## Installation

```bash
pip install google-wallet-webhook-auth
```

## Usage

An example with flask : 

```python
from flask import Flask, request, jsonify, abort
from google_wallet_webhook_auth import Validator
from google_wallet_webhook_auth.exceptions import SignatureVerificationError


app = Flask(__name__)

@app.route("/webhook/google/events", methods=['POST'])
def event_webhook():
    data = request.get_json()
    try:
        Validator("YOUR_ISSUER_ID").validate(data)
    except SignatureVerificationError:
        abort(401)

if __name__ == '__main__':
    app.run(debug=True)
```

## Usage with cache and django

```python
from rest_framework import permissions
from django.core.cache import cache

from google_wallet_webhook_auth import Validator
from google_wallet_webhook_auth.exceptions import SignatureVerificationError
from google_wallet_webhook_auth.cache import CacheConfig, CacheInterface

class DjangoCacheAdapter(CacheInterface):
    def get(self, key):
        return cache.get(key)

    def set(self, key, value, timeout=None):
        cache.set(key, value, timeout=timeout)

class IsGoogleWebhook(permissions.BasePermission):
    def has_permission(self, request, __view):
        cache_config = CacheConfig(key="google_key", backend=DjangoCacheAdapter())
        try:
            Validator("YOUR_ISSUER_ID", cache_config=cache_config).validate(request.data)
        except SignatureVerificationError:
            return False
        return True
```

## Development

- Install deps: `uv sync --all-extras`
- Run tests: `uv run pytest`
- Lint and format: `pre-commit run --all-files`
- Before commit: `pre-commit install`

## License

This project is licensed under the GPL-3.0-or-later. See [LICENSE](LICENSE) for details.


**Made with ❤️**