semvec/pypi-packages huggingface dataset:
cuke 0.2.0
Python client for cuke.cool
Requires Python: >=3.8,<4.0
Keywords: publishing,faas,serverless,webpage,python

# Python client library for cuke.cool

This is a Python client library for [cuke.cool](https://cuke.cool).

## Documentation

See the [cuke.cool documentation](https://docs.cuke.cool) for more information.

## Testing

The tests are run as part of the (currently, closed source) cuke.cool CI pipeline.

## Release

* Update version number in pyproject.toml
* Push to main branch, CICD will publish to PyPI
favicon-grabber 1.0.0
Python functions to download favicons using internal google api
Keywords: python,favicon,downloader

# Favicon-Grabber

Python functions to download favicons using internal google api

## Installation

Install function by running the following command.
<br>
**NOTE** Once pip comes back online

```bash
  pip install favicon-grabber
```

## Usage/Examples

```python
from favicon-grabber import download_favicon, download_favicons

# Single download
download_favicon("google.com", size=128)

# Multiple downloads
websites = ["google.com", "stackoverflow.com", "github.com"]
download_favicons(websites, path="my/path/favicons")
```

## Acknowledgements
- [aanupam23](https://github.com/aanupam23/FaviconGrabber/tree/main)
Swaiter 1.0.4
The loop waits until the selenium element has loaded.
Requires Python: >=3.7
Keywords: selenium,crawler

# Swaiter

​	项目名字取自：Selenium+waiter

​	作为一个爬虫人，在使用selenium进行爬虫时，时长会遇到由于网络等原因导致无法及时获取一些元素，从而导致程序报错。此时聪明的小伙伴就会说了：加个`time.sleep()`不就好了。事实上这个方法确实可以解决绝大部分问题，但其也有一个比较尴尬的问题：到底要“睡”多久合适？长了耽误爬取效率，短了又怕没有作用，所以这个库就是为了解决上述问题而存在的。

## 安装

库的安装十分简单直接使用以下面的命令就可以安装成功了：

```bash
pip install Swaiter
```

## 使用

使用方法主要分为两种：直接使用基础组件进行开发、继承并添加自己的检索函数

### 使用基础组件

这里给一个简单的使用基础组件的例子：

```python
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options
from waiter import Waiter

if __name__ == '__main__':
    # 获取selenium中驱动配置项（可省略）
    driver_opt = Options()
    url = "https://www.baidu.com/"
    # 获取selenium中的driver对象
    chrome_driver = Chrome(options=driver_opt)
    chrome_driver.get(url=url)
    # 利用获取到的driver对象创建Waiter对象
    w = Waiter(chrome_driver)
    # 传入xpath路径以及查询参数，检索input对象，并向其中填入查询参数
    w.input_send_waiter(xpath="//input[@id='kw']", query="python")
    # 利用xpath找到点击对象，模拟点击
    w.click_waiter(xpath="//input[@id='su']")
    # 在新的页面找到第一个链接，并获取其中的href属性值
    result = w.elements_text_waiter(xpath="//h3/a[@tabindex=0]", attribute="href")
    print(result)
```

​	上述例子中，使用了3个基础的搜索函数，向这样的搜索函数，本库一共提供了5个，应该可以满足简单的模拟需求，当然如果你有一些特别的搜索需求，也可以尝试使用第二种方式。

### 继承并开发自己的检索函数

```python
from waiter import Waiter
from selenium.webdriver.common.by import By

class MyWaiter(Waiter):
    def __init__(self, driver, interval, is_track, is_log):
        super().__init__(driver=driver, interval=interval, is_track=is_track, is_log=is_log)

    def _textarea_send(self, xpath, **kwargs):
        self.driver.find_element(By.XPATH, xpath).send(kwargs)

    def textarea_send(self, xpath, **kwargs):
        self.wait(func="_textarea_send", xpath=xpath, interval=5, **kwargs)
```

## 环境

> window10、window11
>
> python>=3.8
>
> selenium>=4.9.0
>
> loguru>=0.7.0

## 版本

#### 2023.5.22

**Version-1.0.4**

- 添加select组件的搜索器
  - 添加获取组件所有选项
  - 添加向select组件中输入值

[1.0.4](https://pypi.org/project/Swaiter/1.0.4/)

#### 2023.5.16

**Version-1.0.3**

完成基础功能

[1.0.3](https://pypi.org/project/Swaiter/1.0.3/)
bitcoin-explorer 1.2.21
High Performance Blockchain Deserializer
Keywords: rust,bitcoin,blockchain,deserialize,parser,explorer,crypto,transaction

# bitcoin-explorer
![CI](https://github.com/Congyuwang/Py-Bitcoin-Explorer/actions/workflows/CI.yml/badge.svg)
![PyPI](https://img.shields.io/pypi/dm/bitcoin-explorer)
![PyPI](https://img.shields.io/pypi/wheel/bitcoin-explorer)

`bitcoin_explorer` is an efficient library for reading
bitcoin-core binary blockchain file as a database (utilising multi-threading).

This package is ported using pyO3 from rust library `bitcoin-explorer`

### Installation

MacOS, Windows, and Linux wheels are provided.

Use `pip install bitcoin-explorer` to install.

## Documentation

This library has a Rust version, go to [Rust Documentation](https://docs.rs/bitcoin-explorer/)

For python documentation, go to [Documentation](https://congyuwang.github.io/Py-Bitcoin-Explorer/bitcoin_explorer.html).

## Compatibility Note

This package deals with the binary file of another software `Bitcoin Core`.
It might not be compatible with older Bitcoin Core versions.

Currently, it is compatible with Bitcoin Core version
`Bitcoin Core version v0.21.1.0-g194b9b8792d9b0798fdb570b79fa51f1d1f5ebaf
Copyright (C) 2009-2020 The Bitcoin Core developers`.

## Examples

It contains one class `BitcoinDB`.

```python
import bitcoin_explorer as bex

# parse the same path as `--datadir` argument for `bitcoind`.
db = bex.BitcoinDB("~/Bitcoin")

# get the length of the longest chain currently on disk.
db.get_block_count()

# get block of a certain height
db.get_block(1000)

# to retrieve the connected outputs of each inputs as well.
# note that this is inefficient.
# Use `get_block_iter_range(end, connected=True)` for better performance.
db.get_block(1000, connected=True)

# get block hash of a certain height.
db.get_hash_from_height(1000)

# a fast method for getting just the header.
# in memory query, no disk access
db.get_block_header(1000)

# get block of height 1000.
db.get_height_from_hash("some hash")

# get transaction from txid.
# This queries the `levelDB` each time, thus it is relatively slow.
db.get_transaction("some txid")

# get the height of the block which this transaction belongs.
db.get_height_from_txid("some txid")

# get the script type and addresses from a script public key
db.parse_script("some hex script pubic key")

# use iterator
for block in db.get_block_iter_range(start=1000, end=2000):
    do_something_with(block)

# use iterator, iterate over heights
for block in db.get_block_iter_array(heights=[1, 3, 5, 7, 9]):
    do_something_with(block)
    
# use iterator, connect outpoints
# This requires 5 GB memory. 
for block in db.get_block_iter_range(end=700000, connected=True):
    do_something_with(block)
```