semvec/pypi-packages huggingface dataset:
pymame 0.0.1
Python wrapper around MAME frontend commands and XML files.
Requires Python: >=3.13
Keywords: mame

# pymame

pymame is a Python wrapper around MAME, including frontend commands from the executable, reading "support files" such as categories and history, parsing software lists to help identify files, provide a nicer/type-hintier wrapper around XML elements, and other related things. At the present time of writing, it is written primarily for my own mysterious personal use, and should not be relied on for anything important.

The intended use case is making it easier to develop Python tools that do MAME-related things.

Everything involving I/O should have an async version so you can more effectively use it from async code (some things are going to be missing right now, but this is the goal).

## Requirements
python >=3.13 (sorry if you are on an older OS where this is unavailable, as I haven't had enough of a reason to check that it works with older Python yet), only been tested on Linux so far but probably works on Windows and macOS and whatever else.

Uses [pydantic-settings](https://docs.pydantic.dev/latest/concepts/pydantic_settings/) and [async-lru](https://github.com/aio-libs/async-lru). In theory, everything else should be optional (e.g. you can get away with not having MAME actually installed, if you have the output of -listxml saved to a file), in the likely event that this doesn't work, this is a bug. 

If lxml is installed, it will be used to parse XML files faster. 

## Example usage
```python
import pymame
settings = pymame.MAMESettings.autodetect('/usr/bin/mame')
mame = pymame.MAME(settings)
for machine in mame.iter_runnable_machines():
	if mame.machine.verifyroms(machine.basename):
		print(machine.name, machine.platform)
```
easy3d 0.1.1
3D development made easy
Requires Python: >=3.8

# Easy3D

A simple and intuitive Python package for 3D.

## Features

- 3D camera pose visualization using Viser

## Installation

```bash
pip install easy3d
```

## Quick Start

```python
from easy3d import CameraViewer

# Create camera poses (4x4 transformation matrices)
poses = []
for i in range(10):
    pose = np.eye(4)
    pose[:3, 3] = [i * 0.1, 0, 0]  # Move along x-axis
    poses.append(pose)

# Visualize the camera poses
camera_viewer = CameraViewer()
camera_viewer.add_camera(poses, fov=30)
camera_viewer.run()
```

## Requirements

- Python >= 3.8
- numpy >= 1.21.0
- matplotlib >= 3.5.0
- viser >= 0.1.0

## License

MIT License - see LICENSE file for details.

## Author

Chen Wang (chwangthu@gmail.com)
portmgr 1.8.3
Simple command interface to manage multiple Docker container
Requires Python: >=3.11

# portmgr
portmgr is a wrapper around [docker-compose](https://docs.docker.com/compose/) that allows running typical docker-compose commands recursively. Additionally, it shortens commands to a single letter.

Let's say you have organized your compose files like this, you just add a `dckrsub.yml` in each parent folder:
<pre>
docker/
├── <b>dckrsub.yml</b>
├── reverse-proxy/
│   └── docker-compose.yml
├── storage
│   ├── <b>dckrsub.yml</b>
│   ├── nextcloud/
│   │   └── docker-compose.yml
│   └── immich/
│       └── docker-compose.yml
└── scripts
</pre>

Each `dckrsub.yml` has a list of subdirectories, which portmgr should decend into.
For example, the `dckrsub.yml` in `docker/` might look like this:
```yaml
- reverse-proxy
- storage
```

And the `dckrsub.yml` in `docker/storage/` like this:
```yaml
- nextcloud
- immich
```

Now, if you run `portmgr u` in `docker/` it will run `docker compose up -d` in `reverse-proxy/`, `storage/nextcloud/` and `storage/immich/`.

portmgr starts from the current directory, so when running it in `docker/storage/`, it will run `docker compose` only in `nextcloud/` and `immich/`. You can also use it in a directory with a `docker-compose.yml` as a shortener for docker-compose commands.

### Commands
The following commands are available. The respective docker-compose commands are in brackets.

```
  u   Create and start containers (up)
  p   Pull images (pull)
  s   Stop services (stop)
  d   Stop and remove containers (down)
  l   Show container logs (logs)
  a   Run shell in container (exec -it <service> sh)
  b   Build images (build)
  c   List containers (ps)
  t   List processes in containers (top)
  r   Build and push to registry (build, push)
  v   Scan container images for vulnerabilities
```

You combine multiple commands. For example `portmgr dul`, runs docker compose with `down`, `up` and `logs`, thus stopping, removing and starting all containers and then showing the logs.

### Installation
```
sudo pip install portmgr
```

Or build it from source (here using the latest commit on master branch)
```
sudo pip install https://github.com/Craeckie/portmgr.git
```

### Tipps
If you use portmgr a lot like me, you might want to shorten it to one letter. For bash, you can add `alias p='portmgr'` to `~/.bashrc`. For fish-shell you can add `abbr p portmgr` to `~/.config/fish/config.fish`.
otp-cli-util 0.1.0
A Python CLI tool to validate OTP codes
Requires Python: >=3.10
Keywords: OTP

# py-otp-cli

A Python CLI tool to validate OTP codes using a secret.

## Installation

```bash
pip install py-otp-cli
```

## Usage

```bash
py-otp-cli <otp_code> <otp_secret>
```

- `<otp_code>`: The OTP code to validate
- `<otp_secret>`: The secret used to generate the OTP
mcp-adapter 0.0.6
基于FastAPI，以类集成的方式快速实现mcp tools以及服务挂载
Requires Python: >=3.10

# mcp-adapter
* 对mcp sdk的二次封装 
* 以python类继承的方式，非侵入式封装function到mcp tool的转化
* FastAPI支持，快速挂载在FastAPI服务中


## Getting started
### 1. 继承`McpServerAdapterBase`，实现功能
```python
from mcp_adapter.core.server_base import McpServerAdapterBase


class MockMcpServerSse(McpServerAdapterBase):

    name = 'MockMcpServerSse'

    description = 'MockMcpServerSse Service'

    @staticmethod
    def add(a: int, b: int) -> int:
        """Add two numbers"""
        return a + b

    @staticmethod
    def sub(a: int, b: int) -> int:
        """Sub two numbers"""
        return a - b

    @staticmethod
    def multiply(a: int, b: int) -> int:
        """Multiply two numbers"""
        return a * b


class MockMcpServerHttpStreamable(McpServerAdapterBase):

    name = 'MockMcpServerHttpStreamable'

    description = 'MockMcpServerHttpStreamable Service'

    @staticmethod
    def add(a: int, b: int) -> int:
        """Add two numbers"""
        return a + b

    @staticmethod
    def sub(a: int, b: int) -> int:
        """Sub two numbers"""
        return a - b

    @staticmethod
    def multiply(a: int, b: int) -> int:
        """Multiply two numbers"""
        return a * b

```

### 2. 在FastAPI项目中加载mcp server
请参考： [脚手架项目](https://gitlab.aimanthor.com/shared/mcp/mcp-server-scaffold)