semvec/pypi-packages huggingface dataset:
skyeye 3.7.0
APK扫描工具
License: MIT
Keywords: apk scanner




### 安装

#### python3环境安装

brew install python3


#### skyeye安装


pip3 install skyeye



#### 扫描APK中代码引用

1. 本地创建config.yaml文件,格式如下

```yaml
- className: "com.xx.xx.yourClassName1"
  methodName: "methodName"
- className: "com.xx.xx.yourClassName2"
  filedName: "filedName"
```

* 如果methodName,filedName不填写,会扫描className所有方法和变量的外部引用情况
* 方法和字段名都是模糊匹配，例如methodName(x,x)只需要填写methodName即可
* 扫描父类的字段和方法，其子类的也会被扫描

2. 扫描

```bash
skyeye scan
      -i , --input       输入扫描的APK路径
      -c , --config      扫描配置yaml文件路径
      -o , --output      输出结果的文件夹路径 【可选，默认运行文件夹路径】
```

3. 输出结果，格式如下

```json
{
    "cn.Test:<init>()V": [
        {
            "caller_class": "cn.xx.MainActivity",
            "caller_method": "protected onCreate(Landroid.os.Bundle;)V",
            "invoke_num": " 58"
        }
    ],
    "cn.Test.staticString": [
        {
            "caller_class": "cn.xx.MainActivity",
            "caller_method": "protected onCreate(Landroid.os.Bundle;)V",
            "invoke_num": " 60"
        }
    ]
}
```

#### 反编译

```bash
skyeye dec
      -i , --input       输入扫描的APK路径
      -o , --output      输出结果的文件夹路径 【可选，默认运行文件夹路径】
```

<img src="./media/dec.jpg"/>

#### GUI打开源码

```bash
skyeye jd
      -i , --input   目标class文件路径 或者 class文件夹路径
```

<img src="./media/jd.jpg"/>

#### 查看当前版本

```bash
skyeye -v 
输出版本同时，检查更新
```

### changeLog

#### 3.6.0

- 支持扫描子父类的继承方法和字段

#### 3.4.2

- 支持APK反编译

#### 3.2.0

- 支持静态变量&&变量扫描
- 支持扫描类里面所有变量&&方法

#### 3.1.0

- 增加结果报告执行函数输出
- 增加PyYaml的依赖

#### 3.0.0在侧边

- 扫描特定类的所有方法外部的引用
- 扫描特定类的特定方法的外部引用
- 支持图片的裁剪选择
colbert-kit 0.0.1
Package for ColBERT models
License: MIT
Requires Python: >=3.10

# colbert-kit (version 0.0.1)

**colbert-kit** is a Python package designed for building, training, and evaluating ColBERT-style retrieval models. It supports GPU-accelerated re-ranking, indexing, and training workflows for information retrieval tasks.

---

## Features

- **Indexing and retrieving**: Efficient document indexing and retrieving using FAISS.
- **Batch Re-ranking**: Accelerated re-ranking with batching on GPU.
- **Training Support**: Train from scratch or from checkpoints with a flexible training script.
- **Evaluation**: Compute core IR metrics such as **Recall** and **NDCG** for both **ColBERT** and **BM25**.
- **Negative Sampling Utilities**:
  - **Random Negatives**: Given a DataFrame with columns `sentence` and `positive_sentence`, randomly sample negatives from the dataset.
  - **Hard Negatives**: Use a sentence-transformer model to retrieve semantically similar (but incorrect) negatives.

More detail about usage can be found in our [documentation](https://github.com/thuongtuandang/colbert-kit/tree/main/documentation) and [Git repository](https://github.com/thuongtuandang/colbert-kit).
 
---

## Installation

To install the package, you have three options depending on your FAISS and CUDA setup. The key difference between the options lies in whether you want to use FAISS on CPU or GPU, and which CUDA version your system supports.

If you are **not using CUDA 11.x or 12.x**, or if you do **not need GPU acceleration** for indexing and searching, install the CPU version:
```bash
pip install colbert-kit[cpu]
```
If you are using **CUDA 11.x** and want to enable FAISS GPU support:
```bash
pip install colbert-kit[gpu-cu11]
```
If you are using **CUDA 12.x**, install the version built for CUDA 12:
```bash
pip install colbert-kit[gpu-cu12]
```
**Note:** HNSW indexing is not supported on GPU in FAISS in those versions. GPU acceleration works well for Flat and IVF-based indexes.

## Quick start
```bash
    from colbert_kit.reranking.colbert_batch_reranker import colBERTReRankerBatch 
    embedding_model_name = "thuongtuandang/german-colbert" 
    batchreranker = colBERTReRankerBatch(model_name_or_path=embedding_model_name, device='cpu') 
    query = "Was ist die Hauptstadt von Frankreich?" 
    doc_candidates = [
    "Paris ist die Hauptstadt von Frankreich.", 
    "Berlin ist die Hauptstadt von Deutschland.", 
    "Frankreich hat viele schöne Städte." 
    ] 
    candidate_idx = list(range(len(doc_candidates))) 
    top_scores, top_indices = batchreranker.reranker(query, doc_candidates, candidate_idx, batch_size=1, top_n=2 ) 
    print("Top Scores:", top_scores) print("Top Indices:", top_indices) 
    for idx in top_indices: 
        print(doc_candidates[idx])
```

<pre> <details> 
<summary><strong>Example Output</strong></summary> 
```text Top Scores: [0.9633049368858337, 0.9230972528457642] Top Indices: [0, 2] Paris ist die Hauptstadt von Frankreich. Frankreich hat viele schöne Städte. ```
 </details> </pre>