semvec/pypi-packages huggingface dataset:
pygeist 0.4.0
Pygeist server package
Requires Python: >=3.10

# Pygeist
Pygeist is a Python module that abstracts the application layer protocol `Zeitgeist` implementation.

[![Tests](https://github.com/mateogall0/pygeist/actions/workflows/tests.yml/badge.svg)](https://github.com/mateogall0/pygeist/actions/workflows/tests.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

#### Protocol
See [here](https://github.com/mateogall0/zeitgeist_core) to look into the core implementation of the protocol.

```bash
.
├── core -> zeitgeist_core
├── adapters
├── pygeist
└── tests
```

## Installation
This package is available for `pip`:
```bash
pip install pygeist
```

## Quick endpoint example

#### Create
```python
# example.py
from pygeist import ZeitgeistAPI, Request

app = ZeitgeistAPI()

async def main_handler(req: Request):
    return f'Hello! We got this: {req.body}'

app.get('/', main_handler, status_code=200)
```

#### Run
```bash
python3 -m pygeist example:app
```

## Model support
This module utilizes [Pydantic](https://pypi.org/project/pydantic/) for both input and output handling of inputs:
```python
# user.py
from pygeist import Router
from pydantic import BaseModel

class UserModel(BaseModel):
    name: str
    age: int

async def user_main():
    return {'name': 'test', 'age': 21}

async def is_adult(user: UserModel):
    return u.age >= 18

router = Router('/user')
router.get('/', user_main, status_code=200, response_model=UserModel)
router.get('/isadult', is_adult, status_code=200)
```

## Testing
This module implements a `TestClient` allowing for a mock integration of a client interacting with the server.
It is recommended to use the [Pytest](https://pypi.org/project/pytest/) framework:
```python
# tests.py
from pygeist import TestClient
from example import app
import pytest

@pytest.mark.asyncio
async def test_get():
    async with TestCient(app) as client:
        res = await client.get('/')
        assert res.status_code == 200
```

## Contributing

Contributions, issues, and feature requests are welcome!
Feel free to check the [issues page](https://github.com/mateogall0/pygeist/issues) or open a [pull request](https://github.com/mateogall0/pygeist/pulls).

To set up the project locally:

```bash
git clone https://github.com/mateogall0/pygeist
cd pygeist
xargs sudo apt-get -y install < packages.txt
make
pip install -r requirements-dev.txt
pytest
```
hexagon-sdk 1.0.0
Make your website AI-readable by ChatGPT, Perplexity, Claude and other AI platforms
Requires Python: >=3.7
Keywords: ai gpt chatgpt claude perplexity seo ai-search crawler bot

# Hexagon Python SDK

Make your website AI-readable by ChatGPT, Perplexity, Claude, and other AI platforms.

## Installation

```bash
pip install hexagon-sdk
```

## Quick Start

### Flask

```python
from flask import Flask, render_template
from hexagon import Hexagon

app = Flask(__name__)
hexagon = Hexagon(
    merchant_id='your-merchant-id',
    api_key='your-api-key'
)

@app.route('/')
@hexagon.enhance  # Automatically enhances for AI crawlers
def home():
    return render_template('index.html')

# Blog routes (auto-generated by Hexagon)
@app.route('/blog')
def blog_list():
    blogs = hexagon.get_blogs(page=1, limit=20)
    return render_template('blog_list.html', blogs=blogs['blogs'])

@app.route('/blog/<slug>')
def blog_detail(slug):
    blog = hexagon.get_blog(slug)
    if not blog:
        return "Blog not found", 404
    return render_template('blog_detail.html', blog=blog)

if __name__ == '__main__':
    app.run()
```

### Django

Add to your `settings.py`:

```python
# settings.py
MIDDLEWARE = [
    ...
    'hexagon.DjangoMiddleware',  # Add Hexagon middleware
    ...
]

HEXAGON_MERCHANT_ID = 'your-merchant-id'
HEXAGON_API_KEY = 'your-api-key'
```

That's it! All your Django views will now be enhanced for AI crawlers.

## What You Get

✅ ChatGPT finds your content instantly  
✅ Auto-generate 100+ blogs/day  
✅ Track AI bot visits  
✅ Content stays on your domain

## Features

### 1. AI-Optimized HTML

The SDK automatically enhances your HTML for AI crawlers by:
- Adding structured data (Schema.org)
- Converting content to markdown
- Injecting AI-friendly metadata
- Optimizing for search engines

### 2. Blog Management

Hexagon automatically generates SEO-optimized blogs for your products:

```python
# Get all blogs
blogs = hexagon.get_blogs(page=1, limit=20)

# Get single blog
blog = hexagon.get_blog('wireless-headphones-guide')
```

### 3. Smart Caching

Enhanced HTML is cached automatically for fast performance. Only the first AI crawler request has a small delay.

## Manual Enhancement

If you want more control, you can manually enhance HTML:

```python
from hexagon import Hexagon

hexagon = Hexagon(merchant_id='xxx', api_key='xxx')

# Enhance HTML manually
html = "<html><body>Hello World</body></html>"
enhanced = hexagon.enhance_html(
    html=html,
    url="https://example.com",
    user_agent="GPTBot"
)
```

## Configuration

```python
hexagon = Hexagon(
    merchant_id='your-merchant-id',  # Required
    api_key='your-api-key',          # Required
    api_url='https://joinhexagon.com/api/v1',  # Optional
    debug=False                       # Optional: enable debug logging
)
```

## Requirements

- Python 3.7+
- requests

## Support

Need help? Email us at [hello@joinhexagon.com](mailto:hello@joinhexagon.com)

## License

MIT
geopins 0.1.1
Geospatial support for the Python pins package.
Requires Python: >=3.10

# geopins
<a href="https://github.com/tonkintaylor/geopins/"><img src="https://raw.githubusercontent.com/tonkintaylor/geopins/refs/heads/develop/docs/logo.svg" align="right" height="138" /></a>

[![PyPI Version](https://img.shields.io/pypi/v/geopins.svg)](<https://pypi.python.org/pypi/geopins>)
[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![usethis](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/usethis-python/usethis-python/main/assets/badge/v1.json)](https://github.com/usethis-python/usethis-python)

The geopins package provides geospatial support for the [Python pins package](https://github.com/rstudio/pins-python). The package publishes data, models, and other Python objects, making it easy to share them across projects and with your colleagues. With `geopins`, there is support for geospatial datatypes (e.g. `geopandas.GeoDatFrame`, and `rastr.Raster`) and filetypes (e.g. `GeoPackage`, and `GeoTIFF`), fully compatible with your existing pins boards.

## Installation

```bash
# With uv
uv add geopins

# With pip
pip install geopins
```

## Quick Start

```python
from pins import board_local

# Patch pins to support geospatial data
import geopins
geopins.patch()

# Define any pins board as usual
b = board_local()

# Save a GeoDataFrame
import geopandas as gpd
gdf = b.pin_write(
    gpd.GeoDataFrame({"x": [1, 2, 3]}, geometry=gpd.points_from_xy([1, 2, 3], [4, 5, 6])),
    "gdf_example",
)

# Read it back
gdf = b.pin_read("gdf_example")

# Save a raster
from rastr.raster import Raster
b.pin_write(Raster.example(), "raster_example")

# Read it back
raster = b.pin_read("raster_example")
```

## Contributing

See the
[CONTRIBUTING.md](https://github.com/usethis-python/usethis-python/blob/main/CONTRIBUTING.md)
file.
petsird 0.8.1
Library and tools for working with Positron Emission Tomography Standardization Initiative Raw Data (PETSIRD)
Requires Python: >=3.9

# PETSIRD Python SDK

The [Emission Tomography Standardization Initiative (ETSI)](https://etsinitiative.org/)
is working towards establishing a standard for PET Raw Data, called PETSIRD ("Positron Emission Tomography Standardization Initiative Raw Data").

Read & write PETSIRD data in Python.

## Examples

See [ETSInitiative/PETSIRD:python](https://github.com/ETSInitiative/PETSIRD/tree/main/python).
redun_psij 0.1.1
PSI/J Executor for Redun
Requires Python: >=3.10

# redun_psij

This package enables Redun tasks to be scheduled on any job scheduler supported by PSI/J, which includes Slurm, PBS, LFS among others.

It is not tightly integrated into Redun, and therefore has a different flavour than the executors natively supported in Redun.

## Installation

The package is pure Python with its only dependencies being [redun](https://insitro.github.io/redun/index.html) and [PSI/J](https://exaworks.org/psij-python/index.html).  It is available on PyPI or as Nix flake.

## Features

- job specs are defined in [Jsonnet](https://jsonnet.org/)

## Usage

_To be completed_

## Status

This code is in production using a Slurm backend.  No other job schedulers have been tested.