semvec/pypi-packages huggingface dataset:
state-machine-operator 0.0.1
State Machine orchestrator intended for Kubernetes
License: MIT
Keywords: state machine, simulation, hpc, kubernetes

# state machine operator

> state machine orchestrator for the Mummi workflow

![PyPI - Version](https://img.shields.io/pypi/v/state-machine-operator)

An HPC ensemble is an orchestration of jobs that can ideally be controlled by an algorithm. Most resource managers expect workflows that have resource needs hard-coded, and a lot of manual orchestration. This effort aims to design a workflow tool that is more akin to a state machine, and responds to different events. Instead of hard coding specific applications, we allow for them to be defined dynamically. Some assumptions we make:

- An order of steps, A->B, understands how to handle output from the previous step. E.g., if we package up the output of A and give it to B in a known working directory, B knows what to do.
- Similarly, B knows that whatever is placed in that working directory will be provided to the next step.

This project will be intended to run in Kubernetes, because we are developing user-space Kubernetes for our HPC clusters and I want to start simple.


## License

HPCIC DevTools is distributed under the terms of the MIT license.
All new contributions must be made under this license.

See [LICENSE](https://github.com/converged-computing/cloud-select/blob/main/LICENSE),
[COPYRIGHT](https://github.com/converged-computing/cloud-select/blob/main/COPYRIGHT), and
[NOTICE](https://github.com/converged-computing/cloud-select/blob/main/NOTICE) for details.

SPDX-License-Identifier: (MIT)

LLNL-CODE- 842614
github-scrap 0.1.3
A tool to scrape code from GitHub or local repositories for LLM analysis.
License: MIT
Requires Python: <4.0,>=3.8

Below is the updated README with the new –xt option, along with all the other available CLI options:

⸻

GitHub Scrap

A tool to scrape code from Git repositories for LLM or other analysis. This tool reads the repository, filters files based on extension and ignore rules, and outputs a formatted version of the code. For example, if your repository contains a file named hello.py with a simple function, running the tool might produce:

### File: hello.py
def greet():
    print("Hello, world!")

Installation

You can install the package using PyPI:

pip install github-scrap

Or, if you use Poetry:

poetry add github-scrap

Or directly from GitHub:

pip install git+https://github.com/Pioannid/GitHubScrap.git

Usage

Python Script

You can use the tool as a module in your Python scripts:

from github_scrap import GitHubCodeScraper

repo_url = "https://github.com/Pioannid/GitHubScrapper"
scraper = GitHubCodeScraper(repo_path=repo_url, branch="main")
code_contents = scraper.scrape_repository()
formatted_output = scraper.format_for_llm(code_contents)
print(formatted_output)

CLI

After installation, the CLI tool is available as github-scrap. The basic usage is:

github-scrap [OPTIONS] REPO_PATH

Where REPO_PATH is the path to the Git repository or its URL.

Available CLI Options
	•	–output, -o
Description: Specify a file path to save the formatted output.
Example:
--output output.txt
	•	–ignore-dirs, -id
Description: Additional directories to ignore. Accepts one or more directory names.
Example:
--ignore-dirs venv node_modules
	•	–ignore-files, -if
Description: Specific files to ignore. Accepts one or more filenames.
Example:
--ignore-files README.md LICENSE
	•	–ignore-file, -c
Description: Path to a configuration file with ignore rules (for both files and directories).
Example:
--ignore-file .gitignore
	•	–token, -t
Description: GitHub token for private repositories (if REPO_PATH is a URL).
Example:
--token YOUR_GITHUB_TOKEN
	•	–branch, -b
Description: The branch to scrape from. Default is main.
Example:
--branch develop
	•	–xt
Description: Modify file extensions to process. This option accepts an operation and one or more file extensions.
	•	Operation: Specify add to include additional extensions or remove to exclude extensions from the default set.
	•	Usage Examples:
	•	To add extensions:

github-scrap REPO_PATH --xt add .js .txt


	•	To remove extensions:

github-scrap REPO_PATH --xt remove .cpp .hpp



Example Command

To scrape the repository on the main branch, save the output to output.txt, and add .json and .md to the default file extensions, run:

github-scrap https://github.com/Pioannid/GitHubScrap --branch main --output output.txt --xt add .json .md

License

This project is licensed under the MIT License.

⸻

Feel free to adjust the wording or examples as needed. This README now reflects the updated CLI option for modifying file extensions.
auth-proxy-jwt 0.2.0
JWT authentication plugin for python-auth-proxy
License: MIT
Requires Python: >=3.8

# JWT Authentication Plugin for auth-proxy

A JWT (JSON Web Token) authentication plugin for the Modular Authenticating Reverse Proxy.

## Installation

```bash
pip install auth-proxy-jwt
```

## Features

- Validates JWT tokens from the Authorization header
- Configurable secret key and algorithm
- Optional audience and issuer validation
- Customizable claims mapping
- Forwards user identity and role information to backend services

## Configuration

Add the JWT plugin to your auth-proxy configuration:

```yaml
auth_plugins:
  jwt:
    secret: "your-secret-key"
    algorithm: "HS256"
    audience: "your-api"
    issuer: "your-identity-provider"
    require_exp: true
    leeway: 10
    header_prefix: "Bearer"
    user_claim: "sub"
    role_claim: "roles"
    forward_claims: ["email", "permissions"]

paths:
  - path: "^/api/.*$"
    regex: true
    authenticate: true
    plugins: [jwt]
```

## Configuration Options

| Option           | Description                                | Default    |
| ---------------- | ------------------------------------------ | ---------- |
| `secret`         | Secret key for validating token signatures | (required) |
| `algorithm`      | JWT algorithm to use                       | `"HS256"`  |
| `audience`       | Expected audience claim                    | `null`     |
| `issuer`         | Expected issuer claim                      | `null`     |
| `require_exp`    | Whether to require expiration time         | `true`     |
| `leeway`         | Leeway in seconds for expiration time      | `0`        |
| `header_prefix`  | Authorization header prefix                | `"Bearer"` |
| `user_claim`     | Claim to use for user identity             | `"sub"`    |
| `role_claim`     | Claim to use for role information          | `"role"`   |
| `forward_claims` | Additional claims to forward as headers    | `[]`       |

## Headers Added to Backend Requests

When authentication succeeds, the plugin adds the following headers to the proxied request:

- `X-Auth-User`: The user identity from the token (from the configured `user_claim`)
- `X-Auth-Role`: The role or roles from the token (from the configured `role_claim`)
- `X-Auth-Claim-{name}`: Additional claims specified in `forward_claims`

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.