hiphops-hook


Namehiphops-hook JSON
Version 0.0.1a38 PyPI version JSON
download
home_pageNone
SummaryPython client for HipHops Hook
upload_time2025-07-10 09:49:03
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords hiphops hook client
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # HipHops Hook Python Client

Python client library for integrating with HipHops Hook.

## Installation

```bash
pip install hiphops-hook
```

The package will automatically download the appropriate Hook binary for your platform during installation.

## Quick Start

```python
from hiphops_hook import license

# Get license information
info = license()
print(info)
```

## Usage

### Basic Usage

```python
from hiphops_hook import license

# Get license information
license_info = license()
print(f"License verified: {license_info['verified']}")
```

### Error Handling

```python
from hiphops_hook import license, HookError, RequestError

try:
    info = license()
except RequestError as e:
    print(f"Request failed: {e}")
except HookError as e:
    print(f"Hook error: {e}")
```

## API Reference

### Functions

#### `license() -> LicenseInfo`

Get license information using the global client instance.

**Returns:**

- `LicenseInfo`: Dictionary containing license information

**Raises:**

- `RequestError`: If the request fails
- `ResponseError`: If the response is invalid
- `ServerStartupError`: If the server fails to start

### Types

#### `LicenseInfo`

TypedDict containing license information:

```python
class LicenseInfo(TypedDict):
    verified: bool
    verify_failures: List[str]
    license: Optional[Dict[str, Any]]
    hiphops: Dict[str, str]
    # Additional fields may be present
```

### Exceptions

- `HookError`: Base exception for all Hook-related errors
- `BinaryNotFoundError`: Raised when the Hook binary cannot be found
- `ServerStartupError`: Raised when the Hook server fails to start
- `ServerTimeoutError`: Raised when the server startup times out
- `RequestError`: Raised when an HTTP request fails
- `ResponseError`: Raised when the server returns an invalid response
- `DownloadError`: Raised when binary download fails

## Configuration

### Environment Variables

- `HIPHOPS_HOOK_BIN`: Override the path to the Hook binary
- `SKIP_HOOK_DOWNLOAD=true`: Force skip binary download

### Development Mode

When `SKIP_HOOK_DOWNLOAD=true`, the client will skip downloading the Hook binary during installation. This is useful for development environments where you want to use a custom binary.

## Platform Support

The client supports the same platforms as the Hook binary:

- **macOS**: `hook-darwin-amd64`, `hook-darwin-arm64`
- **Linux**: `hook-linux-amd64`, `hook-linux-arm64`
- **Windows**: `hook-windows-amd64.exe`

## Development

### Local Development (Source Code)

#### Setting Up Development Environment

```bash
# Clone the repository
git clone https://github.com/hiphops-io/hook.git
cd hook/clients/python

# Create a virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

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

#### Testing Locally (Without Installation)

Test the source code directly without installing the package:

```bash
# Set PYTHONPATH and run the test script
PYTHONPATH=. python scripts/test.py

# Test with custom binary path
HIPHOPS_HOOK_BIN=/path/to/hook/binary PYTHONPATH=. python scripts/test.py

# Skip binary download during development
SKIP_HOOK_DOWNLOAD=true PYTHONPATH=. python scripts/test.py

# Test platform detection
PYTHONPATH=. python -c "from hiphops_hook.platform_utils import get_platform_info, get_binary_name; print(f'Platform: {get_platform_info()}'); print(f'Binary: {get_binary_name()}')"

# Test with license token (if available)
LICENSE_TOKEN=your_token_here PYTHONPATH=. python scripts/test.py
```

#### Installing for Local Development

```bash
# Install in development mode (editable install)
pip install -e .

# Install with development dependencies
pip install -e ".[dev]"

# Then test the installed package
python scripts/test.py
```

**Note**: If you encounter network/SSL issues with pip, you can work around them by:

1. Using the PYTHONPATH approach for testing (shown above)
2. Installing dependencies individually if needed
3. Using `--no-build-isolation` flag: `pip install -e . --no-build-isolation`

#### Binary Management During Development

```bash
# Skip binary download during development
export SKIP_HOOK_DOWNLOAD=true
pip install -e .

# Use a custom binary path
export HIPHOPS_HOOK_BIN=/path/to/your/hook/binary
pip install -e .
```

### Package Building and Distribution

#### Building the Package

```bash
python setup.py sdist
```

This creates a source distribution in the `dist/` directory:

- `hiphops-hook-<version>.tar.gz` - Ready for distribution

### Testing the Pip Package

#### Test Installation from Built Package

```bash
# Create a clean test environment
python -m venv test_env
source test_env/bin/activate  # On Windows: test_env\Scripts\activate

# Install from built package
pip install dist/hiphops-hook-*.tar.gz

# Test the installed package
python -c "from hiphops_hook import license; print('Package installed successfully')"

# Run comprehensive test
python -c "
from hiphops_hook import license
try:
    info = license()
    print('✅ Package works correctly')
    print(f'License info: {info}')
except Exception as e:
    print(f'❌ Package test failed: {e}')
"

# Test with license token (if available)
LICENSE_TOKEN=your_token_here python -c "
from hiphops_hook import license
try:
    info = license()
    print('✅ License verification test:')
    print(f'Verified: {info.get(\"verified\", False)}')
    print(f'License info: {info}')
except Exception as e:
    print(f'❌ License test failed: {e}')
"

# Clean up
deactivate
rm -rf test_env
```

#### Test Installation from PyPI (Future)

Once published to PyPI:

```bash
# Create clean environment
python -m venv test_pypi
source test_pypi/bin/activate

# Install from PyPI
pip install hiphops-hook

# Test functionality
LICENSE_TOKEN=your_token_here python -c "
from hiphops_hook import license
info = license()
print('PyPI package works correctly')
print(info)
"

# Test with different environment variables
SKIP_HOOK_DOWNLOAD=true pip install --force-reinstall hiphops-hook
HIPHOPS_HOOK_BIN=/custom/path python -c "from hiphops_hook import license"

# Clean up
deactivate
rm -rf test_pypi
```

#### Testing Binary Download Process

```bash
# Test automatic binary download
python -c "
import os
import subprocess
import tempfile

# Create temporary directory
with tempfile.TemporaryDirectory() as tmpdir:
    # Install package in clean environment
    env = os.environ.copy()
    env['VIRTUAL_ENV'] = tmpdir

    result = subprocess.run([
        'pip', 'install', 'dist/hiphops-hook-*.tar.gz'
    ], env=env, capture_output=True, text=True)

    if 'Successfully downloaded hook binary' in result.stdout:
        print('✅ Binary download works correctly')
    else:
        print('❌ Binary download may have issues')
        print(result.stdout)
        print(result.stderr)
"
```

### Development Workflow

#### Complete Development Cycle

```bash
# 1. Make code changes
# Edit files in hiphops_hook/

# 2. Test locally without installation
PYTHONPATH=. python scripts/test.py

# 3. Test with editable installation
pip install -e .
python scripts/test.py

# 4. Build package
python setup.py sdist

# 5. Test built package in clean environment
python -m venv test_clean
source test_clean/bin/activate
pip install dist/hiphops-hook-*.tar.gz
python -c "from hiphops_hook import license; print(license())"
deactivate
rm -rf test_clean

# 6. Code quality checks
black hiphops_hook/ scripts/
flake8 hiphops_hook/ scripts/
mypy hiphops_hook/
```

### Debugging

Enable verbose logging:

```python
import logging
logging.basicConfig(level=logging.DEBUG)

from hiphops_hook import license
info = license()
```

### Code Quality Tools

```bash
# Format code (requires black)
pip install black
black hiphops_hook/ scripts/

# Lint code (requires flake8)
pip install flake8
flake8 hiphops_hook/ scripts/

# Type checking (requires mypy)
pip install mypy
mypy hiphops_hook/

# Install all quality tools
pip install black flake8 mypy
```

## Publishing to PyPI

### Prerequisites

1. **PyPI Account**: Create account at [pypi.org](https://pypi.org)
2. **Trusted Publisher**: Configure trusted publisher for `hiphops-hook` on PyPI
3. **GitHub Environment**: Create `pypi` environment in repository settings

### Automated Publishing (Recommended)

Publishing is automated via GitHub Actions and triggered during the release process:

1. **Individual PyPI publish**: Use `publish-pypi.yml` workflow
2. **Automatic release publishing**: Both `publish-npm.yml` and `publish-pypi.yml` are triggered automatically during releases

The workflow automatically:
- Sets up Python environment
- Installs dependencies (skips binary download)
- Builds the package
- Publishes to PyPI using trusted publishing (no API tokens needed)

### Manual Publishing (Development)

For testing or manual releases:

```bash
# Install publishing tools
pip install build twine

# Build the package
python setup.py sdist

# Check the package (optional but recommended)
twine check dist/*

# Publish to TestPyPI (for testing)
twine upload --repository testpypi dist/*

# Publish to PyPI (production)
twine upload dist/*
```

### Version Management

- Python package version is synchronized with npm package
- Version is set in `pyproject.toml` and `setup.py`
- Must match the Hook binary version for compatibility

## Support

For issues and questions, please visit: https://github.com/hiphops-io/hook/issues

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "hiphops-hook",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "hiphops, hook, client",
    "author": null,
    "author_email": "\"hiphops.io\" <hello@hiphops.io>",
    "download_url": "https://files.pythonhosted.org/packages/d9/2e/cb5ec8bbbfba7cd85550d914c67555d2264eb311689d121b4732d7fc15fc/hiphops_hook-0.0.1a38.tar.gz",
    "platform": null,
    "description": "# HipHops Hook Python Client\n\nPython client library for integrating with HipHops Hook.\n\n## Installation\n\n```bash\npip install hiphops-hook\n```\n\nThe package will automatically download the appropriate Hook binary for your platform during installation.\n\n## Quick Start\n\n```python\nfrom hiphops_hook import license\n\n# Get license information\ninfo = license()\nprint(info)\n```\n\n## Usage\n\n### Basic Usage\n\n```python\nfrom hiphops_hook import license\n\n# Get license information\nlicense_info = license()\nprint(f\"License verified: {license_info['verified']}\")\n```\n\n### Error Handling\n\n```python\nfrom hiphops_hook import license, HookError, RequestError\n\ntry:\n    info = license()\nexcept RequestError as e:\n    print(f\"Request failed: {e}\")\nexcept HookError as e:\n    print(f\"Hook error: {e}\")\n```\n\n## API Reference\n\n### Functions\n\n#### `license() -> LicenseInfo`\n\nGet license information using the global client instance.\n\n**Returns:**\n\n- `LicenseInfo`: Dictionary containing license information\n\n**Raises:**\n\n- `RequestError`: If the request fails\n- `ResponseError`: If the response is invalid\n- `ServerStartupError`: If the server fails to start\n\n### Types\n\n#### `LicenseInfo`\n\nTypedDict containing license information:\n\n```python\nclass LicenseInfo(TypedDict):\n    verified: bool\n    verify_failures: List[str]\n    license: Optional[Dict[str, Any]]\n    hiphops: Dict[str, str]\n    # Additional fields may be present\n```\n\n### Exceptions\n\n- `HookError`: Base exception for all Hook-related errors\n- `BinaryNotFoundError`: Raised when the Hook binary cannot be found\n- `ServerStartupError`: Raised when the Hook server fails to start\n- `ServerTimeoutError`: Raised when the server startup times out\n- `RequestError`: Raised when an HTTP request fails\n- `ResponseError`: Raised when the server returns an invalid response\n- `DownloadError`: Raised when binary download fails\n\n## Configuration\n\n### Environment Variables\n\n- `HIPHOPS_HOOK_BIN`: Override the path to the Hook binary\n- `SKIP_HOOK_DOWNLOAD=true`: Force skip binary download\n\n### Development Mode\n\nWhen `SKIP_HOOK_DOWNLOAD=true`, the client will skip downloading the Hook binary during installation. This is useful for development environments where you want to use a custom binary.\n\n## Platform Support\n\nThe client supports the same platforms as the Hook binary:\n\n- **macOS**: `hook-darwin-amd64`, `hook-darwin-arm64`\n- **Linux**: `hook-linux-amd64`, `hook-linux-arm64`\n- **Windows**: `hook-windows-amd64.exe`\n\n## Development\n\n### Local Development (Source Code)\n\n#### Setting Up Development Environment\n\n```bash\n# Clone the repository\ngit clone https://github.com/hiphops-io/hook.git\ncd hook/clients/python\n\n# Create a virtual environment (recommended)\npython -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\n\n# Install development dependencies\npip install -e \".[dev]\"\n```\n\n#### Testing Locally (Without Installation)\n\nTest the source code directly without installing the package:\n\n```bash\n# Set PYTHONPATH and run the test script\nPYTHONPATH=. python scripts/test.py\n\n# Test with custom binary path\nHIPHOPS_HOOK_BIN=/path/to/hook/binary PYTHONPATH=. python scripts/test.py\n\n# Skip binary download during development\nSKIP_HOOK_DOWNLOAD=true PYTHONPATH=. python scripts/test.py\n\n# Test platform detection\nPYTHONPATH=. python -c \"from hiphops_hook.platform_utils import get_platform_info, get_binary_name; print(f'Platform: {get_platform_info()}'); print(f'Binary: {get_binary_name()}')\"\n\n# Test with license token (if available)\nLICENSE_TOKEN=your_token_here PYTHONPATH=. python scripts/test.py\n```\n\n#### Installing for Local Development\n\n```bash\n# Install in development mode (editable install)\npip install -e .\n\n# Install with development dependencies\npip install -e \".[dev]\"\n\n# Then test the installed package\npython scripts/test.py\n```\n\n**Note**: If you encounter network/SSL issues with pip, you can work around them by:\n\n1. Using the PYTHONPATH approach for testing (shown above)\n2. Installing dependencies individually if needed\n3. Using `--no-build-isolation` flag: `pip install -e . --no-build-isolation`\n\n#### Binary Management During Development\n\n```bash\n# Skip binary download during development\nexport SKIP_HOOK_DOWNLOAD=true\npip install -e .\n\n# Use a custom binary path\nexport HIPHOPS_HOOK_BIN=/path/to/your/hook/binary\npip install -e .\n```\n\n### Package Building and Distribution\n\n#### Building the Package\n\n```bash\npython setup.py sdist\n```\n\nThis creates a source distribution in the `dist/` directory:\n\n- `hiphops-hook-<version>.tar.gz` - Ready for distribution\n\n### Testing the Pip Package\n\n#### Test Installation from Built Package\n\n```bash\n# Create a clean test environment\npython -m venv test_env\nsource test_env/bin/activate  # On Windows: test_env\\Scripts\\activate\n\n# Install from built package\npip install dist/hiphops-hook-*.tar.gz\n\n# Test the installed package\npython -c \"from hiphops_hook import license; print('Package installed successfully')\"\n\n# Run comprehensive test\npython -c \"\nfrom hiphops_hook import license\ntry:\n    info = license()\n    print('\u2705 Package works correctly')\n    print(f'License info: {info}')\nexcept Exception as e:\n    print(f'\u274c Package test failed: {e}')\n\"\n\n# Test with license token (if available)\nLICENSE_TOKEN=your_token_here python -c \"\nfrom hiphops_hook import license\ntry:\n    info = license()\n    print('\u2705 License verification test:')\n    print(f'Verified: {info.get(\\\"verified\\\", False)}')\n    print(f'License info: {info}')\nexcept Exception as e:\n    print(f'\u274c License test failed: {e}')\n\"\n\n# Clean up\ndeactivate\nrm -rf test_env\n```\n\n#### Test Installation from PyPI (Future)\n\nOnce published to PyPI:\n\n```bash\n# Create clean environment\npython -m venv test_pypi\nsource test_pypi/bin/activate\n\n# Install from PyPI\npip install hiphops-hook\n\n# Test functionality\nLICENSE_TOKEN=your_token_here python -c \"\nfrom hiphops_hook import license\ninfo = license()\nprint('PyPI package works correctly')\nprint(info)\n\"\n\n# Test with different environment variables\nSKIP_HOOK_DOWNLOAD=true pip install --force-reinstall hiphops-hook\nHIPHOPS_HOOK_BIN=/custom/path python -c \"from hiphops_hook import license\"\n\n# Clean up\ndeactivate\nrm -rf test_pypi\n```\n\n#### Testing Binary Download Process\n\n```bash\n# Test automatic binary download\npython -c \"\nimport os\nimport subprocess\nimport tempfile\n\n# Create temporary directory\nwith tempfile.TemporaryDirectory() as tmpdir:\n    # Install package in clean environment\n    env = os.environ.copy()\n    env['VIRTUAL_ENV'] = tmpdir\n\n    result = subprocess.run([\n        'pip', 'install', 'dist/hiphops-hook-*.tar.gz'\n    ], env=env, capture_output=True, text=True)\n\n    if 'Successfully downloaded hook binary' in result.stdout:\n        print('\u2705 Binary download works correctly')\n    else:\n        print('\u274c Binary download may have issues')\n        print(result.stdout)\n        print(result.stderr)\n\"\n```\n\n### Development Workflow\n\n#### Complete Development Cycle\n\n```bash\n# 1. Make code changes\n# Edit files in hiphops_hook/\n\n# 2. Test locally without installation\nPYTHONPATH=. python scripts/test.py\n\n# 3. Test with editable installation\npip install -e .\npython scripts/test.py\n\n# 4. Build package\npython setup.py sdist\n\n# 5. Test built package in clean environment\npython -m venv test_clean\nsource test_clean/bin/activate\npip install dist/hiphops-hook-*.tar.gz\npython -c \"from hiphops_hook import license; print(license())\"\ndeactivate\nrm -rf test_clean\n\n# 6. Code quality checks\nblack hiphops_hook/ scripts/\nflake8 hiphops_hook/ scripts/\nmypy hiphops_hook/\n```\n\n### Debugging\n\nEnable verbose logging:\n\n```python\nimport logging\nlogging.basicConfig(level=logging.DEBUG)\n\nfrom hiphops_hook import license\ninfo = license()\n```\n\n### Code Quality Tools\n\n```bash\n# Format code (requires black)\npip install black\nblack hiphops_hook/ scripts/\n\n# Lint code (requires flake8)\npip install flake8\nflake8 hiphops_hook/ scripts/\n\n# Type checking (requires mypy)\npip install mypy\nmypy hiphops_hook/\n\n# Install all quality tools\npip install black flake8 mypy\n```\n\n## Publishing to PyPI\n\n### Prerequisites\n\n1. **PyPI Account**: Create account at [pypi.org](https://pypi.org)\n2. **Trusted Publisher**: Configure trusted publisher for `hiphops-hook` on PyPI\n3. **GitHub Environment**: Create `pypi` environment in repository settings\n\n### Automated Publishing (Recommended)\n\nPublishing is automated via GitHub Actions and triggered during the release process:\n\n1. **Individual PyPI publish**: Use `publish-pypi.yml` workflow\n2. **Automatic release publishing**: Both `publish-npm.yml` and `publish-pypi.yml` are triggered automatically during releases\n\nThe workflow automatically:\n- Sets up Python environment\n- Installs dependencies (skips binary download)\n- Builds the package\n- Publishes to PyPI using trusted publishing (no API tokens needed)\n\n### Manual Publishing (Development)\n\nFor testing or manual releases:\n\n```bash\n# Install publishing tools\npip install build twine\n\n# Build the package\npython setup.py sdist\n\n# Check the package (optional but recommended)\ntwine check dist/*\n\n# Publish to TestPyPI (for testing)\ntwine upload --repository testpypi dist/*\n\n# Publish to PyPI (production)\ntwine upload dist/*\n```\n\n### Version Management\n\n- Python package version is synchronized with npm package\n- Version is set in `pyproject.toml` and `setup.py`\n- Must match the Hook binary version for compatibility\n\n## Support\n\nFor issues and questions, please visit: https://github.com/hiphops-io/hook/issues\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Python client for HipHops Hook",
    "version": "0.0.1a38",
    "project_urls": {
        "Homepage": "https://github.com/hiphops-io/hook",
        "Issues": "https://github.com/hiphops-io/hook/issues",
        "Repository": "https://github.com/hiphops-io/hook.git"
    },
    "split_keywords": [
        "hiphops",
        " hook",
        " client"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "88e437d73533ef08ce24a289ba0a3284fe26418346e44ad201d8b4701b9b35d2",
                "md5": "d79489577f2ad87d8fcc11a8ab39df09",
                "sha256": "caaad5a70396ae2ec7f5814cfd49b4dc0e077325e126130899ceb1a688795609"
            },
            "downloads": -1,
            "filename": "hiphops_hook-0.0.1a38-py3-none-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "d79489577f2ad87d8fcc11a8ab39df09",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 2762520,
            "upload_time": "2025-07-10T09:48:56",
            "upload_time_iso_8601": "2025-07-10T09:48:56.123419Z",
            "url": "https://files.pythonhosted.org/packages/88/e4/37d73533ef08ce24a289ba0a3284fe26418346e44ad201d8b4701b9b35d2/hiphops_hook-0.0.1a38-py3-none-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "478fe4521b358be034642402e60bc4a581bf6ffd2a61c87755fb0c7a06acbffd",
                "md5": "26c4e326bd0087720fb6b911dc729e12",
                "sha256": "74e1b5001b7c5b1b4dc3ffa640f176239e436c4494bf7cffcb54697319cef8dc"
            },
            "downloads": -1,
            "filename": "hiphops_hook-0.0.1a38-py3-none-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "26c4e326bd0087720fb6b911dc729e12",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 3033167,
            "upload_time": "2025-07-10T09:48:57",
            "upload_time_iso_8601": "2025-07-10T09:48:57.689793Z",
            "url": "https://files.pythonhosted.org/packages/47/8f/e4521b358be034642402e60bc4a581bf6ffd2a61c87755fb0c7a06acbffd/hiphops_hook-0.0.1a38-py3-none-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1cca2af573e21167b74a2f14dde6c4f208181e88d0ccb71cd8628cbb4924cfd5",
                "md5": "be282430808f676df22f62b25666755f",
                "sha256": "8afac2c63a29b33808a5e55c498dc699ee1c76d1700b61eeb9574395e8d22031"
            },
            "downloads": -1,
            "filename": "hiphops_hook-0.0.1a38-py3-none-manylinux_2_17_aarch64.whl",
            "has_sig": false,
            "md5_digest": "be282430808f676df22f62b25666755f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 2653331,
            "upload_time": "2025-07-10T09:48:59",
            "upload_time_iso_8601": "2025-07-10T09:48:59.255520Z",
            "url": "https://files.pythonhosted.org/packages/1c/ca/2af573e21167b74a2f14dde6c4f208181e88d0ccb71cd8628cbb4924cfd5/hiphops_hook-0.0.1a38-py3-none-manylinux_2_17_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d6e14482f34a73e523a497919bc311d5977ab2fe4cf5e54d8fb4237d3767c541",
                "md5": "a31d00436734bf41ecd0bceed153df17",
                "sha256": "b9ab76f8d24cb3f0bf9c0e7b217a029b3105b9bdf7194a79d33eea5b03f9b9fb"
            },
            "downloads": -1,
            "filename": "hiphops_hook-0.0.1a38-py3-none-manylinux_2_17_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a31d00436734bf41ecd0bceed153df17",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 2938837,
            "upload_time": "2025-07-10T09:49:00",
            "upload_time_iso_8601": "2025-07-10T09:49:00.915065Z",
            "url": "https://files.pythonhosted.org/packages/d6/e1/4482f34a73e523a497919bc311d5977ab2fe4cf5e54d8fb4237d3767c541/hiphops_hook-0.0.1a38-py3-none-manylinux_2_17_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5e178fdd473f8d0b3b8b65fa166abb5c4dd8b407769ab3f26a99a62a71bb00ad",
                "md5": "b988941a864afe5e2f0f18fd20d6f316",
                "sha256": "10b667f87a531449fd9ce106b54ef7271bc766a0e9d2fdc67ccc56651cdcca88"
            },
            "downloads": -1,
            "filename": "hiphops_hook-0.0.1a38-py3-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b988941a864afe5e2f0f18fd20d6f316",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 2982057,
            "upload_time": "2025-07-10T09:49:02",
            "upload_time_iso_8601": "2025-07-10T09:49:02.410935Z",
            "url": "https://files.pythonhosted.org/packages/5e/17/8fdd473f8d0b3b8b65fa166abb5c4dd8b407769ab3f26a99a62a71bb00ad/hiphops_hook-0.0.1a38-py3-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d92ecb5ec8bbbfba7cd85550d914c67555d2264eb311689d121b4732d7fc15fc",
                "md5": "d3bcb742f436b86e52e342cde000004f",
                "sha256": "901841693ee2298538af865c2d5395a1a9f887bc84fc34a55b05d59ca9133f59"
            },
            "downloads": -1,
            "filename": "hiphops_hook-0.0.1a38.tar.gz",
            "has_sig": false,
            "md5_digest": "d3bcb742f436b86e52e342cde000004f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 14812,
            "upload_time": "2025-07-10T09:49:03",
            "upload_time_iso_8601": "2025-07-10T09:49:03.737068Z",
            "url": "https://files.pythonhosted.org/packages/d9/2e/cb5ec8bbbfba7cd85550d914c67555d2264eb311689d121b4732d7fc15fc/hiphops_hook-0.0.1a38.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-10 09:49:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hiphops-io",
    "github_project": "hook",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "hiphops-hook"
}
        
Elapsed time: 2.88300s