semvec/pypi-packages huggingface dataset:
yield-module-names-and-python-file-paths 0.1.0a0
Recursively traverses a source directory and yields tuples of Python module names as used in import statements and their corresponding file paths.
Requires Python: >=2

# `yield-module-names-and-python-file-paths`

Recursively traverses a source directory and yields tuples of Python module names as used in import statements and their corresponding file paths.

## Features

- Handles packages.
- Skips hidden files and directories.
- Useful for code analysis tools.

## Installation

```bash
pip install yield-module-names-and-python-file-paths
```

## Usage

Suppose your project has this structure:

```
src/
├── foo.py
├── bar.py
├── subpkg/
│   ├── __init__.py
│   └── utils.py
└── scripts/
    └── tool.py
```

You can enumerate the modules:

```python
from yield_module_names_and_python_file_paths import yield_module_names_and_python_file_paths

for module_name, python_file_path in yield_module_names_and_python_file_paths('src'):
    print(module_name, '->', python_file_path)
```

Output:

```
foo -> myproject/foo.py
bar -> myproject/bar.py
subpkg -> myproject/subpkg/__init__.py
subpkg.utils -> myproject/subpkg/utils.py
scripts.tool -> myproject/scripts/tool.py
```

## Contributing

Contributions are welcome! Please submit pull requests or open issues on the GitHub repository.

## License

This project is licensed under the [MIT License](LICENSE).
resolve-module-import 0.1.0a0
Resolves a (possibly relative) module import to its fully qualified module name.
Requires Python: >=2

# `resolve-module-import`

Resolves a (possibly relative) module import to its fully qualified module name.

## Features

- Resolves both absolute and relative Python module imports
- Helps with tooling (e.g., linters, code analysis) that needs to resolve imports

## Installation

```bash
pip install resolve-module-import
```

## Usage

```
resolve_module_import(
    current_module_name,  # type: str
    current_module_is_package,  # type: bool
    imported_module_name,  # type: Optional[str]
    imported_module_level,  # type: int
)
```

```python
from resolve_module_import import resolve_module_import

# from . import foo inside 'mypkg/subpkg/mymodule.py'
resolve_module_import('mypkg.subpkg.mymodule', False, 'foo', 1)
# Output: 'mypkg.subpkg.foo'

# from .. import foo inside 'pkg/bar/' (a package)
resolve_module_import('pkg.bar', True, 'foo', 2)
# Output: pkg.foo

# import sys
resolve_module_import('any.module', False, 'sys', 0)
# Output: 'sys'
```

## Contributing

Contributions are welcome! Please submit pull requests or open issues on the GitHub repository.

## License

This project is licensed under the [MIT License](LICENSE).
trayscope 0.3.1
System tray application for managing gamescope
Requires Python: >=3.10
Keywords: gamescope, steam, gaming, wayland, compositor, tray

# Trayscope

A system tray application for managing [gamescope](https://github.com/ValveSoftware/gamescope), the SteamOS session compositing window manager.

Uses StatusNotifier D-Bus protocol for native Wayland support with waybar and other StatusNotifier-compatible bars.

## Features

- **System tray integration**: Start/stop gamescope from your desktop's system tray (waybar, KDE, etc.)
- **Pure Python**: No GTK/Qt dependencies, just D-Bus
- **Tray menu controls**: Configure resolution, refresh rate, filter, backend, and toggles directly from the tray menu
- **Configurable**: Settings saved to `~/.config/trayscope/config.json`

## Installation

`pip install .` installs Python dependencies (including `dbus-next`).

```sh
pip install .
```

## Usage

```sh
trayscope
```

The app will appear in your system tray (waybar tray module, KDE system tray, etc.).

## Configuration

Settings are saved to `~/.config/trayscope/config.json`:

```json
{
  "render_width": 1920,
  "render_height": 1080,
  "output_width": 0,
  "output_height": 0,
  "refresh_rate": 60,
  "filter": "fsr",
  "fullscreen": true,
  "backend": "wayland",
  "force_grab_cursor": true,
  "hdr_enabled": false,
  "adaptive_sync": false,
  "gamescope_command": "",
  "extra_args": "",
  "autostart": false
}
```

Most settings can be changed via the tray menu. Additional notes:

- `output_width`/`output_height`: Set to 0 for native resolution (config-only)
- `gamescope_command`: Custom gamescope command, e.g. `flatpak run sh.ironforge.gamescope` (config-only)
- `extra_args`: Additional gamescope arguments (config-only)
- `autostart`: Start gamescope automatically when trayscope launches

## Requirements

- Python 3.10+
- dbus-next
- A StatusNotifier-compatible system tray (waybar, KDE Plasma, GNOME with AppIndicator extension)
- gamescope (must be installed separately)

## License

BSD 2-Clause License. See [LICENSE](LICENSE) for details.

Copyright (c) 2025, Omnimodular AB
stats-can 3.1.0
Read StatsCan data into python, mostly pandas dataframes
Requires Python: <4.0,>=3.10
Keywords: statistics, Canada, data, API

# Python api for Statistics Canada New Data Model (NDM)

[![Tests](https://github.com/ianepreston/stats_can/workflows/Tests/badge.svg)](https://github.com/ianepreston/stats_can/actions?workflow=Tests)
[![Documentation Status](https://readthedocs.org/projects/stats-can/badge/?version=latest)](https://stats-can.readthedocs.io/en/latest/?badge=latest)
[![PyPI version](https://badge.fury.io/py/stats-can.svg)](https://badge.fury.io/py/stats-can)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/stats_can/badges/version.svg)](https://anaconda.org/conda-forge/stats_can)

API documentation for StatsCan can be found on the [web data service docs](https://www.statcan.gc.ca/eng/developers/wds)

If you're looking for Table/Vector IDs to use in the app you can find them through [the StatCan data page](https://www150.statcan.gc.ca/n1/en/type/data)

[Anaconda package](https://anaconda.org/conda-forge/stats_can)

[Read the docs](https://stats-can.readthedocs.io/en/latest/)

# Introduction

This library implements most of the functions defined by the Statistics Canada
[Web Data Service](https://www.statcan.gc.ca/eng/developers/wds).
It also has a number of helper functions that make it easy to read Statistics
Canada tables or vectors into pandas dataframes.

# Installation

The package can either be installed with pip or conda:

```bash
conda install -c conda-forge stats_can
```

Or:

```bash
pip install stats-can
```

The code is also available on

[github](https://github.com/ianepreston/stats_can).

# Contributing

Contributions to this project are welcome. Fork the repository from
[github](https://github.com/ianepreston/stats_can).

You'll need a python environment with poetry installed. A good guide for setting
up an environment and project (that I used for this library) is [hypermodern python](https://cjolowicz.github.io/posts/hypermodern-python-01-setup/).

I've configured the project to use nix for environment creation. If you use nix then the makefile in the root of the project will let you create
development environments and run tests. However you like to configure a uv project should work though.

I'd also welcome contributions to the docs, or anything else that would make this tool better for you or others.
combigraphs 0.0.1
Python - библиотека для комбинаторики и графов, а также их совместного использования для решения некоторых задач. Подробнее: https://github.com/hikrim/combigraphs/README.md
Requires Python: >=3.9

# CombiGraphs

Библиотека на Python для работы с комбинаторикой и теорией графов, а также их совместном использовании.  

---

## Установка

Установите библиотеку через pip:

```bash
pip install combigraphs
```

> Требуется Python 3.9 или выше.

---

## Зависимости 

Combigraphs использует matplotlib и networkx для вывода окна с графом, то есть его построения и визуализации

## Модули и функции

### Модуль `combigraphs.comb` — комбинаторика

Функции для расчёта основных комбинаторных формул.

- **`factorial(n)`**  
  Вычисляет факториал числа `n`.  
  *Пример: `factorial(5) = 120`*

- **`combination(n, k)`**  
  Вычисляет число сочетаний из `n` по `k` (C(n, k)).  
  *Пример: `combination(5, 2) = 10`*

- **`arrangement(n, k)`**  
  Вычисляет число размещений из `n` по `k` (P(n, k)).  
  *Пример: `arrangement(5, 2) = 20`*

---

### Модуль `combigraphs.graph` — работа с графами

Функции для создания, визуализации и анализа графов.

- **`create_graph(n)`**  
  Создаёт пустой неориентированный граф с `n` вершинами (нумеруются от 1 до n).

- **`add_edge(graph, u, v)`**  
  Добавляет ребро между вершинами `u` и `v`.

- **`plot_graph(graph)`**  
  Визуализирует граф с помощью `matplotlib` и `networkx`.  
  *Требует установки зависимостей: `pip install combigraphs[viz]`*

- **`count_subgraphs_of_size_k(graph, k)`**  
  Возвращает количество возможных подграфов из `k` вершин (без учёта рёбер).  
  *Это просто число сочетаний C(n, k), где n — количество вершин.*

- **`count_routes_of_lenght_k_infull_graph(n, k)`**  
  Возвращает максимальное количество путей длины `k` между двумя фиксированными вершинами в полном графе из `n` вершин.  
  *Использует формулу размещений: A(n-2, L-1)*

- **`all_routes(graph, start, end)`**  
  Находит все простые пути (без повторяющихся вершин) от вершины `start` до `end`.

---

## Примеры использования

```python
from combigraphs.combfuncs import combination
from combigraphs.graph import create_graph, plot_graph

# Сочетания
print(combination(5, 2))  # → 10

# Графы
g = create_graph(4)
add_edge(g, 0, 1)
add_edge(g, 1, 2)
plot_graph(g)  # откроется окно с графиком
```

---

## Лицензия

Проект распространяется под лицензией **GNU General Public License v3.0 или более поздней версии**.  
Полный текст лицензии см. в файле [LICENSE](LICENSE).

---

## Поддержка и вклад

Если у вас есть вопросы, замечания или предложения — открывайте issue на [GitHub](https://github.com/ваш_логин/combigraphs).

---
django-cravensworth 1.0.0
A Django app for experimentation.
Requires Python: >=3.12

# Django Cravensworth

![docs build status](https://app.readthedocs.org/projects/django-cravensworth/badge/?version=latest)

django-cravensworth is a Django app for experimentation.

## Quick start

Install the Cravensworth library.

    pip install django-cravensworth

Install Cravensorth core in the installed apps list in your `settings.py`.

    INSTALLED_APPS = [
        ...
        'cravensworth.core',
    ]

Add Cravensworth middleware to the list of middleware in your `settings.py`.

    MIDDLEWARE = [
        ...
        'cravensworth.core.middleware.cravensworth_middleware',
        ...
    ]

If using Cravensworth in a web environment, ensure that the Django request
context processor is installed in your `TEMPLATES` configuration.

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            ...
            'OPTIONS': {
                'context_processors': [
                    ...
                    'django.template.context_processors.request',
                    ...
                ],
            },
        },
    ]
markus-ai-server 0.1.0
A small server to control access to local models for MarkUs autograding
Requires Python: >=3.9

# markus-ai-server

## Developers

To install project dependencies, including development dependencies:

```console
$ pip install -e .[dev]
```

To install pre-commit hooks:

```console
$ pre-commit install
```

To run the test suite:

```console
$ pytest
```
discord-py-utilities 0.0.9.7
A collection of tools for Discord bots to enhance functionality and ease of use.
Requires Python: >=3.10

# Discord Tools

Discord Tools is a collection of tools designed to enhance the functionality and ease of use for Discord bots.

## Features

- Easy to use
- Enhances Discord bot functionality
- Compatible with Python 3.10 and above

## Installation

You can install the package using pip:

```bash
pip install discord-py-utilities
```
beets-notify 0.2.1
A beets plugin to send notifications when albums are imported

============
beets-notify
============

A beets_ plugin to notify your devices and services when new album(s) are imported into your library.

`Apprise`_ is the backend used to send push notifications to your phone, matrix channel, email, push notification service, and many others. Apprise supports nearly *all* notification services.

If your notification service supports it, album art will be embedded in the notification, automatically handled through Apprise's attachment system.

.. _beets: https://github.com/beetbox/beets

.. _apprise: https://github.com/caronc/apprise

Install
-------

**From PyPI (recommended):**

.. code-block:: bash

   $ pipx inject beets beets-notify

**From source (development/testing):**

.. code-block:: bash

   $ git clone https://github.com/brege/beets-notify
   $ cd beets-notify
   $ pipx inject beets -e .

Apprise Urls
------------

Apprise uses `service urls`_. 

Pushover_

.. code-block:: text 

   pover://abcdefghijklmnopqrstuvwxyz1234@xyz1234zbcdefghijklmnopqrstuvw

Email_ (`Fastmail`_ supports 100+ aliased domains)

Using an app-password `1234 5678 5a5c 3b3d` for the main email `account@fastmail.com` using the alias `alias@sent.as`:

.. code-block:: text

   mailto://1234 5678 5a5c 3b3d@sent.as?user=account@fastmail.com&to=alias@sent.as

.. _service urls: https://github.com/caronc/apprise#supported-notifications

.. _Pushover: https://github.com/caronc/apprise/wiki/Notify_pushover

.. _Email: https://github.com/caronc/apprise/wiki/Notify_email

.. _Fastmail: https://github.com/caronc/apprise/wiki/Notify_email-Fastmail

Configuration
-------------

Enable the plugin in your ``~/.config/beets/config.yaml``:

.. code-block:: yaml

    plugins: notify

    notify:
        apprise_urls:
            - "pover://abcdefghijklmnopqrstuvwxyz1234@xyz1234zbcdefghijklmnopqrstuvw"
        truncate: 3                  # albums to enumerate before truncating (...)
        body_maxlength: 1024         # max body chars
        artwork: yes                 # attach artwork
        artwork_maxsize: 0           # max file size in bytes (0 = service limits)
        collage: yes                 # generate NxM collage grid of artwork (max 3x3)
mcap-ros2-support 0.5.7
ROS2 support for the Python MCAP library
Requires Python: >=3.7

# Python MCAP ROS2 support

This package provides ROS2 support for the Python MCAP file format reader. It has no dependencies on ROS2 itself or a ROS2 environment, and can be used in any Python project.

## Installation

You can install directly via pip.

```bash
pip install mcap-ros2-support
```

## Reading ROS2 Messages

```python
# Reading from a MCAP file
from mcap_ros2.reader import read_ros2_messages

for msg in read_ros2_messages("my_data.mcap"):
    print(f"{msg.channel.topic}: f{msg.ros_msg}")
```

## Stay in touch

Join our [Discord community](https://foxglove.dev/chat) to ask questions,
share feedback, and stay up to date on what our team is working on.
mcap-ros1-support 0.7.4
ROS1 support for the Python MCAP library
Requires Python: >=3.7

# Python MCAP Ros1 support

This package provides ROS1 support for the Python MCAP file format reader &amp;
writer.

## Installation

You can install directly via pip.

```bash
pip install mcap-ros1-support
```

## Reading ROS1 Messages

```python
# Reading from a MCAP file
from mcap_ros1.reader import read_ros1_messages

for msg in read_ros1_messages("my_data.mcap"):
    print(f"{msg.topic}: f{msg.ros_msg}")
```

## Writing ROS1 Messages

```python
from mcap_ros1.writer import Writer as Ros1Writer
from std_msgs.msg import String

output = open("example.mcap", "w+b")
ros_writer = Ros1Writer(output=output)
for i in range(0, 10):
    ros_writer.write_message("chatter", String(data=f"string message {i}"))
ros_writer.finish()
```

## Stay in touch

Join our [Discord community](https://foxglove.dev/chat) to ask questions,
share feedback, and stay up to date on what our team is working on.
mcap-protobuf-support 0.5.4
Protobuf support for the Python MCAP library
Requires Python: >=3.7

# Python MCAP protobuf support

This package provides protobuf support for the Python MCAP file format reader.

## Installation

Install via [Pipenv](https://pipenv.pypa.io/en/latest/) by adding `mcap-protobuf-support` to your `Pipfile` or via the command line:

```bash
pipenv install mcap-protobuf-support
```

## Examples

Examples of use of this package can be found in the `/examples` directory. To run the examples first run
pipenv to install dependencies:

```bash
pip install pipenv
pipenv install
```

Then switch to the examples directory and run the setup script there:

```bash
cd examples
./setup.sh
```

You should now be able to run the examples:

```bash
pipenv run python point_cloud_example.py output.mcap
```

## Stay in touch

Join our [Discord community](https://foxglove.dev/chat) to ask questions, share feedback, and stay up to date on what our team is working on.