semvec/pypi-packages huggingface dataset:
hapideploy 0.3.0
HapiDeploy is a remote execution tool written in Python, inspired by DeployPHP.
License: MIT
Requires Python: <4.0,>=3.13

# HapiDeploy

![test](https://github.com/hapideploy/hapideploy/workflows/test/badge.svg)
![downloads](https://img.shields.io/pypi/dm/hapideploy)
![version](https://img.shields.io/pypi/v/hapideploy)
![license](https://img.shields.io/pypi/l/hapideploy)

**The Python deployment tool for developers who love simplicity.**

HapiDeploy is a feature-rich tool designed for zero-downtime deployments. If you've used DeployPHP, this will feel instantly familiar—but powered by Python.

## Why HapiDeploy?

* 🐍 **Python Native:** Leverage the full power of Python and its vast library ecosystem.
* 💡 **Familiar API:** Heavily inspired by DeployPHP; zero learning curve for migrating developers.
* ⚡ **Zero Downtime:** Atomic deployments ensure your site never goes offline during updates.
* 🌐 **Language Agnostic:** Deploy PHP, Node, or Python apps using one unified tool.

## Get Started

```bash
pip install hapideploy
```

For full documentation, recipes, and configuration examples:

👉 Visit [hapideploy.com](https://hapideploy.com)
dagshell 0.2.1
A virtual POSIX filesystem with content-addressable DAG structure
License: MIT
Requires Python: >=3.8
Keywords: filesystem, dag, content-addressable, virtual-filesystem, posix, scheme, interpreter, shell

# DagShell

A virtual POSIX-compliant filesystem implementation with content-addressable DAG structure.

## Quick Start

```bash
# Install the package
pip install -e .

# Start the terminal emulator
python -m dagshell.terminal

# Or use the Python API directly
python
>>> from dagshell.dagshell_fluent import DagShell
>>> shell = DagShell()
>>> shell.mkdir("/project").cd("/project")
>>> shell.echo("Hello, DagShell!").out("README.md")
>>> shell.save("my_project.json")
```

## Features

- **Content-Addressable Filesystem**: SHA256-based deduplication
- **Virtual POSIX Environment**: Complete filesystem in JSON
- **Multiple Interfaces**: Python API, Scheme DSL, Terminal emulator
- **Persistence**: Save/load filesystem state as JSON
- **Virtual Devices**: /dev/null, /dev/random, /dev/zero
- **Directory Navigation**: cd, pushd, popd, dirs
- **Import/Export**: Transfer files between real and virtual filesystems
- **Command History**: Track and recall previous commands
- **Comprehensive Testing**: 583 tests with 77% code coverage

## Development

```bash
# Run tests
python -m pytest tests/ -v

# Run with coverage
python -m pytest tests/ --cov=dagshell --cov-report=term
```

## License

MIT
abstime 0.1.0a1
Resolve natural-language time expressions into authoritative UTC timestamps.
License: MIT
Requires Python: >=3.8

# abstime

Resolve natural-language time expressions into authoritative UTC timestamps.

## Install

```bash
pip install abstime
```

## Quickstart

```python
from abstime import AbsTime

client = AbsTime()

response = client.resolve(
    nl_time="tomorrow 9 am",
    ref_tzid="America/Los_Angeles",
    ref_time="2026-01-01T18:00:00Z",
)

print(response.resolved_time)
print(response.smart_view)
```

### API key

Set `ABSTIME_API_KEY` in your environment or pass `api_key` explicitly.

```python
from abstime import AbsTime

client = AbsTime(api_key="your_api_key")
```

### Optional ref_time

`ref_time` is optional. If omitted, the SDK uses the current UTC time in RFC3339 format.

```python
response = client.resolve(
    nl_time="next Friday",
    ref_tzid="Europe/Berlin",
)
```

### Errors

HTTP errors raise `AbsTimeError`. Network issues raise `APIConnectionError`.

```python
from abstime import AbsTime, AbsTimeError, APIConnectionError

client = AbsTime()

try:
    response = client.resolve(
        nl_time="tomorrow 9 am",
        ref_tzid="America/Los_Angeles",
    )
except AbsTimeError as exc:
    print(exc)
    print(exc.status_code, exc.code, exc.request_id)
except APIConnectionError as exc:
    print(exc)
```

### Timeout

Default timeout is 15 seconds. You can override it per client.

```python
client = AbsTime(timeout=5)
```

## Response fields

```python
response.resolved_time
response.smart_view
response.confidence
response.ref_time
response.min_granularity
response.request_id
response.raw
```