semvec/pypi-packages huggingface dataset:
tree-sitter-actions 0.1.1
Parser for Github Actions expressions
License: MIT
Requires Python: >=3.10
Keywords: incremental, parsing, tree-sitter, actions

# tree-sitter-actions

Github Actions expressions grammar for [tree-sitter](https://github.com/tree-sitter/tree-sitter)

## Features

* Parses Github Action's expressions: `${{ ... }}`
* Plays well with `bash` injections in YAML documents
* Passes parsing tests from [actionlint](https://github.com/rhysd/actionlint)

## Neovim Installation (for use in your editor)

1. Install [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter/tree/main)

2. Configure autocmd for a custom parser:
   
```lua
-- custom parsers
vim.api.nvim_create_autocmd('User', {
  pattern = 'TSUpdate',
  callback = function()
    require('nvim-treesitter.parsers').actions = {
      install_info = {
        url = 'https://github.com/rmuir/tree-sitter-actions',
        queries = 'queries',
      },
    }
  end,
})
```

3. Configure yaml injection in `~/.config/nvim/queries/yaml/injections.scm`:
```tsq
; extends

; github actions
([
  (string_scalar)
  (block_scalar)
  (double_quote_scalar)
  (single_quote_scalar)
] @injection.content
  (#lua-match? @injection.content "[$]{{.*}}")
  (#set! injection.language "actions"))
```

4. Run `:TSUpdate` from neovim.

NOTE: these instructions are based upon the `main` branch of `nvim-treesitter`.

## Bindings Installation (for development)

Bindings are published to `pypi`, `npm`, and `crates.io` as `tree-sitter-actions`.
Wasm and source code artifacts are published to [GitHub releases](https://github.com/rmuir/tree-sitter-actions/releases)

## Screenshot of highlights

![Syntax highlighting screenshot](https://github.com/user-attachments/assets/0c1f34bb-6f02-4175-9495-97e6fa51334a)
libertai-agents 0.2.0
Framework to create and deploy decentralized agents
License: MIT
Requires Python: <4.0,>=3.10

# LibertAI Agents

<div align="center">

[![pypi](https://img.shields.io/pypi/v/libertai-agents.svg)](https://pypi.org/project/libertai-agents)
[![python](https://img.shields.io/pypi/pyversions/libertai-agents.svg)](https://pypi.org/project/libertai-agents)

</div>

Framework to create and deploy decentralized agents 🚀

> ⚠ This framework is in beta and might undergo some breaking changes before the stable release.

Take a look at [our documentation](https://docs.libertai.io/agents) to get started!
barid 0.2.0
A deeply abstract, fully asynchronous Python client for the Barid temporary email API with complex architecture and type-heavy design.
License: MIT
Requires Python: >=3.8

# Barid Client

**Barid** is a fully asynchronous, highly modular, and type-driven Python client for interacting with the [barid.site](https://web.barid.site) temporary email API.  
It is designed for developers who require a professional, extensible, and heavily abstracted interface to manage disposable email inboxes programmatically.

Barid is engineered with extreme complexity using deep Python patterns like strict type hints, decorators, layered abstraction, and dynamic data models—offering full control over every operation in a highly structured SDK.

---

## 🧪 Example Usage

```python
import asyncio
from barid.client import BaridClient
from barid.types import EmailAddress, EmailId

async def main():
    email = EmailAddress("example@barid.site")

    async with BaridClient() as client:
        domains = await client.get_domains()
        print("Available Domains:", domains)

        total = await client.count_emails(email=email)
        print("Total Emails:", total)

        emails = await client.get_emails(email=email, limit=5)
        print(f"\nFetched {len(emails)} email(s)\n")

        for msg in emails:
            print("Subject:", msg.subject)

            details = await client.get_email(email_id=EmailId(msg.id))
            print(details)
            print("Content:", details.text_content or details.html_content)
            print()

        if emails:
            await client.delete_email(email_id=EmailId(emails[0].id))
            print("Deleted the latest email")

        await client.delete_emails(email=email)
        print("Deleted all emails")

asyncio.run(main())
````

---

## 🤝 Contributing

Contributions are highly welcome.
Feel free to open issues or submit pull requests for enhancements, bugs, or design improvements.

---

## 🪪 License

MIT © 2025 Hexa
sopsy 1.2.1
SOPS Python wrapper library
License: MIT
Requires Python: >=3.8
Keywords: sops

# SOPSy

[![Python Version from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fgithub.com%2Fnikaro%2Fsopsy%2Fraw%2Fmain%2Fpyproject.toml)](https://www.python.org/downloads/)
[![PyPI - Version](https://img.shields.io/pypi/v/sopsy)](https://pypi.org/project/sopsy/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/sopsy)](https://pypi.org/project/sopsy/#files)
[![build](https://github.com/nikaro/sopsy/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/nikaro/sopsy/actions/workflows/ci.yml)
[![codecov](https://codecov.io/github/nikaro/sopsy/graph/badge.svg?token=DEVPQ8M6C4)](https://codecov.io/github/nikaro/sopsy)
[![Ceasefire Now](https://badge.techforpalestine.org/default)](https://techforpalestine.org/learn-more)

SOPSy is a simple Python wrapper arround [SOPS](https://github.com/getsops/sops).

## Installation

SOPS binary must be installed and available in your `$PATH`:

```sh
# use your package manager to install it
brew install sops
```

Install the SOPSy library:

```sh
pip install sopsy

# or with whatever your package/project manager is
uv add sopsy
```

## Quickstart

Retrieve a secret value:

```python
from sopsy import Sops

sops = Sops("secrets.yml")

my_secret_key = sops.get("my_secret_key")
print(f"single secret: {my_secret_key}")

secrets = sops.decrypt()
print(f"all my secrets: {secrets}")
```

Encrypt a file:

```python
import json
from pathlib import Path
from sopsy import Sops

plaintext_content = json.dumps({"hello": "world"})
Path("secrets.json").write_text(plaintext_content)

s = Sops("secrets.json", in_place=True)
# you either need a `.sops.yml` configuration file with `creation_rules` set
# or append some arguments to the `Sops.global_args` attribute:
# s.global_args.extend([
#     "--age", "age1yt3tfqlfrwdwx0z0ynwplcr6qxcxfaqycuprpmy89nr83ltx74tqdpszlw"
# ])
s.encrypt()
```

## API Reference

Check [documentation](http://sopsy.nikaro.net/reference/).
mcp-git-training-wheels 0.1.2
MCP server providing a safer 'git commit' alternative
License: MIT
Requires Python: >=3.10
Keywords: git, mcp, model-context-protocol

# MCP Git Training Wheels

LLMs try to please, but as the context window gets larger and larger, errors
start to happen. In particular, current models have a tendency to just
`git add -a` the whole source tree, accidentally adding lots of random stuff
to their commits.

These issues become especially noticable when multiple agents are working on
a codebase in parallel, or if you're doing quick fixes while an agent is working.
And no current model has the ability to un-fuck a git history.

This MCP server gives the agent some training wheels for using git safely,. It
ensures that only a specific named set of files can be committed, and also
provides a convenient way to fixup earlier commits.

## Installation

### Using uv

```bash
uvx mcp-git-training-wheels
```

### From source

```bash
git clone https://github.com/lava/mcp-git-training-wheels
cd mcp-git-training-wheels
uv pip install -e .
```

## Usage

### Add the following

Depending on your agent of choice, run something like the following

```sh
claude mcp add git-commit -- uvx mcp-git-training-wheels
```

or drop the following JSON into `.mcp.json` or any other location of your
choice.

```json
{
  "mcpServers": {
    "gtw": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-git-training-wheels"
      ],
      "env": {}
    }
  }
}
```

The specific command may change depending on your installation method.

### Available Tools

#### git_commit

Commits specified files with a message and saves the commit information for
later use.

**Parameters:**

- `files`: List of file paths to commit
- `message`: Commit message

**Example:**

```json
{
  "tool": "git_commit",
  "parameters": {
    "files": ["src/main.py", "tests/test_main.py"],
    "message": "Add main functionality and tests"
  }
}
```

#### fixup_commit

Adds files to a previously created commit. If the commit is still HEAD, it
uses `git commit --amend`. Otherwise, it uses the `gitrevise` module to edit
the commit in history.

**Parameters:**

- `files`: List of file paths to add to the commit

**Example:**

```json
{
  "tool": "fixup_commit",
  "parameters": {
    "files": ["src/utils.py"]
  }
}
```