semvec/pypi-packages huggingface dataset:
pydefinition 1.0.1
Environment-driven configuration helpers with low boilerplate
License: MIT
Requires Python: >=3.6
Keywords: environment, configuration, env, variables, settings

# PyDefinition

Environment-driven configuration helpers with low boilerplate.

## Installation

```bash
pip install pydefinition
```

## Features

- Environment variable management with descriptors
- Type casting for environment variables
- Default values and required variables
- Automatic naming based on class structure
- Caching for performance

## Usage

```python
from pydefinition import EnvVar, parse_bool, parse_int, Required

class AppConfig:
    # Basic usage with default value
    PORT = EnvVar(default=8080, cast=parse_int)
    
    # Required environment variable (raises KeyError if not set)
    API_KEY = EnvVar(default=Required)
    
    # Boolean parsing
    DEBUG = EnvVar(default=False, cast=parse_bool)
    
    # Custom name for environment variable
    DATABASE_URL = EnvVar(default="sqlite:///app.db", name="DB_URL")

# Usage
config = AppConfig()
port = config.PORT  # Will read from APP_CONFIG_PORT or use default 8080
api_key = config.API_KEY  # Will read from APP_CONFIG_API_KEY or raise KeyError
```

## Advanced Usage

See the [examples directory](https://github.com/Rushberg/PyDefinition/tree/main/pydefinition/examples) for more advanced usage patterns.

## License

This project is licensed under the MIT License - see the LICENSE file for details.
cruise-toolkit 1.0.0
Unified CLI wrapper for barcode/UMI & CR/UR tools
License: MIT
Requires Python: >=3.8
Keywords: single-cell, UMI, barcode, cyclone, RNA


# cruise-toolkit

**cruise-toolkit** is a unified Python toolkit that integrates barcode splitting, CB/UMI correction, counting, and CR/UR alignment steps commonly used in single-cell and spatial transcriptomics pipelines.  

It provides a **single command-line entry point** — `cruise-toolkit` — wrapping your original `cruise.py` workflow script, while preserving argument compatibility.

---

## 🔧 Installation

From source (development mode):

```bash
git clone https://github.com/dawangran/cruise-toolkit.git
cd cruise-toolkit
pip install -e .
```

In the future, installation from PyPI will be supported:

```bash
pip install cruise-toolkit
```

---

## 🚀 Quick Start

Run the main workflow (arguments are fully compatible with your original `cruise.py` script):

```bash
cruise-toolkit \
  --bam input.bam \
  --fastqs fq1.fastq.gz,fq2.fastq.gz \
  --valid-cell valid.cell.tsv \
  --adapt ATGCGCGATAACCTC \
  --model BBBBBBBBBBATGBBBBBBBBBBATGUUUUUUUUUUTTTT \
  --threads 16 \
  --cb-tags CC,CB \
  --umi-tag UB \
  --outdir cruise_out
```

---

## 🖥️ CLI Usage

Show help:

```bash
cruise-toolkit -h
cruise-toolkit --help
```

This will display the **native arguments of `cruise.py`**, including `--bam`, `--fastqs`, `--adapt`, `--model`, `--cb-tags`, `--umi-tag`, etc.  

Global options (apply to all runs):  
- `--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}`  
  Set global logging level (default: INFO)  
- `--log-file run.log`  
  Save logs to file  
- `--version`  
  Show version  

Example:

```bash
cruise-toolkit --log-level DEBUG --log-file run.log \
  --bam input.bam --fastqs fq1.fq.gz,fq2.fq.gz --outdir cruise_out
```

---

## 📜 Common Arguments

| Argument | Description |
|----------|-------------|
| `--bam` | Input BAM file |
| `--fastqs` | Comma-separated list of FASTQ files |
| `--valid-cell` | File with valid cell barcodes |
| `--adapt` | Adapter sequence |
| `--model` | CB/UMI model string |
| `--threads` | Number of threads |
| `--cb-tags` | Cell barcode tags (e.g., `CC,CB`) |
| `--umi-tag` | UMI tag (e.g., `UB`) |
| `--outdir` | Output directory |
| `--keep-sample-tmp` / `--no-keep-sample-tmp` | Whether to keep intermediate files |

> All argument definitions remain identical to the original `cruise.py`.  
> Use `cruise-toolkit --help` to view the full parameter list.

---

## 📝 Logging System

All runs can be configured with global logging options:

```bash
cruise-toolkit --log-level INFO --log-file pipeline.log \
  --bam input.bam --fastqs fq1.fq.gz,fq2.fq.gz ...
```

Logs are printed to stderr and optionally written to a file.

---

## 🧪 Development & Testing

```bash
# Install dev dependencies
pip install -e .[dev]

# Run tests
pytest -q
```

---

## 👤 Author

- Dawn 

---

## 📄 License

MIT License
encfilex 1.1
EncFilex v1.1 () - layered file encryption (Base64 -> AES-256-GCM -> XChaCha20-Poly1305)
License: MIT
Requires Python: >=3.9

# EncFilex (EFX) v1.1

🔒 **EncFilex (EFX)** is a modern file encryption system with double layers:
1. Base64 Encoding
2. AES-256-GCM
3. XChaCha20-Poly1305

Designed so that **any file** (text, image, video, document) can be securely encrypted and only opened with the correct password.

---

## ✨ Features
- 🔐 **AES-256-GCM** for symmetric security
- ⚡ **XChaCha20-Poly1305** for extra security & long nonce
- 📦 Supports **large binary files** (image, video, doc, etc.)
- 🛡️ Password-based key derivation using **Argon2**
- 🎯 Usable via **Python API** or **Command Line (CLI)**

---

## 📦 Installation
Install from PyPI:

```bash
pip install encfilex
```

---

## 🚀 Usage

### 1. API (in Python)

```python
from EFX import encrypt_file, decrypt_file

# Encrypt
encrypt_file("secret.png", "secret.efx", "super-password")

# Decrypt
decrypt_file("secret.efx", "recovered.png", "super-password")
```

### 2. Command Line (CLI)
After installation, the encfilex command is available.

#### Encrypt file
```bash
efx encrypt secret.png secret.efx --password super-password
```

#### Decrypt file
```bash
efx decrypt secret.efx secret.png --password super-password
```

---

## ⚠️ Notes
- Don't forget to keep your password safe.
- If lost, files cannot be recovered (no backdoor).
- The size of the encrypted file can be about 30% larger than the original (due to metadata + Base64).
- Python 3.9+ is recommended.

---

## 📜 License
Released under the MIT license.  
Made with LOVE by Azzam Jauzi (AkzDev).