semvec/pypi-packages huggingface dataset:
pgtq 0.5.0
A lightweight PostgreSQL-backed distributed task queue.
Requires Python: >=3.9

# PostGresql Task Queue (PGTQ)

A very simple task queue system built on PostgreSQL. PGTQ was designed to solve
the following use case:

1. I have one or more 'controllers' which will enqueue many tasks to be run in a
   PostgreSQL database.
2. I have one or more 'workers' which will dequeue tasks from the database and
   execute them.

## Installation

You can install PGTQ via pip:

```bash
pip install pgtq
```

## Usage

Here's a simple example of how to use PGTQ:

```python
# controller.py
from pgtq import PGTQ

# Initialize the task queue
pgtq = PGTQ(dsn="postgresql://user:password@localhost/dbname")

pgtq.install() # Create necessary tables (only needed once, but it's safe to call multiple times)

# Enqueue a task
pgtq.enqueue("add_numbers", args={"a": i, "b": i * 2})
```

```python
# worker.py
from pgtq import PGTQ

# Initialize the task queue
pgtq = PGTQ(dsn="postgresql://user:password@localhost/dbname")

@pgtq.task("add_numbers")
def add_numbers(a, b):
    print("Adding:", a, "+", b, "=", a + b)
    return a + b

pgtq.start_worker()
```

For more detailed examples, see the `examples/` directory in the repository.

## Batching and waiting for completion

You can group tasks together with a `batch_id` (UUID) and wait for them to
finish before continuing:

```python
import uuid
from pgtq import PGTQ

pgtq = PGTQ(dsn="postgresql://user:password@localhost/dbname")
pgtq.install()

batch_id = uuid.uuid4()

with pgtq.batch_enqueue(batch_id=batch_id):
    for i in range(10):
        pgtq.enqueue("add_numbers", args={"a": i, "b": i * 2})

# blocks until no queued/in-progress tasks remain for this batch
pgtq.wait_for_batch(batch_id)
```

Async users can call `AsyncPGTQ.wait_for_batch(batch_id)` in the same way.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file
for details.
language-detector-dorian 0.1.0
Detector de lenguajes de programación
Requires Python: >=3.8

# Language Detector

Detector de lenguajes de programación para directorios.

## Instalación

```bash
pip install code-analyzer
```

## Uso

```bash
code-analyzer ./mi_proyecto
```

Guardar en JSON:
```bash
code-analyzer ./mi_proyecto -o resultados.json
```

## Como librería

```python
from code_analyzer import LanguageDetector

detector = LanguageDetector("./mi_proyecto")
results = detector.analyze_directory()
```
astronomy-mcp 0.1.4
MCP server bridging LLMs to major astronomy catalogs
Requires Python: >=3.9

# Astronomy MCP

An MCP server bridging LLMs to major astronomy catalogs (SIMBAD, VizieR, Horizons, NED, Gaia, TNS).

## Features

- **Object Resolution**: Resolve astronomical object names to coordinates (M31 -> 00 42 44.3 +41 16 09).
- **Multi-Catalog Search**: 
  - **SIMBAD**: Deep sky objects.
  - **Horizons**: Solar system objects (ephemerides, motion).
  - **NED**: Extragalactic objects (redshift, velocity).
  - **Gaia**: High-precision parallax and photometry.
  - **TNS**: Transient events (supernovae).
  - **VizieR**: Access to thousands of astronomical catalogs.
- **Deep Integrations**:
  - `cone_search`: Find objects around a coordinate across catalogs.
  - `check_visibility`: Check if an object is visible from your location.
  - `crossmatch_object`: Find an object's cross-identifications.
- **Production Ready**: Robust rate limiting, caching, and retry logic.

## Installation

```bash
pip install astronomy-mcp
```

## Quick Start (Claude Desktop)

1. **Install the package**:
   ```bash
   pip install astronomy-mcp
   ```

2. **Configure Claude Desktop**:
   Open or create `~/Library/Application Support/Claude/claude_desktop_config.json` and add:
   ```json
   {
     "mcpServers": {
       "astronomy": {
         "command": "python",
         "args": ["-m", "astronomy_mcp.server"]
       }
     }
   }
   ```
   *Note: Ensure `python` executable path is correct if using a specific environment (e.g. `uv run` or `/path/to/venv/bin/python`).*

3. **Ask Claude**:
   - "What's the current position of Mars?"
   - "Find all galaxies within 30 arcmin of M31 using NED."
   - "What deep sky objects are visible from Denver tonight?"
   - "Get Gaia data for the star Betelgeuse."

## Tool Reference

| Tool | Description | Example Query |
|------|-------------|---------------|
| `search_simbad_object` | Search for deep sky objects | "Search Simbad for 'Crab Nebula'" |
| `get_simbad_details` | Get detailed info for SIMBAD ID | "Get details for 'M 1'" |
| `search_horizons_object` | Search solar system objects | "Find 'C/2023 A3' in Horizons" |
| `get_horizons_ephemeris` | Get current position/motion | "Where is Mars right now?" |
| `search_ned_object` | Search NED (Extragalactic) | "Find info on '3C 273' in NED" |
| `search_tns_object` | Search Transients | "Look up '2023ixf' in TNS" |
| `cone_search` | Find objects in a region | "What is within 0.1 deg of RA=10, Dec=20?" |
| `check_visibility` | Check observability | "Is M31 visible from New York at 10 PM?" |
| `recommend_targets` | Get observation validation | "What should I look at tonight from London?" |

## Development

```bash
# Install dependencies
pip install -e ".[dev]"

# Run tests
pytest
```

## Configuration

Copy `.env.example` to `.env` to configure API keys (if needed for TNS) and tune rate limits.
ika-control 0.7.0
Python driver for IKA instruments.

ika
===

Python driver and command-line tool for IKA products.
 - Eurostar 60/100 control overhead stirrers
 - MATRIX ORBITAL shaker
 - RET control-visc hotplate/stirrer
 - Vacstar control vacuum pump

Installation
============

```
uv pip install ika-control
```

Usage
=====

## Command Line

```
$ ika <serial-to-ethernet-ip>:<port> --type hotplate
$ ika <serial-to-ethernet-ip>:<port> --type overhead
$ ika <serial-to-ethernet-ip>:<port> --type shaker
$ ika <serial-to-ethernet-ip>:<port> --type vacuum
```


## Python

This uses Python async/await syntax to asynchronously communicate with an IKA device. For example:

```python
import asyncio
from ika import Hotplate, OverheadStirrer

async def get():
    async with OverheadStirrer('ip-address:port') as stirrer:
        print(await stirrer.get())
    async with Hotplate('ip-address:port') as hotplate:
        print(await hotplate.get())


asyncio.run(get())
```
Hardware configuration
======================
For Control-Visc hotplates, make sure the "Eurostar" control option is turned off
in the system settings.  Otherwise, the device will turn the heater off when the serial
cable is unplugged.

Acknowledgements
================

©2023 Alexander Ruddick

Uses code from [the Hein group](https://gitlab.com/heingroup/ika), but otherwise no affiliation.
As of 2023, that project appears to have been abandoned.