semvec/pypi-packages huggingface dataset:
alwayson-py 0.6.0
Python bindings for ThingWorx AlwaysOn protocol encoding/decoding
Requires Python: >=3.8
Keywords: thingworx, iot, protocol, alwayson, codec

# AlwaysOn Python

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Python bindings for the ThingWorx AlwaysOn protocol codec, enabling efficient encoding and decoding of ThingWorx AlwaysOn protocol messages in Python.

> **Note**: The underlying Rust crates (`alwayson-codec`) are not yet open source. This Python library is currently delivered as pre-compiled binary wheels only.

## Features

- 🚀 **High Performance** - Rust-powered encoding/decoding
- 🐍 **Pythonic API** - Familiar Python interfaces
- 📦 **Zero Dependencies** - Self-contained binary wheels
- 🔧 **Complete Protocol Support** - All ThingWorx primitive types and messages
- 🛡️ **Type Safety** - Comprehensive type hints
- 📊 **Multipart Messages** - Handle large message splitting/merging

## Installation

```bash
pip install alwayson-py
```

## Quick Start

```python
import alwayson

# Create primitive values
string_value = alwayson.TwPrim.string("Hello World")
number_value = alwayson.TwPrim.number(42.5)
boolean_value = alwayson.TwPrim.boolean(True)

# Serialize to JSON or binary
json_data = string_value.to_json()
binary_data = string_value.to_bytes()

# Create an authentication message
auth_msg = alwayson.TwxMessage.build_auth(12345, "your-app-key")
binary_msg = auth_msg.to_bytes()

# Parse binary messages
parsed_msg = alwayson.TwxMessage.from_bytes(binary_msg)
print(f"Message type: {parsed_msg.get_message_type()}")

# Work with InfoTables - decode from binary
binary_infotable = bytes.fromhex("010974696d657374616d70...")  # Example binary data
infotable = alwayson.InfoTable.from_bytes(binary_infotable)
print(f"InfoTable has {infotable.get_row_count()} rows, {infotable.get_field_count()} fields")

# Convert InfoTable to JSON
json_representation = infotable.to_json()
print(json_representation)

# Create empty InfoTable
empty_table = alwayson.TwPrim.infotable_empty()
print(f"Type: {empty_table.get_type()}")  # Returns "INFOTABLE"
```

## Development

This project is built with [PyO3](https://pyo3.rs/) and [maturin](https://github.com/PyO3/maturin).

### Setup

```bash
# Clone the repository
git clone https://github.com/xudesheng/alwayson_py.git
cd alwayson_py

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# Install maturin
pip install maturin[patchelf]

# Development build
maturin develop
```

### Testing

```bash
pip install pytest pytest-asyncio
pytest tests/
```

## Related Projects

- `alwayson-codec` - The underlying Rust codec library (not yet open source)
- `alwayson-base` - Full ThingWorx client implementation (not yet open source)

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Author

**Desheng Xu** <xudesheng@gmail.com>
qstatall 0.1.0
A tool to query and display all SGE job information
Requires Python: >=3.7

# qstatall

A Python tool to query and display all SGE job information in a formatted table.

## Features
- Query all jobs for a specific user
- Display job information in a well-formatted table
- Show detailed job information including CPU and memory usage

## Installation

### From PyPI (Recommended)
```bash
pip install qstatall
```

### From Source
```bash
git clone https://github.com/liuyanbioinfo/qstatall.git
cd qstatall
pip install .
```

## Usage
```bash
# Basic usage (shows current user's jobs)
qstatall

# Show jobs for specific user
qstatall -u user1 -t plain

# Change table format
qstatall -t grid
```
## Output Example
```
job_id  job_name    job_user    job_state   job_queue   job_submit_time       cpu        vmem     script_file   sge_o_workdir
12345   job1        user1       r           queue1      09/04/2025-09:31:27   00:00:00   3.820M   job1.sh       /data/user1/12345
12346   job2        user1       r           queue2      09/04/2025-09:31:27   00:00:00   3.789M   job2.sh       /data/user1/12346
12347   job3        user1       r           queue3      09/04/2025-09:31:27   00:00:00   3.789M   job3.sh       /data/user1/12347
```

## Requirements
- Python 3.7+
- SGE (Sun Grid Engine) system
- tabulate package (will be installed automatically)

## Table Format Options
This tool uses the `tabulate` package for formatting. Available formats include:
- plain
- simple
- grid
- pipe
- html
- latex
- ... (any format supported by tabulate package)

## Development
Install development dependencies:
```bash
pip install -e .
```

Run type checking:
```bash
mypy qstatall.py
```

## Key Fields

- **job_id**: Job ID
- **job_name**: Job Name
- **job_user**: Job Owner
- **job_state**: Job State
- **job_queue**: Queue Name
- **job_submit_time**: Submit Time
- **cpu**: CPU Usage
- **vmem**: Virtual Memory Usage
- **script_file**: Script File
- **sge_o_workdir**: Working Directory

## License
MIT License

## Author
Liu Yan (liuyanhzau@163.com)
polardb-postgresql-mcp-server 1.1.0
Add your description here
Requires Python: >=3.12

PolarDB PostgreSQL MCP Server
=======================
# Environment Variables  
* POLARDB_POSTGRESQL_HOST: Database host address  
* POLARDB_POSTGRESQL_PORT: Database port 
* POLARDB_POSTGRESQL_USER: Database user  
* POLARDB_POSTGRESQL_PASSWORD: Database password  
* POLARDB_POSTGRESQL_DBNAME: Database name  
* POLARDB_POSTGRESQL_ENABLE_UPDATE: Enable update operation(default:false)  
* POLARDB_POSTGRESQL_ENABLE_DELETE:  Enable delete operation(default:false)  
* POLARDB_POSTGRESQL_ENABLE_INSERT:  Enable insert operation(default:false)  
* POLARDB_POSTGRESQL_ENABLE_DDL:  Enable ddl operation(default:false)  
* SSE_BIND_HOST: The host address to bind for SSE mode  
* SSE_BIND_PORT: The port to bind for SSE mode  
* RUN_MODE: The run mode(sse|stdio),(default:sse)  
# Components
## Tools
* execute_sql: execute sql  
## Resources
* polardb-postgresql://schemas: List all schemas for PolarDB PostgreSQL in the current database  
## Resource Templates
* polardb-postgresql://{schema}/tables: List all tables for a schema 
* polardb-postgresql://{schema}/{table}/field: get the name,type and comment of the field in the table  
* polardb-postgresql://{schema}/{table}/data:  get data from the table,default limit 50 rows  
# Usage
## Run with packages from PyPI
```json
{
  "mcpServers": {
    "polardb-postgresql-mcp-server": {
      "command": "uvx",
      "args": [
        "--from",
        "polardb-postgresql-mcp-server",
        "run_polardb_postgresql_mcp_server"
      ],
      "env": {
        "POLARDB_POSTGRESQL_HOST": "127.0.0.1",
        "POLARDB_POSTGRESQL_PORT": "15001",
        "POLARDB_POSTGRESQL_USER": "xxxx",
        "POLARDB_POSTGRESQL_PASSWORD": "xxx",
        "POLARDB_POSTGRESQL_DBNAME": "xxx",
        "RUN_MODE": "stdio",
        "POLARDB_POSTGRESQL_ENABLE_UPDATE": "false",
        "POLARDB_POSTGRESQL_ENABLE_DELETE": "false",
        "POLARDB_POSTGRESQL_ENABLE_INSERT": "false",
        "POLARDB_POSTGRESQL_ENABLE_DDL": "false"
      }
    }
  }
}
```