semvec/pypi-packages huggingface dataset:
hstt 0.0.5
HTTP stress testing tool
Requires Python: >=3.7

## hstt - HTTP stress testing tool

[![PyPI version shields.io](https://img.shields.io/pypi/v/hstt.svg)](https://pypi.org/project/hstt/)
[![PyPI pyversions](https://img.shields.io/pypi/pyversions/hstt.svg)](https://pypi.org/project/hstt/)
[![PyPI download month](https://img.shields.io/pypi/dm/hstt.svg)](https://pypi.org/project/hstt/)

![screenshot](https://user-images.githubusercontent.com/2664578/130731152-87656f6e-b691-4a32-9ed1-5e6cebdc4671.gif)
### Params

```
usage: hstt [-h] [-n <num>] [-c <num>] [--rps <num>] [-d <sec>] [-t <sec>]
            [-H [<header> [<header> ...]]] [-b <body>] [-m <method>] [--debug]
            [--insecure] [--chrome] [--no-reuse] [--no-tui] [--version]
            url

HTTP stress testing tool (hstt)

positional arguments:
  url                target URL

optional arguments:
  -h, --help         show this help message and exit
  -n <num>           Total number of requests to perform (default: 10)
  -c <num>           Number of concurrent requests (default: 1)
  --rps <num>        Target request per second (still limited by -c)
  -d <sec>           Total duration limit (default: 30)
  -t <sec>           The timeout for each request (default: 30)
  -H [<header> ...]  A request header to be sent
  -b <body>          A request body to be sent
  -m <method>        An HTTP request method for each request (default: GET)
  --debug            Run in debug mode
  --insecure         Skip TLS verification
  --chrome           Use Chrome User-Agent header
  --no-reuse         New connection for each request
  --no-tui           Not show curses UI
  --version          Show version number
```

### Output

```
$ hstt https://example.com -n 3000 -c 10 -t 0.3

## HSTT results
Concurrency:           10 (reusing connection per worker)
Time taken for tests:  17.22 seconds
Complete requests:     2997
Failed requests:       3
Requests per second:   174.21 [#/sec] (mean)
Time per request:      51.818 [ms] (mean)
Time per request:      5.746 [ms] (mean, across all concurrent requests)

## Statuses
200       :   2997 ( 99.90%)
timeout   :      3 (  0.10%)

## Timings (ms)
             Mean    Min    50%    80%    95%    99%    Max
Connect:      171    145    167    180    208    211    240
TTFB:          49     20     50     50     60     63     76
Total:         52     35     50     53     60    200    290
```
CDNDrivePro 2021.8.25.1
☁️ CDNDrivePro，支持任意文件的全速上传与下载
Requires Python: >=3.6
Keywords: cdn,cloud,picbed,disk,drive,storage,pan,yun,网盘,图床,云


<h1 align="center">CDNDrivePro = BiliDrive + SuperBed + Sync</h1>

<h4 align="center">☁️ 废墟之上，重建辉煌！ ☁️</h4>
<h4 align="center">☁️ 支持任意文件的全速上传与下载 ☁️</h4>


## 特色

- 轻量：无复杂依赖，资源占用少
- 自由：无文件格式与大小限制，无容量限制
- 安全：上传的文件需要通过生成的 META URL 才能访问，他人无法随意查看
- 稳定：带有分块校验与超时重试机制，在较差的网络环境中依然能确保文件的完整性
- 快速：支持多线程传输与断点续传，同时借助各个站点的 CDN 资源，能最大化地利用网络环境进行上传与下载

## TODO

整合[1299172402/BiliDrive-BT: BiliDrive魔改版 有网盘同步，类bt上传功能，大文件传输。](https://github.com/1299172402/BiliDrive-BT)的功能：

- [ ] 同步功能（上传下载）
- [ ] 批量上传/下载文件
  - [ ] 保持文件相对路径（example/upload.bd中是绿色版Advanced Renamer软件） （或使用meta 4b77bc2a9ddbfb7bf8e3c154f4e347d20dcffa58下载）

## 使用指南

### 安装

方法一：通过`pip`（推荐）：

```
pip install CDNDrivePro
```

方法二：从源码安装：

```
pip install git+https://github.com/apachecn/CDNDrivePro
```

方法三：前往[Releases页面](https://github.com/dennischancs/CDNDrivePro/releases)获取可直接运行的二进制文件。

### 登录

```
cdrivep login [-h] site username password

site: 站点名称（见 -h）
username: 用户名
password: 密码
```

> 运行 cdrivep 报错

```
$ cdrivep
-bash: cdrivep: command not found
```

解决方案: https://github.com/apachecn/CDNDrivePro/issues/7

### 设置 Cookie

```
cdrivep cookies [-h] site cookies

site: 站点名称（见 -h）
cookies: Cookie
```

### 查看登录状态

```
cdrivep userinfo [-h] site

site: 站点名称（见 -h）
```

### 上传

```
cdrivep upload [-h] [-b BLOCK_SIZE] [-t THREAD] site file

site: 站点名称（见 -h）
file: 待上传的文件路径

-b BLOCK_SIZE: 分块大小(MB), 默认值为4
-t THREAD: 上传线程数, 默认值为4
```

上传完毕后，终端会打印一串 META URL 用于下载或分享，请妥善保管

### 下载

```
cdrivep download [-h] [-f] [-t THREAD] meta [file]

meta: META URL (通常以 cdrivep:// 开头)
file: 另存为新的文件名, 不指定则保存为上传时的文件名

-f: 覆盖已有文件
-t THREAD: 下载线程数, 默认值为8
```

下载完毕后会自动进行文件完整性校验，对于大文件该过程可能需要较长时间，若不愿等待可直接退出

### 查看文件元数据

```
cdrivep info [-h] meta

meta: META URL
```

### 查看历史记录

```
cdrivep history [-h]
```

### 交互模式

不传入任何命令行参数，直接运行程序即可进入交互模式

该模式下，程序会打印命令提示符`CDNDrivePro > `，并等待用户输入命令

## 技术实现

将任意文件分块编码为图片后上传至各个站点，对该操作逆序即可下载并还原文件

## 性能指标

### 测试文件

文件名：[Vmoe]Hatsune Miku「Magical Mirai 2017」[BDrip][1920x1080p][HEVC_YUV420p10_60fps_2FLAC_5.1ch&2.0ch_Chapter][Effect Subtitles].mkv

大小：14.5 GB (14918.37 MB)

分块：10 MB * 1492

META URL：`bdrive://d28784bff1086450a6c331fb322accccd382228e`

### 上传

地理位置：四川成都

运营商：教育网

上行速率：20 Mbps

用时：02:16:39

平均速度：1.82 MB/s

### 下载

### 测试点1

地理位置：福建福州

运营商：中国电信

下行速率：100 Mbps

用时：00:18:15

平均速度：13.62 MB/s

### 测试点2

地理位置：上海

运营商：中国电信

下行速率：1 Gbps

用时：00:02:22

平均速度：104.97 MB/s

## 历史记录

[见这里](history.md)。

## 免责声明

+   请自行对重要文件做好本地备份。
+   请不要上传含有个人隐私的文件，因为无法删除。
+   请勿使用本项目上传不符合社会主义核心价值观的文件。
+   请合理使用本项目，避免对哔哩哔哩的存储与带宽资源造成无意义的浪费。
+   该项目仅用于学习和技术交流，开发者不承担任何由使用者的行为带来的法律责任。

## 协议

本项目基于 SATA 协议发布。

您有义务为此开源项目点赞，并考虑额外给予作者适当的奖励。

## 致谢

本项目基于 [Hsury](https://github.com/Hsury) 的 [BiliDrive](https://github.com/Hsury/BiliDrive)，在此表示感谢。

同时感谢 [goocarder](https://v2ex.com/t/618064) 提供的思路。

## 赞助我们

![](https://home.apachecn.org/img/about/donate.jpg)

## 另见

+   [ApacheCN 学习资源](https://docs.apachecn.org/)
+   [计算机电子书](http://it-ebooks.flygon.net)
+   [布客新知](http://flygon.net/ixinzhi/)
osara 0.0.6
micro-framewaork on top of kappa architecture
Requires Python: >=3.6

# micro-framewaork on top of kappa architecture
On the top of kappa --- is a disk, called "kappa no sara" in Japanese Yokai.

Syntax was inspired from [faust](https://pypi.org/project/faust/) and [flask](https://pypi.org/project/Flask/).

```
from osara import Tap

tap = Tap({"bootstrap.servers":"127.0.0.1", "group.id":"demo"})

@tap.handler("topic_x")
def handle_x(msg):
	print("Got %s" % msg)

if __name__=="__main__":
	tap.start().wait()
```


## shema support

pydantic schema can be attached to topic.

```
from pydantic import BaseModel
from osara import Tap
tap = Tap({"bootstrap.servers":"127.0.0.1", "group.id":"demo"})

@tap.schema("topic_x")
class X(BaseModel):
	msg: str

@tap.handler("topic_x")
def handle_x(msg):
	# you can access parsed data via "model" method
	print("Got %s" % msg.model().msg)

if __name__=="__main__":
	tap.start().wait()
```

## produce, then consume

Sometime, we want RPC style message flow.

```
from osara import Tap
tap = Tap({"bootstrap.servers":"127.0.0.1", "group.id":"demo"})
for msg in tap.map_reduce("topic_x", b"hello", topic_filter=["topic_x"]):
	print(msg)
	if msg.value == b"hello":
		break

```
tom-gemini-community 0.3.2
Gemini Observatory Community TOM Broker Modules
Keywords: tomtoolkit,astronomy,astrophysics,cosmology,science,fits,observatory,gemini

# Gemini Observatory Community TOM Modules

The [TOM Toolkit](https://github.com/TOMToolkit) comes with a basic module for 
submitting observations to the [Gemini Observatory](https://www.gemini.edu/) Phase 2 
system.  This module adds enhanced support to the TOM
Toolkit for requesting Gemini observations and is a common area for community development. 
For example, using this module TOMs can search for guide stars using 
[GSselect](https://github.com/bryanmiller/gsselect) and then submit observations.  

## Installation:

Install the module into your TOM environment:

    pip install tom-gemini-community

Add the name of the module that you want to use, 
e.g. `tom_gemini_community.gemini.gemini_gsselect`, to the `TOM_FACILITY_CLASSES` 
in your TOM's `settings.py`:

	TOM_FACILITY_CLASSES = [
		'tom_observations.facilities.lco.LCOFacility',
		'tom_observations.facilities.soar.SOARFacility',
		...
		'tom_gemini_community.gemini_gsselect.GEMFacility',
	]
agilentaspparser-egonik 0.6.0
A package for parsing Agilent FTIR asp files
Requires Python: >=3.6

# Agilent IR spectrum file parsers



In our lab we have an Agilent Cary 660 ATR-IR spectrometer. The ASCII files produced by this device are a nuissance to work with beacause they don't feature a wavenumber column. This 'library' intends to make work with said files a bit easier by parsing spectra and adding missing information.