semvec/pypi-packages huggingface dataset:
ecgmentations 0.0.9
Ecg augmentation library and easy to use wrapper around other libraries
License: MIT
Requires Python: >=3.7

# Ecgmentations

![Python version support](https://img.shields.io/pypi/pyversions/ecgmentations)
[![PyPI version](https://badge.fury.io/py/ecgmentations.svg)](https://badge.fury.io/py/ecgmentations)
[![Downloads](https://pepy.tech/badge/ecgmentations/month)](https://pepy.tech/project/ecgmentations?versions=0.0.*)

Ecgmentations is a Python library for ecg augmentation. Ecg augmentation is used in deep learning to increase the quality of trained models. The purpose of ecg augmentation is to create new training samples from the existing data.

Here is an example of how you can apply some augmentations from Ecgmentations to create new ecgs from the original one:

![preview](https://raw.githubusercontent.com/rostepifanov/ecgmentations/main/images/preview.png)

## Table of contents
- [Authors](#authors)
- [Installation](#installation)
- [A simple example](#a-simple-example)
- [List of augmentations](#list-of-augmentations)
- [Citing](#citing)

## Authors
[**Rostislav Epifanov** — Researcher in Novosibirsk]()

## Installation
Installation from PyPI:

```
pip install ecgmentations
```

Installation from GitHub:

```
pip install git+https://github.com/rostepifanov/ecgmentations
```

## A simple example
```python
import numpy as np
import ecgmentations as E

# Declare an augmentation pipeline
transform = E.Sequential([
    E.TimeReverse(p=0.5),
    E.ChannelShuffle(p=0.06),
])

# Create example ecg (length, nchannels)
ecg = np.ones((5000, 12))

# Augment an ecg
transformed = transform(ecg=ecg)
transformed_ecg = transformed['ecg']
```

## List of augmentations

The list of time axis transforms:

- [TimeReverse]()
- [TimeShift]()
- [TimeSegmentShuffle]()
- [RandomTimeWrap]()
- [TimeCutout]()
- [TimeCrop]()
- [CenterTimeCrop]()
- [RandomTimeCrop]()
- [TimePadIfNeeded]()
- [Pooling]()
- [Blur]()

The list of pulse transforms:

- [SinePulse]()
- [PowerlineNoise]()
- [RespirationNoise]()
- [SquarePulse]()

The list of filter transforms:

- [LowPassFilter]()
- [HighPassFilter]()
- [BandPassFilter]()
- [SigmoidCompression]()

The list of other transforms:

- [AmplitudeInvert]()
- [ChannelShuffle]()
- [ChannelDropout]()
- [GaussNoise]()
- [GaussBlur]()
- [AmplitudeScale]()


## Citing

If you find this library useful for your research, please consider citing:

```
@misc{epifanov2023ecgmentations,
  Author = {Rostislav Epifanov},
  Title = {Ecgmentations},
  Year = {2023},
  Publisher = {GitHub},
  Journal = {GitHub repository},
  Howpublished = {\url{https://github.com/rostepifanov/ecgmentations}}
}
```
sereto-repl 0.3.1
REPL plugin for Click
License: MIT
Requires Python: >=3.6

click-repl
===

[![Tests](https://github.com/click-contrib/click-repl/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/click-contrib/click-repl/actions/workflows/tests.yml)
[![License](https://img.shields.io/pypi/l/click-repl?label=License)](https://github.com/click-contrib/click-repl/LICENSE)
![Python - version](https://img.shields.io/badge/python-3%20%7C%203.7%20%7C%203.8%20%7C%203.9%20%7C%203.10%20%7C%203.11-blue)
[![PyPi - version](https://img.shields.io/badge/pypi-v0.2.0-blue)](https://pypi.org/project/click-repl/)
![wheels](https://img.shields.io/piwheels/v/click-repl?label=wheel)
![PyPI - Status](https://img.shields.io/pypi/status/click)
![PyPI - Downloads](https://img.shields.io/pypi/dm/click-repl)

Installation
===

Installation is done via pip:
```
pip install click-repl
```
Usage
===

In your [click](http://click.pocoo.org/) app:

```py
import click
from click_repl import register_repl

@click.group()
def cli():
    pass

@cli.command()
def hello():
    click.echo("Hello world!")

register_repl(cli)
cli()
```
In the shell:
```
$ my_app repl
> hello
Hello world!
> ^C
$ echo hello | my_app repl
Hello world!
```
**Features not shown:**

- Tab-completion.
- The parent context is reused, which means `ctx.obj` persists between
  subcommands. If you're keeping caches on that object (like I do), using the
  app's repl instead of the shell is a huge performance win.
- `!` - prefix executes shell commands.

You can use the internal `:help` command to explain usage.

Advanced Usage
===

For more flexibility over how your REPL works you can use the `repl` function
directly instead of `register_repl`. For example, in your app:

```py
import click
from click_repl import repl
from prompt_toolkit.history import FileHistory

@click.group()
def cli():
    pass

@cli.command()
def myrepl():
    prompt_kwargs = {
        'history': FileHistory('/etc/myrepl/myrepl-history'),
    }
    repl(click.get_current_context(), prompt_kwargs=prompt_kwargs)
    
cli()
```
And then your custom `myrepl` command will be available on your CLI, which
will start a REPL which has its history stored in
`/etc/myrepl/myrepl-history` and persist between sessions.

Any arguments that can be passed to the [`python-prompt-toolkit`](https://github.com/prompt-toolkit/python-prompt-toolkit) [Prompt](http://python-prompt-toolkit.readthedocs.io/en/stable/pages/reference.html?prompt_toolkit.shortcuts.Prompt#prompt_toolkit.shortcuts.Prompt) class
can be passed in the `prompt_kwargs` argument and will be used when
instantiating your `Prompt`.
scrapy-playwright-cloud-browser 0.1.2
A Scrapy extension that integrates with https://surfsky.io using Playwright
License: MIT
Requires Python: >=3.9

# scrapy-playwright-cloud-browser

[![PyPI - Version](https://img.shields.io/pypi/v/scrapy-playwright-cloud-browser.svg)](https://pypi.org/project/scrapy-playwright-cloud-browser)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/scrapy-playwright-cloud-browser.svg)](https://pypi.org/project/scrapy-playwright-cloud-browser)

A Scrapy extension that integrates with [surfsky.io](https://surfsky.io) for web scraping using Playwright. This extension allows you to use Chrome anti-detection browsers through Surfsky.io's cloud browser service with Playwright integration, helping you avoid detection while scraping challenging websites.

-----

## Installation

```console
pip install scrapy-playwright-cloud-browser
```

## Usage

Setup environment variables in `settings.py` in `CLOUD_BROWSER` namespace:

```python
CLOUD_BROWSER = {
    "API_HOST": <HOST>,
    "API_TOKEN": <API_TOKEN>,
    "NUM_BROWSERS": <NUM_BROWSERS>,
    "PROXIES": [<proxy>],
    "INIT_HANDLER": <INIT_HANDLER>,
    "PAGES_PER_BROWSER": <PAGES_PER_BROWSER>,
    "START_SEMAPHORES": <START_SEMAPHORES>,
    "PROXY_ORDERING": <PROXY_ORDERING>,
    "BROWSER_SETTINGS": <BROWSER_SETTINGS>,
    "FINGERPRINT": <FINGERPRINT>
}
```

### Configuration Parameters

- **API_HOST**: The URL of the Surfsky.io API host.
- **API_TOKEN**: Your authentication token for the Surfsky.io service.
- **NUM_BROWSERS** (default: 1): Number of browser instances to run in parallel. Increase this value to improve throughput for large-scale scraping.
- **PROXIES**: A list of proxy URLs to use with the browsers. Each browser will be assigned a proxy from this list according to the PROXY_ORDERING strategy.
- **INIT_HANDLER**: Custom initialization handler for browser setup.
- **PAGES_PER_BROWSER** (default: 100): Maximum number of pages a browser instance will process before being recycled.
- **START_SEMAPHORES** (default: 10): Controls how many browsers can be started simultaneously. This prevents overwhelming the system with too many concurrent browser startups.
- **PROXY_ORDERING** (default: 'random'): Strategy for assigning proxies to browsers. Options are:
  - 'random': Randomly select a proxy from the list for each browser
  - 'round-robin': Cycle through the proxy list in order

For detailed browser settings (BROWSER_SETTINGS) and fingerprint configuration options (FINGERPRINT), please refer to the [Surfsky API Reference](https://docs.surfsky.io/api-reference).

Add cloud browser handlers and change reactor in `settings.py`:

```python
TWISTED_REACTOR = "twisted.internet.asyncioreactor.AsyncioSelectorReactor"

EXTENSIONS = {
    'scrapy_playwright_cloud_browser.CloudBrowserExtension': 100,
}
```

## License

`scrapy-playwright-cloud-browser` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
scrapy-cloud-browser 0.1.1
A Scrapy extension that integrates with https://surfsky.io
License: MIT
Requires Python: >=3.9

# scrapy-cloud-browser

[![PyPI - Version](https://img.shields.io/pypi/v/scrapy-cloud-browser.svg)](https://pypi.org/project/scrapy-cloud-browser)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/scrapy-cloud-browser.svg)](https://pypi.org/project/scrapy-cloud-browser)

A Scrapy extension that integrates with [surfsky.io](https://surfsky.io) for web scraping. This extension allows you to use Chrome anti-detection browsers through Surfsky.io's cloud browser service, helping you avoid detection while scraping challenging websites.

-----

## Installation

```console
pip install scrapy-cloud-browser
```

## Usage

Setup environment variables in `settings.py` in `CLOUD_BROWSER` namespace:

```python
CLOUD_BROWSER = {
    "API_HOST": <HOST>,
    "API_TOKEN": <API_TOKEN>,
    "NUM_BROWSERS": <NUM_BROWSERS>,
    "PROXIES": [<proxy>],
    "PAGES_PER_BROWSER": <PAGES_PER_BROWSER>,
    "START_SEMAPHORES": <START_SEMAPHORES>,
    "PROXY_ORDERING": <PROXY_ORDERING>,
    "BROWSER_SETTINGS: <BROWSER_SETTINGS>,
    "FINGERPRINT": <FINGERPRINT>
}
```

### Configuration Parameters

- **API_HOST**: The URL of the Surfsky.io API host.
- **API_TOKEN**: Your authentication token for the Surfsky.io service.
- **NUM_BROWSERS** (default: 1): Number of browser instances to run in parallel. Increase this value to improve throughput for large-scale scraping.
- **PROXIES**: A list of proxy URLs to use with the browsers. Each browser will be assigned a proxy from this list according to the PROXY_ORDERING strategy.
- **PAGES_PER_BROWSER** (default: 100): Maximum number of pages a browser instance will process before being recycled.
- **START_SEMAPHORES** (default: 10): Controls how many browsers can be started simultaneously. This prevents overwhelming the system with too many concurrent browser startups.
- **PROXY_ORDERING** (default: 'random'): Strategy for assigning proxies to browsers. Options are:
  - 'random': Randomly select a proxy from the list for each browser
  - 'round-robin': Cycle through the proxy list in order

For detailed browser settings (BROWSER_SETTINGS) and fingerprint configuration options (FINGERPRINT), please refer to the [Surfsky API Reference](https://docs.surfsky.io/api-reference).

Add cloud browser handlers and change reactor in `settings.py`:

```python
TWISTED_REACTOR = "twisted.internet.asyncioreactor.AsyncioSelectorReactor"

EXTENSIONS = {
    'scrapy_cloud_browser.CloudBrowserExtension': 100,
}
```

## License

`scrapy-cloud-browser` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.