semvec/pypi-packages huggingface dataset:
usermcp 0.1.2
Add your description here
License: MIT
Requires Python: >=3.10
Keywords: mcp, agent, llm, profile, user

# usermcp

With just one line of code, your MCP or agent can record and manage user preferences with the user profile MCP, without requiring any database dependencies.

## Introduction

usermcp is a lightweight user preference management component designed to simplify the process of recording and managing user preferences for MCPs or agents. It provides simple interfaces for recording, querying, updating, and deleting user preferences without requiring any database dependencies.

## Features

- **No Database Dependencies**: Manage user preferences without installing or configuring a database
- **One-line Integration**: Integrate user preference management into your MCP or agent with just one line of code
- **Full CRUD Operations**: Supports Create, Read, Update, Delete operations for user preferences
- **Automatic Prompt Management**: Built-in prompt management for user preferences

## Installation

```bash
pip install usermcp
```

## Usage

### Basic Usage

```python
from mcp.server.fastmcp import FastMCP
from usermcp import register_user_profile_mcp

# Create FastMCP instance
mcp = FastMCP('Your MCP Name')

# ...
# implement your MCP logic here
# ...

# Register user profile management functions
register_user_profile_mcp(mcp)

# Run MCP service
mcp.run()
```

### Core Functions

usermcp provides the following tool functions:

- `usermcp_query_user_profile`: Query user preferences
- `usermcp_insert_user_profile`: Insert user preferences
- `usermcp_delete_user_profile`: Delete user preferences

### Prompt Management

usermcp includes built-in prompt management that automatically invokes the appropriate tool functions based on context:

- Actively invoke `usermcp_query_user_profile` when the context contains relevant tokens like the user's name or other personal information
- Invoke `usermcp_insert_user_profile` when the relevant information is triggered in your context
- Invoke `usermcp_delete_user_profile` when the user's feedback is different from what you expected

## Dependencies

- Python >= 3.10
- mcp >= 1.12.3

## License

MIT
pygame3d 0.1.1
A library for 3D rendering in PyGame
License: MIT
Requires Python: >=3.7

# Pygame 3D
Pygame3D is a cross-platform open-source python library for basic 3D rendering in [PyGame](https://www.pygame.org/). It has many features, from 3D rendering to camera control. It is extremely simple, with a streamlined creation process, and just like what its name suggests, it integrates perfectly into PyGame.

### Results
______
Scene rendering:
![](assets/screenshot1.png)

## Installation

----------
To install Pygame3D, use the Python Package Manager and type:
```
pip install pygame3d
```

Once it is installed, you can start using it just like any other module!

## Documentation

-------
To learn more about this module, you can read its documentation [here](https://github.com/Fr5ctal-Projects/pygame3d/wiki)

## Quickstart

------
Here is a sample code to render a 3D model in Pygame3D, as shown in the image above.
```python
# Basic model loading and rendering

import pygame
import pygame3d
import sys

# Initialize the pygame library
pygame.init()

screen = pygame.display.set_mode((800, 600))
clock = pygame.time.Clock()

# Create a 3D surface
surface = pygame3d.Surface3D((800, 600))

# Configure background color
surface.background_color = (145, 216, 255) # Sky blue

# Loading a model
model = surface.load_mesh('assets/model.glb')
model.position = (0, 20, -2)

# Add a light
light = surface.add_light('point')
light.position = (20, 20, 20)

light2 = surface.add_light('ambient')
light2.color = (50, 50, 50)

# Main game loop
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    model.rotation += (1, 0, 0) # Rotate the model
    surface.render() # Render the surface to display the newest updates
    screen.blit(surface, (0, 0))

    pygame.display.update()
    clock.tick(60) # 60 FPS

```