semvec/pypi-packages huggingface dataset:
thd-portone-mcp-server 0.10.0
포트원 사용자를 위한 MCP (Model Context Protocol) 서버입니다. 포트원 개발자센터, 헬프센터 등 공식 문서 내용을 LLM(Large Language Model)에 제공해 정확한 정보를 바탕으로 사용자의 연동 및 질의를 돕도록 합니다.
Requires Python: >=3.12

# PortOne MCP Server

포트원 사용자를 위한 MCP (Model Context Protocol) 서버입니다. 포트원 개발자센터, 헬프센터 등 공식 문서 내용을 LLM(Large Language Model)에 제공해 정확한 정보를 바탕으로 사용자의 연동 및 질의를 돕도록 합니다.

## MCP 서버 등록하기

1. [uv](https://docs.astral.sh/uv/getting-started/installation/)가 설치되어 있어야 합니다.
1. 사용하는 AI 도구의 MCP 설정에서 아래 내용을 추가합니다. (Cursor, Windsurf, Claude Desktop, etc...)

   ```json
   "mcpServers": {

     // 기존 설정

     "portone-mcp-server": {
       "command": "uvx",
       "args": [
         "portone-mcp-server@latest"
       ]
     }
   }
   ```

1. 도구를 재시작해 portone-mcp-server 및 해당 서버가 제공하는 도구들이 잘 등록되었는지 확인합니다.

## 개발하기

### 요구사항

- Python 3.12 이상
- [uv (Python 패키지 관리 도구)](https://docs.astral.sh/uv/getting-started/installation/)

1. 저장소를 클론한 후 필요한 패키지 설치하기

   ```bash
   uv venv
   uv sync --extra dev
   ```

1. MCP 서버 실행

   ```bash
   uv run portone-mcp-server
   ```

1. 테스트

   ```bash
   uv run pytest
   ```

1. 코드 린팅

   ```bash
   uv run ruff check .
   uv run ruff format .
   ```

1. 퍼블리싱

   ```bash
   # 먼저 pyproject.toml의 version을 변경합니다.
   rm -rf dist
   uv sync
   uv build
   uv publish
   ```

1. 로컬 환경의 MCP 서버 등록하기

   ```json
   "mcpServers": {
      "portone-mcp-server": {
      "command": "uv",
      "args": [
         "--directory",
         "/your/absolute/path/to/portone-mcp-server",
         "run",
         "portone-mcp-server"
      ]
      }
   }
   ```

1. 문서 업데이트하기

   요구사항:

   - 로컬에 developers.portone.io, help.portone.io 저장소가 클론되어 있어야 합니다.
   - nvm (Node Version Manager) 및 노드 20, 23 버전이 설치되어 있어야 합니다.
   - corepack이 설치되어 있어야 합니다.

   developers.portone.io 저장소에서 생성된 문서를 MCP 서버에 업데이트하려면 다음과 같이 실행합니다:

   ```bash
   # 환경 변수를 사용하는 방법
   export DEVELOPERS_PORTONE_IO_PATH="/path/to/developers.portone.io"
   export HELP_PORTONE_IO_PATH="/path/to/help.portone.io"
   uv run update_docs.py

   # 또는 대화형으로 실행
   uv run update_docs.py
   # 프롬프트가 표시되면 developers.portone.io, help.portone.io 저장소 경로 입력
   ```

   이 스크립트는 다음을 수행합니다:

   1. developers.portone.io, help.portone.io 저장소에서 `pnpm docs-for-llms` 명령을 실행 (로컬에 설정된 브랜치 기준으로 문서 생성)
   2. MCP 서버의 docs 디렉토리를 새로 생성된 내용으로 교체
   3. 개발자센터, 헬프센터 외 일부 문서 다운로드 및 교체

## 라이선스

[Apache License 2.0](LICENSE)
dbgeomparser 0.1.6
A package to handle conversion of shapely geometries to Oracle database compatible geometry objects
Requires Python: >=3.6

# Oracle Geometry Parser

A small package intended to convert [shapely](https://shapely.readthedocs.io/en/2.0.4/index.html) geometry objects to Oracle Spatial compatible geometry types for use in database insert pipelines following a [geopandas](https://geopandas.org/en/latest/index.html) or [shapely](https://shapely.readthedocs.io/en/2.0.4/index.html) analysis process.

Coordinate Reference Systems are supported and if passed as an argument, the resultant SDO geometry with be assigned the provided crs. This is only designed to work with 2D geometries. Shapely ignores the Z coordinate by default. If 3D data is parsed, the input into Oracle will be in 2D.

# Requirements

- [Oracle Client](https://www.oracle.com/au/database/technologies/oracle19c-windows-downloads.html) - tested on client version 19c
- [oracledb](https://python-oracledb.readthedocs.io/en/v2.1.1/) - tested on version 2.1.1
- [shapely](https://shapely.readthedocs.io/en/2.0.4/index.html) - tested on version 2.0.4
- [numpy](https://numpy.org/doc/1.26/) - tested on version 1.26.4

# Set Up

To set up, simply run pip install in a python command prompt:

```
pip install dbgeomparser
```

# Example

The below code block depicts the a simple use case of the module - inserting a single shapely point geometry into an oracle table. Extentions of this methodology include parsing all geometries in a GeoDataFrame and inserting the entire dataset into an oracle table.

```
import oracledb
import shapely as shp
from dbgeomparser import OracleGeomParser

### Oracle Connection ###
connection = oracledb.connect(user = 'Your Username', 
                              password = 'Your Password', 
                              host = 'Your Host', 
                              port = 1521, 
                              dsn = 'Your dsn')
cursor = connection.cursor()

### Geometry Parser ###
parser = OracleGeomParser(connection) 

test_geometry = shp.Point(1, 1)
sdo_geom = parser.parse_geometry(test_geometry) 

# Can specify a crs if required by passing the parameter 'crs' as an argument 
# e.g. parser.parse_geometry(test_geometry, crs = 4326) where the value is an EPSG code.
# print(sdo_geom) will print something like this: 
# <oracledb.DbObject MDSYS.SDO_GEOMETRY at 0x2ae4d370170>
# indicating the conversion has been successful.

### Example Insert Statement ###
sql = "INSERT INTO SCHEMA_NAME.TABLE_NAME (GEOMETRY_COLUMN) VALUES (:1)"
cursor.execute(sql, [parser.parse_geometry(geom)])
connection.commit()
```
test-convert-doc-docx-2pdf 0.2.0
Convert Microsoft Word documents (.doc, .docx) to PDF format
Requires Python: >=3.6


A Python package for converting Microsoft Word documents (.doc, .docx) to PDF format.

## Features

- Convert single or multiple Word documents to PDF
- Command-line interface for easy use
- Support for batch conversion
- Uses LibreOffice if available (for better conversion quality)
- Falls back to docx2pdf if LibreOffice is not available

## Installation

```bash
pip install doc2pdf
```
convert-doc-docx-2-pdf 0.2.0
Convert Microsoft Word documents (.doc, .docx) to PDF format
Requires Python: >=3.6


A Python package for converting Microsoft Word documents (.doc, .docx) to PDF format.

## Features

- Convert single or multiple Word documents to PDF
- Command-line interface for easy use
- Support for batch conversion
- Uses LibreOffice if available (for better conversion quality)
- Falls back to docx2pdf if LibreOffice is not available

## Installation

```bash
pip install doc2pdf
```
pyhacrf-datamade 0.2.8
Hidden alignment conditional random field, a discriminative string edit distance
Requires Python: >=3.9

pyhacrf
=======
.. image:: https://travis-ci.org/dedupeio/pyhacrf.svg?branch=master
    :target: https://travis-ci.org/dedupeio/pyhacrf
    
.. image:: https://ci.appveyor.com/api/projects/status/kibqrd7wnsk2ilpf/branch/master?svg=true
    :target: https://ci.appveyor.com/project/fgregg/pyhacrf

Hidden alignment conditional random field for classifying string pairs -
a learnable edit distance.

Part of the Dedupe.io cloud service and open source toolset for de-duplicating and finding fuzzy matches in your data: https://dedupe.io

This package aims to implement the HACRF machine learning model with a
``sklearn``-like interface. It includes ways to fit a model to training
examples and score new example.

The model takes string pairs as input and classify them into any number
of classes. In McCallum's original paper the model was applied to the
database deduplication problem. Each database entry was paired with
every other entry and the model then classified whether the pair was a
'match' or a 'mismatch' based on training examples of matches and
mismatches.

I also tried to use it as learnable string edit distance for normalizing
noisy text. See *A Conditional Random Field for Discriminatively-trained
Finite-state String Edit Distance* by McCallum, Bellare, and Pereira,
and the report *Conditional Random Fields for Noisy text normalisation*
by Dirko Coetsee.

Example
-------

.. code:: python

    from pyhacrf import StringPairFeatureExtractor, Hacrf

    training_X = [('helloooo', 'hello'), # Matching examples
                  ('h0me', 'home'),
                  ('krazii', 'crazy'),
                  ('non matching string example', 'no really'), # Non-matching examples
                  ('and another one', 'yep')]
    training_y = ['match',
                  'match',
                  'match',
                  'non-match',
                  'non-match']

    # Extract features
    feature_extractor = StringPairFeatureExtractor(match=True, numeric=True)
    training_X_extracted = feature_extractor.fit_transform(training_X)

    # Train model
    model = Hacrf(l2_regularization=1.0)
    model.fit(training_X_extracted, training_y)

    # Evaluate
    from sklearn.metrics import confusion_matrix
    predictions = model.predict(training_X_extracted)

    print(confusion_matrix(training_y, predictions))
    > [[0 3]
    >  [2 0]]

    print(model.predict_proba(training_X_extracted))
    > [[ 0.94914812  0.05085188]
    >  [ 0.92397711  0.07602289]
    >  [ 0.86756034  0.13243966]
    >  [ 0.05438812  0.94561188]
    >  [ 0.02641275  0.97358725]]

Dependencies
------------

This package depends on ``numpy``. The LBFGS optimizer in ``pylbfgs`` is
used, but alternative optimizers can be passed.

Install
-------

Install by running:

::

    python setup.py install

or from pypi:

::

    pip install pyhacrf

Developing
----------
Clone from repository, then

::

    pip install -r requirements.txt
    cython pyhacrf/*.pyx
    python setup.py install

To deploy to pypi, make sure you have compiled the \*.pyx files to \*.c
variantlib 0.0.1.post1
A library to provide support for variants
Requires Python: >=3.9

<h1 style="text-align:center; font-size: 5em">VariantLib</h1>

<p align="center">
    <img width="256px" src="https://raw.githubusercontent.com/wheelnext/variantlib/main/assets/wheely_variantlib.png"/>
</p>

<p align="center">
  <a href="https://github.com/wheelnext/wheelnext/blob/main/LICENSE">
    <img src="https://img.shields.io/github/license/wheelnext/variantlib?style=for-the-badge">
  </a>
  <a href="https://discord.com/channels/803025117553754132/1279204588196597811">
      <img src="https://img.shields.io/badge/Discord_PyPA-WheelNext-blueviolet?style=for-the-badge" />
  </a>
  <a href="https://wheelnext.dev">
      <img src="https://img.shields.io/badge/WheelNext.dev-lightblue?style=for-the-badge" />
  </a>
</p>

<p align="center">
  <a href="https://deepwiki.com/wheelnext/variantlib">
      <img src="https://img.shields.io/badge/Deep_Wiki-VariantLib-lightblue?style=for-the-badge" />
  </a>
</p>
convert-doc-2-pdf 0.1.0
Convert Microsoft Word documents (.doc, .docx) to PDF format
Requires Python: >=3.6


A Python package for converting Microsoft Word documents (.doc, .docx) to PDF format.

## Features

- Convert single or multiple Word documents to PDF
- Command-line interface for easy use
- Support for batch conversion
- Uses LibreOffice if available (for better conversion quality)
- Falls back to docx2pdf if LibreOffice is not available

## Installation

```bash
pip install doc2pdf
```
posturner 0.1.13
transfrom different language pos tags to universal pos tags.
Requires Python: >=3.6

# Posturner - Universal POS Tag Converter

Posturner is a Python tool for converting language-specific part-of-speech (POS) tags to universal POS tags. It supports multiple languages through mapping files.

## Features

- Convert POS tags from various languages to universal POS tags
- Support for multiple languages through mapping files
- Simple Python API for integration with NLP pipelines
- Includes a comprehensive multi-language mapping file

## Installation

```bash
pip install posturner
```

## Usage

### Basic Usage
```python
from posturner import trans_universal_pos

# Convert a language-specific POS tag to universal POS
print(trans_universal_pos("nimisõna"))  # Output: NOUN
print(trans_universal_pos("tegusõna"))  # Output: VERB
print(trans_universal_pos("名词"))      # Output: NOUN
```

### Supported Languages
Posturner currently supports conversion for:
- Estonian (et)
- English (en)
- Chinese (zh)
- Japanese (ja)
- Urdu (ur)

Example conversions:
- nimisõna(et) → NOUN
- tegusõna(et) → VERB
- noun(en) → NOUN
- 名词(zh) → NOUN
- 動詞(ja) → VERB
- اسم(ur) → NOUN

## Advanced Usage

You can use your own mapping files by placing them in the posturner directory:
```python
from posturner.set import pos_set

# Add custom mappings
pos_set["my_custom_tag"] = "NOUN"
```

## Contributing

Contributions are welcome! Please submit pull requests with:
- New language mappings
- Bug fixes
- Documentation improvements

## License

MIT License - See LICENSE file for details.
nonebot-adapter-hackchatlike 0.0.1a1
A NoneBot adapter for HackChat and similar chatrooms
Keywords: bot, hackchat

# HackChatLike Adapter

HackChatLike 是一个适用于 **所有基于 HackChat 的聊天室** 的 **NoneBot 适配器**，可以轻松地在 HackChat 生态中构建聊天机器人

## 🚀 特性
- 📡 **支持 HackChat 及其衍生聊天室**，兼容所有基于 HackChat 的实时聊天服务
- 🔌 **NoneBot 适配**，可直接集成到 NoneBot 插件系统，实现灵活的机器人开发

<!-- - 🌐 **多聊天室支持**，可以同时连接多个不同的 HackChat 房间-->

## 📦 安装
先安装 NoneBot：
```bash
pip install nonebot2
```
然后安装 HackChatLike 适配器：
```bash
pip install nonebot-adapter-hackchatlike
```

## 🔧 配置
在 `bot.py` 中启用 HackChatLike 适配器：
```python
from nonebot import get_driver
from nonebot.adapters.hackchatlike import Adapter

driver = get_driver()
driver.register_adapter(Adapter)
```

暂不支持同时连接多个房间
<!-- 如果你希望连接多个聊天室，可以在 `.env` 或配置文件中添加：
```ini
HACKCHAT_ROOMS = "room1,room2,room3"
``` -->

## 💬 使用示例
### 消息回显
在 `plugins/echo.py` 中创建一个简单的回显插件：
```python
from nonebot import on_message
from nonebot.adapters.hackchatlike import MessageEvent

echo = on_message()

@echo.handle()
async def handle_echo(event: MessageEvent):
    await echo.send(f"你发送的消息是: {event.message}")
```

## 📖 API 参考
### `MessageEvent`
用于处理 HackChat 消息：
- `event.message`：消息内容
- `event.trip`: 加密身份标识
- `event.self_id`: Bot ID
- `event.user_id`：发送者的用户 ID
- `event.channel`：聊天室名称

### `send_chat_message`
发送消息到聊天室：
```python
await bot.send_chat_message(target="channel", message="Hello!")
```

### `send_whisper_message`
发送私聊给指定用户
```python
await bot.send_whisper_message(target="2333", message="Hello HackChat!")
```

## 🔨 开发与贡献
欢迎贡献代码！请遵循以下流程：
1. **Fork 本仓库** 并克隆代码。
2. **提交 Pull Request**，描述你的改动。

## 📜 许可证
本项目基于 **MIT 许可证** 开源，你可以自由使用和修改。
vehicle-ml 0.0.1
Forecasting Vehicle Sales with XGBoost: A Modern Approach to Predictive Modeling

# 🚗 Vehicle Sales Predictor

Predict future vehicle sales like a pro.
> This open-source project demonstrates how to build, track, and deploy a state-of-the-art machine learning pipeline — from raw data to actionable predictions. It uses modern MLOps tools like MLflow, DVC, and GitHub for reproducibility and collaboration.


## ✨ Features

- 🚀 End-to-End Pipeline: From raw data to predictions

- 🔄 MLOps: Track experiments with MLflow, version data with DVC, and sync code with Git

- 🌟 SOTA Model: Tuned XGBoost delivering high performance, adaptable to any tabular data project

- 🧠 Robust Feature Engineering: Industry-grade preprocessing & encoding practices

- 📈 Production-Ready: Modular design for training, inference, and deployment


## 🛠️ Setup
```shell
# Clone the repo
git clone https://github.com/hongyingyue/vehicle-sales-predictor.git
cd vehicle-sales-predictor

# Set up your virtual environment (recommended)
uv venv .venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows

# Install dependencies
uv pip install -r requirements.txt
```


## 🚀 Getting Started

Train your model:
```shell
cd examples
python run_train.py
```

Make prediction server with the trained model:
```shell
python app.py
```

Track your experiments
```
mlflow ui
```


## Experiments
types-caldav 1.3.0.20250516
Typing stubs for caldav
Requires Python: >=3.9

## Typing stubs for caldav

This is a [PEP 561](https://peps.python.org/pep-0561/)
type stub package for the [`caldav`](https://github.com/python-caldav/caldav) package.
It can be used by type-checking tools like
[mypy](https://github.com/python/mypy/),
[pyright](https://github.com/microsoft/pyright),
[pytype](https://github.com/google/pytype/),
[Pyre](https://pyre-check.org/),
PyCharm, etc. to check code that uses `caldav`. This version of
`types-caldav` aims to provide accurate annotations for
`caldav==1.3.*`.

*Note:* The `caldav` package includes type annotations or type stubs
since version 1.4.0. Please uninstall the `types-caldav`
package if you use this or a newer version.


This stub package is marked as [partial](https://peps.python.org/pep-0561/#partial-stub-packages).
If you find that annotations are missing, feel free to contribute and help complete them.


This package is part of the [typeshed project](https://github.com/python/typeshed).
All fixes for types and metadata should be contributed there.
See [the README](https://github.com/python/typeshed/blob/main/README.md)
for more details. The source for this package can be found in the
[`stubs/caldav`](https://github.com/python/typeshed/tree/main/stubs/caldav)
directory.

This package was tested with
mypy 1.15.0,
pyright 1.1.400,
and pytype 2024.10.11.
It was generated from typeshed commit
[`126768408a69b7a3a09b7d3992970b289f92937e`](https://github.com/python/typeshed/commit/126768408a69b7a3a09b7d3992970b289f92937e).
types-beautifulsoup4 4.12.0.20250516
Typing stubs for beautifulsoup4
Requires Python: >=3.9

## Typing stubs for beautifulsoup4

This is a [PEP 561](https://peps.python.org/pep-0561/)
type stub package for the [`beautifulsoup4`](https://git.launchpad.net/beautifulsoup/tree) package.
It can be used by type-checking tools like
[mypy](https://github.com/python/mypy/),
[pyright](https://github.com/microsoft/pyright),
[pytype](https://github.com/google/pytype/),
[Pyre](https://pyre-check.org/),
PyCharm, etc. to check code that uses `beautifulsoup4`. This version of
`types-beautifulsoup4` aims to provide accurate annotations for
`beautifulsoup4==4.12.*`.

*Note:* The `beautifulsoup4` package includes type annotations or type stubs
since version 4.13.0. Please uninstall the `types-beautifulsoup4`
package if you use this or a newer version.


This stub package is marked as [partial](https://peps.python.org/pep-0561/#partial-stub-packages).
If you find that annotations are missing, feel free to contribute and help complete them.


This package is part of the [typeshed project](https://github.com/python/typeshed).
All fixes for types and metadata should be contributed there.
See [the README](https://github.com/python/typeshed/blob/main/README.md)
for more details. The source for this package can be found in the
[`stubs/beautifulsoup4`](https://github.com/python/typeshed/tree/main/stubs/beautifulsoup4)
directory.

This package was tested with
mypy 1.15.0,
pyright 1.1.400,
and pytype 2024.10.11.
It was generated from typeshed commit
[`126768408a69b7a3a09b7d3992970b289f92937e`](https://github.com/python/typeshed/commit/126768408a69b7a3a09b7d3992970b289f92937e).
pebblenet 0.1.3
A Python program that retrieves relevant data from the web and structures it in a JSON-compatible format for use in my UUT project.
Requires Python: >=3.9

# PebbleNet

A Python toolkit for collecting and processing water quality data from the Chesapeake Bay, integrating data from NOAA stations and Maryland's Eyes on the Bay monitoring program.

## Overview

This project provides tools to fetch and process:
- Real-time data from NOAA monitoring stations around the Chesapeake Bay
- Monthly water quality measurements from Maryland's Eyes on the Bay program

## Features

- **NOAA Data Collection**
  - Real-time weather and water quality measurements
  - Automatic data aggregation and daily averaging
  - Parameters include: wind speed/direction, water temperature, air temperature, pressure, and more

- **Eyes on the Bay Integration**
  - Monthly water quality measurements
  - Parameters include: dissolved oxygen, water temperature, secchi depth, salinity, and pH
  - Station location mapping

## Data Sources

- **NOAA Stations**: Real-time data from stations including:
  - BLTM2 (Baltimore)
  - CHCM2 (Cambridge)
  - TCBM2 (Tolchester Beach)
  - And more...

- **Eyes on the Bay Stations**: Monthly data from stations including:
  - CB10
  - CB11
  - WT51
  - CB32
  - WT41
  - CB31

## Output Format

### NOAA Data
Data is returned in JSON format, structured for easy integration with visualization tools:

```json
{
    "name": "WTMP",
    "labels": ["Jan 01", "Jan 02"],
    "values": [12.3, 12.5]
}
```

### Eyes on the Bay Data
Data is returned in JSON format with station, parameter, and monthly measurements:

```json
{
    "CB10": {
        "bdo": {
            "January": {
                "Surface": "9.8",
                "Bottom": "9.5",
                "Mean": "9.65",
                "StDev": "0.21",
                "Count": "2"
            },
            "February": {
                ...
            }
        },
        "wt": {
            ...
        }
    }
}
```
## Dependencies

- Python 3.x
- requests
- beautifulsoup4
apple-style-ui 0.1.1
A library of Apple-style UI components for PyQt6.
Requires Python: >=3.7

# Apple-Style UI Components for PyQt6

This project provides a set of custom PyQt6 widgets designed to mimic the look and feel of Apple's user interface elements. The following components are included:

*   **`AppleStyleWindow`**: Main window with theme support (light/dark) and a scrollable content area.
*   **`AppleStyleLabel`**: Text labels with customizable font size and style (primary/secondary).
*   **`AppleStyleLineEdit`**: Single-line text input fields with validation state (error highlighting).
*   **`AppleStyleTextEdit`**: Multi-line text input areas.
*   **`AppleStyleButton`**: Push buttons with hover and press animations, and theme-aware styling.
*   **`AppleStyleCheckBox`**: Checkboxes with custom checkmark drawing.
*   **`AppleStyleSwitch`**: Toggle switches with sliding handle animation.
*   **`AppleStyleSlider`**: Horizontal and vertical sliders.
*   **`AppleStyleRadioButton`**: Radio buttons.
*   **`AppleStyleComboBox`**: Dropdown menus (comboboxes).
*   **`AppleStyleDateEdit`**: Date selection input with a calendar popup.
*   **`AppleStyleProgressBar`**: Progress bars.

These components aim for visual consistency with Apple's design language and are easily reusable in your PyQt6 applications. See `comprehensive_sample_app.py` for usage examples.

## How to Use

### 1. Prerequisites

#### Install PyQt6

First, ensure that PyQt6 is installed. If not, execute the following command in your terminal or command prompt:

```bash
pip install PyQt6
pytest-enabler 3.4.0
Enable installed pytest plugins
Requires Python: >=3.9

.. image:: https://img.shields.io/pypi/v/pytest-enabler.svg
   :target: https://pypi.org/project/pytest-enabler

.. image:: https://img.shields.io/pypi/pyversions/pytest-enabler.svg

.. image:: https://github.com/jaraco/pytest-enabler/actions/workflows/main.yml/badge.svg
   :target: https://github.com/jaraco/pytest-enabler/actions?query=workflow%3A%22tests%22
   :alt: tests

.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
    :target: https://github.com/astral-sh/ruff
    :alt: Ruff

.. image:: https://readthedocs.org/projects/pytest-enabler/badge/?version=latest
   :target: https://pytest-enabler.readthedocs.io/en/latest/?badge=latest

.. image:: https://img.shields.io/badge/skeleton-2025-informational
   :target: https://blog.jaraco.com/skeleton

The ``enabler`` plugin allows configuration of plugins if present, but omits the settings if the plugin is not present. For example, the following config enables black to be enabled when present::

    [tool.pytest-enabler.black]
    addopts = "--black"

Then, to temporarily disable a plugin, use pytest's built-in support for disabling a plugin::

    pytest -p no:black

``enabler`` includes a `default config <https://github.com/jaraco/pytest-enabler/blob/main/pytest_enabler/default.toml>`_.

Known to work with the following plugins:

- pytest-black
- pytest-cov
- pytest-flake8
- pytest-mypy
- pytest-ruff
- pytest-xdist
- pytest-ignore-flaky