semvec/pypi-packages huggingface dataset:
rpy-symmetry 0.3.0
Light weight bridge from `R` to `python` of the [`symmetry` R-module](https://cran.r-project.org/web/packages/symmetry).
License: MIT
Requires Python: >=3.8

# `Rpy_symmetry`
[![Coverage Status](https://coveralls.io/repos/github/JoranAngevaare/rpy_symmetry/badge.svg)](https://coveralls.io/github/JoranAngevaare/rpy_symmetry)
[![PyPI version shields.io](https://img.shields.io/pypi/v/orpy_symmetry.svg)](https://pypi.python.org/pypi/rpy_symmetry/)
[![Python Versions](https://img.shields.io/pypi/pyversions/rpy_symmetry.svg)](https://pypi.python.org/pypi/rpy_symmetry)
[![PyPI downloads](https://img.shields.io/pypi/dm/rpy_symmetry.svg)](https://pypistats.org/packages/rpy_symmetry)

Light weight bridge from `R` to `python` of the [`symmetry` R-module](https://cran.r-project.org/web/packages/symmetry).

By default, the Symmetry test uses the one from:

    Mira A (1999) Distribution-free test for symmetry based on Bonferroni's measure. J Appl Stat 26(8):959–972. https://doi.org/10.1080/02664769921963


## Installation \ Requirements
`R` needs to be, for example using conda
```
conda install -c conda-forge r-base
```
or mamba:
```
mamba install -c conda-forge r-base
```
Then, one can simply install using pipy:
```
pip install rpy_symmetry
```


The python interface is built on [`rpy2`](https://rpy2.github.io/), which will be automatically be installed as one of the requirements.

## Examples
See example notebook
scrapy_webdriver 1.0.10
Scrapy extension for handle pages with selenium
License: MIT
Requires Python: <4.0,>=3.10

# ScrapeWebdriver
Class based on selenium webdriver.Firefox with methods for scraping.
Allow dynamically change proxies with change of `"about:config".  

Changelog presented in CHANGELOG.md.

### Installation
`pip install scrapy_webdriver`

### Basic usage

For use selenium, need to yield `SeleniumRequest` and if you need to make some actions on page, can use driver_func.

```python
from typing import Iterable
import scrapy 
from scrapy.http import Request

from scrapy_webdriver.middleware_utils.drivers import Driver
from scrapy_webdriver.middleware_utils.http import SeleniumRequest


class TestSpider(scrapy.Spider):
    name = "simple_spider"
    start_urls = ["http://example.org"]

    def start_requests(self) -> Iterable[Request]:
        for url in self.start_urls:
            yield SeleniumRequest(
                url=url,
                callback=self.parse,
                driver_func=self.parse_page_with_driver,
            )

    def parse_page_with_driver(self, driver: Driver):
        self.logger.info("Page opened")

    def parse(self, response, **kwargs):
        yield {"title": response.css("title::text").get()}
```

### Available options

 - `SELENIUM_POOL_SIZE` - how many concurrent browser instances will be opened at same time, default 1
 - `SELENIUM_PROXY_POOL` - proxy pool in format `Iteable[http://user:pass@host:port]`, default `()`.
 - `SELENIUM_CHANGE_PROXY_ON_EACH_REQUEST` - change or not proxy before each request, default `True`.
 - `SELENIUM_INSTALL_ADBLOCK` - install adblock extension for block some requests, default `True`.
 - `SELENIUM_RUN_PYVIRTUAL_DISPLAY` - run py virtual display for not run drivers in headless on server, default `False`. 
 - `SELENIUM_HEADLESS` - run headless or not.