semvec/pypi-packages huggingface dataset:
thermochemistry_library 0.0.1
Thermochemistry Library
Requires Python: >=3.13

# Thermochemistry Library

[![License](https://img.shields.io/github/license/LucassKw/ThermochemistryLibrary)](
https://github.com/LucassKw/ThermochemistryLibrary/blob/main/LICENSE)
[![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](
https://github.com/astral-sh/ruff)

This library converts a cartesian hessian of nuclear second derivatives into vibrational and thermodynamic quantities, following similar framework used in Gaussian and [GoodVibes](https://github.com/patonlab/GoodVibes), but in a modular and Python-native implementation.

#### Minimum Inputs

```
• Cartesian Hessian Matrix
• Atomic Masses
• Cartesian Coordinates
• Temperature (K)
```

#### Example Outputs

```
• Vibrational Frequencies
• Normal Modes
• Cartesian Coordinates
• Rotational Constants
• Center of Mass
• Entropy
• Enthalpy
• Gibbs Free Energy
```

#### Quasi-Harmonic Corrections

Akin to goodvibes, the [Cramer & Truhlar](https://pubs.acs.org/doi/abs/10.1021/jp205508z) and [Grimme](https://chemistry-europe.onlinelibrary.wiley.com/doi/abs/10.1002/chem.201200497) (RRHO) approximations were used. 

```
Cramer & Truhlar:
mod_freqs = np.where(mod_freqs < self.qh_cutoff, self.qh_cutoff, mod_freqs)

(qh_cutoff = 100cm^-1)
```

```
Grimme:
w = 1.0 / (1.0 + (self.qh_cutoff / valid_freqs)**4)
```

## Credits
This package was created with [Cookiecutter](https://github.com/audreyr/cookiecutter) and the [jevandezande/uv-cookiecutter](https://github.com/jevandezande/uv-cookiecutter) project template.

This library was in loose collabration with [Rowansci](https://rowansci.com/)
iflow-mcp_kjozsa-jenkins-mcp 0.1.1
MCP server for managing Jenkins operations
Requires Python: >=3.10

# Jenkins MCP
[![smithery badge](https://smithery.ai/badge/@kjozsa/jenkins-mcp)](https://smithery.ai/server/@kjozsa/jenkins-mcp)
MCP server for managing Jenkins operations.

<a href="https://glama.ai/mcp/servers/7j3zk84u5p">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/7j3zk84u5p/badge" alt="Jenkins MCP server" />
</a>

## Installation
### Installing via Smithery

To install Jenkins MCP for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@kjozsa/jenkins-mcp):

```bash
npx -y @smithery/cli install @kjozsa/jenkins-mcp --client claude
```

### Installing Manually
```bash
uvx install jenkins-mcp
```

## Configuration
Add the MCP server using the following JSON configuration snippet:

```json
{
  "mcpServers": {
    "jenkins-mcp": {
      "command": "uvx",
      "args": ["jenkins-mcp"],
      "env": {
        "JENKINS_URL": "https://your-jenkins-server/",
        "JENKINS_USERNAME": "your-username",
        "JENKINS_PASSWORD": "your-password",
        "JENKINS_USE_API_TOKEN": "false"
      }
    }
  }
}
```

## CSRF Crumb Handling

Jenkins implements CSRF protection using "crumbs" - tokens that must be included with POST requests. This MCP server handles CSRF crumbs in two ways:

1. **Default Mode**: Automatically fetches and includes CSRF crumbs with build requests
   - Uses session cookies to maintain the web session
   - Handles all the CSRF protection behind the scenes

2. **API Token Mode**: Uses Jenkins API tokens which are exempt from CSRF protection
   - Set `JENKINS_USE_API_TOKEN=true`
   - Set `JENKINS_PASSWORD` to your API token instead of password
   - Works with Jenkins 2.96+ which doesn't require crumbs for API token auth

You can generate an API token in Jenkins at: User → Configure → API Token → Add new Token

## Features
- List Jenkins jobs
- Trigger builds with optional parameters
- Check build status
- CSRF crumb handling for secure API access

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

# Run in dev mode with Inspector
mcp dev jenkins_mcp/server.py
```
pyanalog 0.0.1
Redirect package - please use 'analogpy' instead
Requires Python: >=3.8

# pyanalog

This package is a redirect. Please install `analogpy` instead:

```bash
pip install analogpy
```

## Why?

`analogpy` is the official package name. `pyanalog` exists only to reserve the name and redirect users to the correct package.

## Usage

If you installed `pyanalog`, it will work but show a deprecation warning:

```python
import pyanalog  # Shows warning, redirects to analogpy
```

Please update your code to use:

```python
import analogpy  # Preferred
```