semvec/pypi-packages huggingface dataset:
goofit 2.3.0
GooFit fitting package
Requires Python: !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7

GooFit for Python
-----------------

GooFit is a highly parallel fitting framework originally designed for High Energy Physics.

Installation basics
===================

This package can be installed with pip, but uses SciKit-Build, and is build,
fully optimized, on your system. Because of this, there are a few caveats when
running a pip install if you use an old version of pip. When you build, you
should also use pip's ``-v`` flag, so that you can see it build (and observe
the configuration options). Otherwise, you might wait a very long time without
output (especially if CUDA was found).


Installation: pip
=================

Using pip 10+::

    pip install -v goofit

Using pip < 10::

    pip install scikit-build # optionally cmake ninja
    pip install -v goofit


GooFit will automatically look for CUDA, and build in GPU mode if it finds CUDA. You can pick a specific version by passing through a CMake option (see below), or by setting an environment variable, `GOOFIT_DEVICE` before building. You may want to build with OpenMP as a backend to avoid using your GPU, or you might want the CPP version if you are using Anaconda on macOS. Here are the three common backends::

    GOOFIT_DEVICE=CUDA pip install -v goofit
    GOOFIT_DEVICE=OMP pip install -v goofit
    GOOFIT_DEVICE=CPP pip install -v goofit

The lines above use environment variables; GooFit will find any environment variables that start with ``GOOFIT_*`` and set them as CMake defines. If you want to send arbitrary commands to CMake through PIP, you will need to pass each option through, starting with a ``--`` option. Pip will try to reuse the built version if you do not pass options, but will rebuild if you pass options, so this works for a rebuild, unlike the lines above. This is how you would do this to set OMP as the backend::

    pip install -v goofit --install-option="--" --install-option="-DGOOFIT_DEVICE=OMP"
    # OR
    PIP_INSTALL_OPTION="-- -DGOOFIT_DEVICE=OMP" pip install -v goofit


Installation: local
===================

If you want to add PDFs to GooFit, or use GooFit packages, you should be working in a local directory using git. In the following example, I'm assuming you've set up SSH keys with GitHub; you can use https instead if you prefer by changing the URL to ``https://github.com/GooFit/GooFit.git``::

    git clone --recursive git@github.com:GooFit/GooFit.git
    cd goofit

Local pip
~~~~~~~~~

The normal install here works, though as usual you should include verbose output and you should be in a virtual environment (standard practice)::

    pip install -v .
free-ssl-proxies 0.1.1
A minimal python library that scrapes ssl proxies from https://sslproxies.org.

## Description

`free-ssl-proxies` is a lightweight Python library that scrapes `ssl` proxies from `https://sslproxies.org/`, 
and provides some convenient objects and caching methods for working with the retrieved proxies. This library 
requires no external Python dependencies to work.


## Usage

### Installation

```commandline
pip3 install .
```

### Importing

```python3
from free_ssl_proxies import proxy_list as pl
```

### First time retrieval

You can iterate through all the proxies currently available on `sslproxies.org` with the following code:
- `profile`: If True, we will attempt to connect through each proxy
- `timeout`: If the timeout is exceeded the proxy object will contain `None` for the `avg_request_time` (relatively slow proxy)

```python3
proxies = pl.ProxyList.from_ssl_proxies_org(profile=True, timeout=1)

for proxy in proxies:
    print(proxy.ip_address, proxy.port, proxy.cc, proxy.country, proxy.google, proxy.avg_request_time)
```


### Caching
`sslproxies.org` refreshes their list every 10 minutes, so it doesn't make sense to constantly hammer their page with 
requests. This package offers a simple caching mechanism that can be used like so:

```python3
proxies = pl.ProxyList.from_ssl_proxies_org(profile=True, timeout=1)

pl.write_proxy_list_to_cache(proxies)
```

To access the cache later:

```python3
proxies = pl.ProxyList.from_cache()
```


### Access

#### By country

You can use either the `country` name `cc` to find proxies.

```python3
for us_proxy in proxies.get_by_country("us"):
    print(us_proxy)
```

#### Fastest

You can get a sorted list of the fastest proxies if profiling has been done.

```python3
for fast_proxy in proxies.get_fastest():
    print(fast_proxy)
```


#### Random

You can get a random proxy selected from the fastest proxies if profiling has been done. If profiling has not been done
then we will pick from the entire pool of available proxies.

```
proxy = proxies.random()
```