semvec/pypi-packages huggingface dataset:
FFTA 0.3.5.1
Fast Free Transient Analysis
License: MIT

[![PyPI version](https://badge.fury.io/py/FFTA.svg)](https://badge.fury.io/py/FFTA)
[![Documentation Status](https://readthedocs.org/projects/ffta/badge/?version=latest)](https://ffta.readthedocs.io/en/latest/?badge=latest)
[![Coverage Status](https://coveralls.io/repos/github/rajgiriUW/ffta/badge.svg?branch=master)](https://coveralls.io/github/rajgiriUW/ffta?branch=master)


# Fast-Free Transient Analysis
A package for processing time-dependent frequency response information in atomic force microscopy data. This package is primarily geared towards electrostatic force microscopy, with the resulting output being the amplitude, phase, and instantaneous frequency as a function of time and position. This includes non-stationary Fourier mode decomposition by Daniel Shea of University of Washington.

### For further information and discussion, primary point-of-contact:
```
Dr. Raj Giridharagopal, Ph.D.
Senior Research Scientist
University of Washington
Department of Chemistry
Seattle, Washington, USA
E-mail: rgiri@uw.edu
```

### Overview
FFTA extracts Instantaneous frequency from  Time-Resolved AFM data, such as Fast Free Time-Resolved Electrostatic Force Microscopy (FF-trEFM) data[1-4]. This package also returns time-to-first frequency peak (tFP) and phase from atomic force microscopy. The use case is if your experiment records AFM deflection data and you wish to reconstruct the instantaneous frequency vs time.

This includes a few types of frequency analysis:
* Hilbert Transform  
* Wavelet Transform (CWT, via Morlet wavelet)
* Short-time Fourier Transform (STFT)
* General Mode KPFM (G-KPFM)
* Nonstationary Fourier Mode Decomposition (NFMD)

### References
1. Giridharagopal R, Rayermann GE, Shao G, et al. Submicrosecond time resolution atomic force microscopy for probing nanoscale dynamics. *Nano Lett.* **12,** 893-8 (2012). [DOI: 10.1021/nl203956q](http://dx.doi.org/10.1021/nl203956q)
2. Karatay DU, Harrison JA, et al. Fast time-resolved electrostatic force microscopy: Achieving sub-cycle time resolution. *Rev Sci Inst.* **87,** 053702 (2016). [DOI: 10.1063/1.4948396](http://dx.doi.org/10.1063/1.4948396)
3. Giridharagopal R, Precht JA, Jariwala S, Collins L, et al. Time-Resolved Electrical Scanning Probe Microscopy of Layered Perovskites Reveals Spatial Variations in Photoinduced Ionic and Electronic Carrier Motion. *ACS Nano* **13,** 2812-21 (2019). [DOI: 10/1021/acsnano.8b08390](http://dx.doi.org/10.1021/acsnano.8b08390)
4. Ginger DS, Giridharagopal R, Moore DT, Rayermann GE, Reid OG. Sub-microsecond-resolution probe microscopy. US Patent [US8686358B2](https://patents.google.com/patent/US8686358)
5. Shea DE, Giridharagopal R, Ginger DS, Brunton SL, Kutz JN. Extraction of instantaneous frequencies and amplitudes in nonstationary time-series data. *IEEE Access.* In press (as of 6/14/2021). [DOI: 10.1109/ACCESS.2021.3087595](https://ieeexplore.ieee.org/document/9448199)

### Getting started
To get started and to see some examples, check out the (very much in progress) [documention](https://ffta.readthedocs.io/en/latest/).

### Installation

```
pip install ffta
```
pygpt4all 1.1.0
Official Python CPU inference for GPT4All language models based on llama.cpp and ggml
License: MIT
Requires Python: >=3.8

# PyGPT4All
Official Python CPU inference for [GPT4All](https://github.com/nomic-ai/gpt4all) language models based on [llama.cpp](https://github.com/ggerganov/llama.cpp) and [ggml](https://github.com/ggerganov/ggml)

[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![PyPi version](https://badgen.net/pypi/v/pygpt4all)](https://pypi.org/project/pygpt4all/)

<!-- TOC -->
* [Installation](#installation)
* [Tutorial](#tutorial)
    * [Model instantiation](#model-instantiation)
    * [Simple generation](#simple-generation)
    * [Interactive Dialogue](#interactive-dialogue)
* [API reference](#api-reference)
* [License](#license)
<!-- TOC -->
# Installation

```bash
pip install pygpt4all
```

# Tutorial

You will need first to download the model weights

| Model     | Download link                                            |
|-----------|----------------------------------------------------------|
| GPT4ALL   | http://gpt4all.io/models/ggml-gpt4all-l13b-snoozy.bin    |
| GPT4ALL-j | https://gpt4all.io/models/ggml-gpt4all-j-v1.3-groovy.bin |                                                                     

### Model instantiation
Once the weights are downloaded, you can instantiate the models as follows:
* GPT4All model

```python
from pygpt4all import GPT4All

model = GPT4All('path/to/ggml-gpt4all-l13b-snoozy.bin')
```

* GPT4All-J model

```python
from pygpt4all import GPT4All_J

model = GPT4All_J('path/to/ggml-gpt4all-j-v1.3-groovy.bin')
```


### Simple generation
The `generate` function is used to generate new tokens from the `prompt` given as input:

```python
for token in model.generate("Tell me a joke ?\n"):
    print(token, end='', flush=True)
```

### Interactive Dialogue
You can set up an interactive dialogue by simply keeping the `model` variable alive:

```python
while True:
    try:
        prompt = input("You: ", flush=True)
        if prompt == '':
            continue
        print(f"AI:", end='')
        for token in model.generate(prompt):
            print(f"{token}", end='', flush=True)
        print()
    except KeyboardInterrupt:
        break
```

# API reference
You can check the [API reference documentation](https://nomic-ai.github.io/pygpt4all/) for more details.


# License
This project is licensed under the MIT  [License](./LICENSE).