semvec/pypi-packages huggingface dataset:
cs-gimmicks 20250428
Gimmicks and hacks to make some of my other modules more robust and less demanding of others.
Keywords: python2, python3

Gimmicks and hacks to make some of my other modules more robust and
less demanding of others.

*Latest release 20250428*:
Define Buffer from collections.abc.Buffer, or from typing.ByteString for older Pythons.

Short summary:
* `open_append`: Ghastly hack to open something for append entirely because some Linux systems do not let you open a character device for append. Tries sane `'a'` and falls back through 'r+' and finally to 'w' only if `path` refers to a character device.

Module contents:
- <a name="debug"></a>`debug(*a, **kw)`: Wrapper for `debug()` which does a deferred import.
- <a name="error"></a>`error(*a, **kw)`: Wrapper for `error()` which does a deferred import.
- <a name="exception"></a>`exception(*a, **kw)`: Wrapper for `exception()` which does a deferred import.
- <a name="info"></a>`info(*a, **kw)`: Wrapper for `info()` which does a deferred import.
- <a name="log"></a>`log(*a, **kw)`: Wrapper for `log()` which does a deferred import.
- <a name="open_append"></a>`open_append(path)`: Ghastly hack to open something for append
  entirely because some Linux systems do not let you open a
  character device for append.
  Tries sane `'a'` and falls back through 'r+' and finally to
  'w' only if `path` refers to a character device.
- <a name="r"></a>`r(obj)`: simplistic versions of cs.lex r() and s()
- <a name="trace"></a>`trace(*a, **kw)`: Wrapper for `info()` which does a deferred import.
- <a name="warning"></a>`warning(*a, **kw)`: Wrapper for `warning()` which does a deferred import.

# Release Log



*Release 20250428*:
Define Buffer from collections.abc.Buffer, or from typing.ByteString for older Pythons.

*Release 20250323*:
Provide direct r() and s() instead of circular cs.lex import.

*Release 20240316*:
Fixed release upload artifacts.

*Release 20230331*:
New open_append to handle idiotic Linux do-not-open-tty-for-append semantics.

*Release 20230212*:
Add gimmicks for cs.lex.r and cs.lex.s.

*Release 20230210*:
DEVNULL default open for "r+b" instead of "wb".

*Release 20221228*:
Generalise the logging function map, add trace function, bugfix logging call lookup.

*Release 20220429*:
Add DEVNULL symbol, needed before Python 3.3.

*Release 20211208*:
Define TimeoutError.

*Release 20210306*:
Add simple implementations of nullcontext and SimpleNamespace.

*Release 20200418.1*:
Initial release with logging call stubs.
py-git-assistant 0.1.2
A simple CLI tool to assist with common Git operations.
Requires Python: >=3.8

![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54) ![Git](https://img.shields.io/badge/git-%23F05033.svg?style=for-the-badge&logo=git&logoColor=white)

# 📜 Git Assistant

🎯 A simple command-line assistant (CLI) to make common Git operations like **initializing repositories**, **committing changes**, **pushing**, **managing branches**, and more — fast and interactive!

---

## ✨ Features

- Initialize local and remote Git repositories.
- Quickly `git add`, `commit`, and `push` in one flow.
- Create, list, and switch between branches easily.
- Clone remote repositories.
- Guided commit types and messages.
- Colored terminal output for better visibility.
- Fully interactive and beginner-friendly!

---

## 🚀 Installation

> Recommended: Use a virtual environment (`venv`)

1. Clone the repository:

2. Install the project:

```bash
pip install .
```

3. Now you can use the assistant globally:

```bash
git-assistant
```

---

## 🛠️ Usage

After installation, simply run:

```bash
git-assistant
```

You will see an interactive menu like:

```text
What fo you want to do?
> Init repo       (Initialize Git and remote)
> Push all        (Add, commit, and push changes)
> Clone repo      (Clone a remote repository)
> Manage branch   (Create/Switch branches)
> Exit
```

![git assistant CLI](assets/py-git-assistant-CLI.png)

Follow the prompts and let the assistant guide your Git workflow!

---

## 📂 Project Structure

```bash
git_assistant/
│
├── git_assistant/
│   ├── __init__.py
│   ├── assistant.py        # Main entry file
│   ├── services/
│   │   ├── __init__.py
│   │   ├── git_service.py  # Git-related commands
│   │   └── ui_service.py   # User interaction and menus
│   └── utils/
│       ├── __init__.py
│       └── helpers.py      # Helper functions
│
├── requirements.txt        # Project dependencies
├── .gitignore
├── README.md               # Project documentation
├── pyproject.toml          # For packaging and distribution

```
llm-fragments-markitdown 0.1.0
LLM fragment loader which converts various formats to Markdown.
Requires Python: >=3.11

# llm-fragments-markitdown

[![PyPI](https://img.shields.io/pypi/v/llm-fragments-markitdown.svg)](https://pypi.org/project/llm-fragments-markitdown/)
[![Changelog](https://img.shields.io/github/v/release/wolfmanstout/llm-fragments-markitdown?include_prereleases&label=changelog)](https://github.com/wolfmanstout/llm-fragments-markitdown/releases)
[![Tests](https://github.com/wolfmanstout/llm-fragments-markitdown/actions/workflows/test.yml/badge.svg)](https://github.com/wolfmanstout/llm-fragments-markitdown/actions/workflows/test.yml)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/wolfmanstout/llm-fragments-markitdown/blob/master/LICENSE)

LLM fragment loader which converts various formats to Markdown.

## Installation

Install this plugin in the same environment as [LLM](https://llm.datasette.io/).

```bash
llm install llm-fragments-markitdown
```

## Usage

Use the fragment loader like this:

```bash
llm -f md:path/to/file.html
llm -f md:https://simonwillison.net/2025/Apr/7/long-context-llm/
```

This will use the [MarkItDown](https://github.com/microsoft/markitdown) library to convert the argument into Markdown.

While this supports various formats out-of-the-box, more can be added as optional dependencies, for example:

```bash
llm install markitdown[all]  # Installs all optional dependencies
llm install markitdown[pdf, youtube-transcription]  # Installs just the PDF and YouTube transcript readers.
```

## Development

To contribute to this tool, use uv. The following command will establish the
venv and run tests:

```bash
uv run pytest
```

To run llm-fragments-markitdown locally, use:

```bash
uv run llm-fragments-markitdown
```