semvec/pypi-packages huggingface dataset:
mongo-oidc-human-callback 0.1.2
OIDC Human Callback for MongoDB: browser-based OAuth 2.0 Authorization Code Flow with PKCE (Azure AD and other OIDC providers).
Requires Python: >=3.10
Keywords: atlas, authentication, azure-ad, mongodb, oauth2, oidc, pkce

# mongo-oidc-human-callback

OIDC Human Callback for MongoDB Atlas authentication: OAuth 2.0 Authorization Code flow with PKCE (Azure AD and other OIDC providers).

**Single dependency**: `pymongo` (stdlib for the rest: `urllib`, `logging`, `http.server`, etc.).

## Installation

```bash
pip install mongo-oidc-human-callback
```

## Usage

```python
from pymongo import MongoClient
from mongo_oidc_human_callback import OIDCHumanCallback

# Connect with human callback (browser opens + PKCE)
client = MongoClient(
    "mongodb+srv://<cluster>.mongodb.net/",
    authMechanism="MONGODB-OIDC",
    authMechanismProperties={"OIDC_CALLBACK": OIDCHumanCallback()},
)
# First access: browser opens to sign in (e.g. Azure AD)
client.admin.command("ping")
```

### Callback options

```python
OIDCHumanCallback(
    redirect_path="redirect",  # or "callback" depending on Azure AD config
    port=27097,                # local callback server port
)
```

## Features

- **PKCE** (Proof Key for Code Exchange)
- **Token caching** to avoid re-authenticating on each connection
- **Local HTTP server** to receive the OAuth redirect
- **Automatic browser opening**
- **Azure AD compatibility** (endpoints `/oauth2/v2.0/authorize` and `/oauth2/v2.0/token`)

## Azure AD configuration

In the Azure portal, for your app registration:

1. **Authentication** → Redirect URI: `http://localhost:27097/redirect` (or the `port`/`redirect_path` you use).
2. **API permissions** → Microsoft Graph (or target API): e.g. `openid`, `profile`, `email`.
cjn-PiTools 1.0.1
cjn's library of Raspberry Pi functions, drivers, tools, ...
Requires Python: >=3.9
Keywords: cjnaz, cjnfuncs, Raspberry, Raspberry Pi, RPi, DS18B20, luma.oled, LED, blinky

# cjn_PiTools - A collection of modules for Raspberry Pi projects

## cjn_PiTools is comprised of several modules (follow links to respective documentation)

NOTE:  These links point to the github repo since relative links to other .md files do not work on PyPI.

Module | Description/Purpose
--|--
[PiBlinky](https://github.com/cjnaz/cjn_PiTools/blob/main/PiBlinky.md)       | A multiple threaded LED driver for Raspberry Pi
[PiOLED](https://github.com/cjnaz/cjn_PiTools/blob/main/PiOLED.md)           | Display multi-line messages on a shared Raspberry Pi connected OLED display
[DS18B20](https://github.com/cjnaz/cjn_PiTools/blob/main/DS18B20.md)         | A high-featured library/driver using the w1_therm kernel driver
[initW1buses](https://github.com/cjnaz/cjn_PiTools/blob/main/initW1buses.md) | Initialize the W1 buses and set write permission on found therm_bulk_read file(s)

More to come!
- Drivers for SHT3x and HTU21D temp/RH sensors
- Driver for ADC121C027 ADC
- Driver for MCP23008 IO expander
- Driver for PCA9548s I2C expander

In most cases, these drivers will work with both `RPi.GPIO` (for local control) and `pigpio` for (local and remote control).

Developed and tested on Raspbian GNU/Linux 11 (bullseye) and Python 3.9.2, and supported on all higher versions.

In this documentation, "tool script" refers to a Python project that imports and uses cjn_PiTools. Some may be simple scripts, and others may themselves be installed packages.

<br/>

## Installation and usage

If using the RPi.GPIO driver:

    pip install cjn_PiTools


If using the pigpio driver:

    pip install cjn_PiTools[pigpio]

- And you will also need to install the pigpiod daemon (`sudo apt install pigpiod`) and start it manually or at boot.  Here's a systemd service file for starting pigpiod at boot:

        [Unit]
        Description=Daemon required to control GPIO pins via pigpio

        [Service]
        ExecStart=/usr/local/bin/pigpiod -l
        Type=forking
        TimeoutStopSec=20

        [Install]
        WantedBy=multi-user.target



<br/>

## Key changes since the prior major public release (this is the first release)

- New.  Bundled PiBlinky, PiOLED, initW1buses, and DS18B20 modules

<br/>

## Revision history
- 1.0 260207 - New.  Bundled PiBlinky, PiOLED, initW1buses, and DS18B20 modules
c2m-by-nery 0.2.0
Convert code files to Markdown (CLI and library)
Requires Python: >=3.10
Keywords: cli, converter, markdown, code

# c2m-by-nery

Convert code files to Markdown. Use it as a CLI or as a Python library.

## Requirements

- Python 3.10+

## Install

```bash
pip install c2m-by-nery
```

Or for a global CLI (available system-wide):

```bash
cd /path/to/c2m-by-nery
pipx install .
```

Editable install for local development:

```bash
pip install -e .
```

## Release

### 3. Build the package (local)

From the project directory:

```bash
python -m pip install --upgrade build
python -m build
```

This creates distribution files in `dist/` (a `.tar.gz` and a `.whl`).

### 4. Upload to PyPI with Twine

Install Twine:

```bash
python -m pip install --upgrade twine
```

Upload:

```bash
python -m twine upload dist/*
```

## Usage

```bash
c2m [PATH] [OPTIONS]
```

Examples:

```bash
c2m .
c2m src --frontmatter
```

## Library

```python
from c2m_by_nery.core import convert_to_markdown

result = convert_to_markdown(root=".", frontmatter=True)
```