semvec/pypi-packages huggingface dataset:
jjdiff 0.4.0
A TUI that can be used as a diff editor in the jujutsu vcs.
Requires Python: >=3.13

# jjdiff
[![PyPI](https://img.shields.io/pypi/v/jjdiff)](https://pypi.org/project/jjdiff/)

A TUI that can be used as a diff editor in the jujutsu vcs.

jjdiff will show all changes and allow you to navigate through them and
(partially) select them to be included.

jjdiff makes it easy to navigate the diff by having a 2 dimensional cursor that
can 'grow' and 'shrink'.

This cursor can operate on 3 levels:
- Change: select an entire change
- Hunk: select a group of edited lines in a file
- Line: select a single edited line in a file

## Keybindings
| Command | Key | Description |
| --- | --- | --- |
| `exit` | `escape`, `ctrl+c` or `ctrl+d` | Exit the diff editor with status code 1, causing the diff to not be applied. |
| `next_cursor` | `j`, `down` or `tab` | Select the next entry. |
| `prev_cursor` | `k`, `up` or `shift+tab` | Select the previous entry. |
| `shrink_cursor` | `l` or `right` | Shrink the cursor. So go from change to hunk and from hunk to line. If the cursor is on an unopened change it will open it first. |
| `grow_cursor` | `h` or `left` | Grow the cursor. So go from line to hunk and from hunk to change. If the cursor is on an opened change it will close it. |
| `select_cursor` | `space` | Mark everything selected by the cursor to be included. If everything is already marked it will exclude it instead. This will also select the next entry. |
| `select_all` | `a` | Mark everything in the diff to be included. If everything is already marked it will exclude it instead. |
| `confirm` | `enter` | Confirm the selected changes. | 
| `undo` | `u` | Undo the last command. Commands that only affect the UI state like changing the cursor and opening/closing changes are not included in this. |
| `redo` | `U` | Redo the last undone command. Commands that only affect the UI state like changing the cursor and opening/closing changes are not included in this. |

## Usage
jjdiff is available on pypi. You can use any way you are comfortable installing
python applications.

You can then use it by adding the following settings to `~/.config/jj/config.toml`:
```toml
[ui]
diff-editor = "jjdiff"
diff-instructions = false  # not required but recommended
diff-formatter = ["jjdiff", "--print", "$left", "$right"]  # to also format diffs using jjdiff
```

## Configuration
jjdiff can be configured in `~/.config/jjdiff/config.toml` with the following
configuration options.

### diff.deprioritize
This contains a list of gitignore style globs that can be used to deprioritize
certain files in diffs. Deprioritizing has the following effects:
- Deprioritized files are always at the end of the diff.
- In `jjdiff --print` the changes in deprioritized files are not shown.

### format.tab_width
Controls as how many spaces a tab is formatted in the diff. Default is 4.
getTrades 1.8.1
A tool querying Bitvavo.com to retrieve all trades and calculate overall results
Requires Python: >=3.13.0

## getTrades
Read trades and calculate overall profit/loss

usage: **python getTrades.py [option]**

where [option] can be:
| option | explanation |
| :--- | :--- |
| **-h** | this help message |
| **-a** | add a config section |
| **-d \#** | delete a config section (asks for config number if no config section nr is given) |
| **-l** | list all config section and their numbers |
| **-u \#** | use a specific config section (by number found by -l option) |
| **-k** | (Advanced) use saved result set, don't query Bitvavo again |
| **-v** | verbose, show debug information |

When no option is provided, a standard run will be executed, when more than one config exist, a config number is asked to run the program with

Initial run will ask for API and Secret to api.bitvavo.com and store this information encrypted in a config.ini file.

This will be the default and does not need to be specified further until there are more than 1 configs

## Operations

getTrades is build to perform like an application `python -m getTrades`, and can be called directly from the commandline. 

Best (and tested) operation is achieved using pipx ( https://pipx.pypa.io/stable/installation/ )
`pipx run getTrades`

1. make sure pipx is installed and operating correctly
2. make sure `python3 --version` says `Python 3.13.3`
3. open a command window and run `pipx run getTrades`
4. when no `config.ini` file exists it will be created, user is asked to provide name, API key and API secret. the program exits
5. the AES key with which the `config.ini` file is encrypted, is stored in the system keyring, as such you will be prompted for your system's password.
6. when run a second time, getTrades will call out to Bitvavo.com and retrieve all trades, wallet balances and current prices of assets.

## Analysis

sample results:
![result.jpg](https://i.imgur.com/qJn3LWQ.jpeg)
1. in the leftmost column the ***token symbol*** is given, ***EUR_Wallet*** denotes the current real EURO balance in your wallet.
2. ***Token Balance*** is the current amount of tokens in your wallet
3. ***EUR(realized)*** is the result of all previous trades, result-investment per token
4. ***EUR(unrealized)*** is the Euro value of your current wallet tokens (including kept Euro's)
5. ***EUR(total)*** = ***EUR(realized)*** \+ ***EUR(unrealized)***
6. ***price*** is the current market price of the token
7. ***BE-price*** (break-even price) is the  `EUR(realized)` amount divided by `Token Balance`. This provides the price at which the remaining amount of tokens has a `price` that makes up for the investment in `EUR(realized)` (this metric is only relevant for situations where the `EUR(realized)` balance is negative (so (still) at a loss)
8. ***BE%*** is the % a token value has to increase to reach break-even

Happy trading
darwin-notifications 0.0.2
Post darwin-based notifications using NSUserNotification API
Requires Python: >=3.9
Keywords: macos, darwin, notify, notifications

# darwin-notifications

A tiny, dependency‑light macOS Notification Center helper that posts banners from Python without PyObjC, using ctypes +
the Objective‑C runtime. Ships a simple CLI implemented with Typer and a small Python API you can call from your
scripts.

> ⚠️ Apple deprecated NSUserNotification in favor of UserNotifications.framework. For quick, fire‑and‑forget banners
> from non‑sandboxed tools, NSUserNotification still works on current macOS releases. This package sticks to ctypes on
> purpose—no extra bridge layers.
> 

## Features

- Pure ctypes: no `PyObjC` required
- One‑liner CLI to send a notification banner
- Minimal Python API for programmatic use
- Works from Terminal/iTerm (GUI session)
- Optional default sound toggle

## Install

With pip:

```shell
python3 -m pip install darwin_notifications
```

With uv:

```shell
uv pip install darwin_notifications
```

## Quick Start

### CLI

```shell
# Basic
notify --title "Build finished"

# With subtitle and body
notify -t "Hello" -s "From darwin_notifications" -m "Deployed successfully" --sound
```

Run `--help` for all options:

```shell
notify --help
```

### Python API

```python
from darwin_notifications.api import notify

notify(
    title="Hello from Python",
    subtitle="Optional subtitle",
    text="Optional informative text",
    sound=True,
)
```
nuxt-payload 0.1.6
A lightweight Python library to parse and lazily resolve Nuxt 3 _payload.json files.
Requires Python: >=3.8

# nuxt-payload

A lightweight Python library to parse and lazily resolve Nuxt 3 _payload.json files.

## Installation

```bash
pip install nuxt-payload
```

## Usage

```python

from nuxt_payload import load_payload

# Load a Nuxt 3 _payload.json file
data = load_payload("_payload.json")

# Access elements lazily
first_item = data[0]

# If the item contains LazyRef, force resolution
print(first_item["id"].resolve())

# Iterate over a lazy dictionary
for key, value in first_item.items():
    print(key, value.resolve() if hasattr(value, "resolve") else value)
```

## License

This project is licensed under the *GNU Affero General Public License v3.0 or later (AGPL-3.0)*.

See [LICENSE](./LICENSE) for details.

## Authors

See [AUTHORS.md](./AUTHORS.md) for the list of contributors.
gitredate 0.3.1
Rewrite date of Git commits
Requires Python: >=3.13

# GitRedate

Rewrite commit dates and times in your git history to business hours.

Features:
- sets date during working hours
- keeps more or less delta time between commits
- preserves consistency with merge commits

## Usage

This requires UV, if you don't have it yet, install with `pip install uv`.

```bash
uvx gitredate --help
```

```
Usage: gitredate.exe [OPTIONS] [BASE_REF]

╭─ Arguments ──────────────────────────────────────────────────────────────────────────╮
│   base_ref      [BASE_REF]  Base ref at which redating starts. If empty, will redate │
│                             the last commit only. Set `root` the redate the whole    │
│                             history.                                                 │
│                             [default: HEAD~1]                                        │
╰──────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────────────╮
│ --min-date                  YYYY-MM-DD(THH:MM(:SS))  Custom start date and time      │
│                                                      [default: None]                 │
│ --max-date                  YYYY-MM-DD(THH:MM(:SS))  Custom end date and time        │
│                                                      [default: None]                 │
│ --working-days              TEXT                     Working days, provide this      │
│                                                      argument for each working day   │
│                                                      (monday=1)                      │
│                                                      [default: 1,2,3,4,5]            │
│ --working-hour-start        HH:MM(:SS)               Work day starting hour          │
│                                                      [default: 8:00]                 │
│ --working-hour-end          HH:MM(:SS)               Work day ending hour            │
│                                                      [default: 18:00]                │
│ --repository                PATH                     Path to the git repository      │
│                                                      [default: .]                    │
│ --help                                               Show this message and exit.     │
╰──────────────────────────────────────────────────────────────────────────────────────╯
```