Skip to main content

Iterative HPC function development. As many 'first tries' as you need.

Project description

Home of hog ☀️🦫🕳️

Quickstart

Groundhog makes it easy to run, tweak, and re-run python functions on HPC clusters via Globus Compute using simple decorators.

Groundhog automatically manages remote environments (powered by uv)—just update Python versions or dependencies in your script, no SSH needed.

Key concepts:

  • @hog.function() - Configures a function to run on a Globus Compute endpoint. Decorator kwargs (like endpoint, account) become the default user_endpoint_config.
  • @hog.harness() - Marks a local entry point that orchestrates remote calls via .remote() or .submit().
  • The desired remote Python environment (version and dependencies) is specified alongside your code via PEP 723 metadata.
# /// script
# requires-python = ">=3.12,<3.13"
# dependencies = [
#     numpy,
# ]
#
# [tool.hog.tutorial]  # Globus Compute Tutorial Endpoint
# endpoint = "4b116d3c-1703-4f8f-9f6f-39921e5864df"
#
# ///

import groundhog_hpc as hog

@hog.function(endpoint='tutorial') # points to [tool.hog.tutorial] config
def compute(x: int) -> int:
    import numpy as np
    return int(np.sum(range(x)))

@hog.harness()
def main():
    result = compute.remote(100)
    print(result)

Run with: hog run myscript.py main


see also: examples

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

groundhog_hpc-0.7.1.tar.gz (38.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

groundhog_hpc-0.7.1-py3-none-any.whl (52.8 kB view details)

Uploaded Python 3

File details

Details for the file groundhog_hpc-0.7.1.tar.gz.

File metadata

  • Download URL: groundhog_hpc-0.7.1.tar.gz
  • Upload date:
  • Size: 38.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for groundhog_hpc-0.7.1.tar.gz
Algorithm Hash digest
SHA256 033933ac3a3a6470f1aea5d382a9b9890951e3d479dbd05d2dd9cf4955d6a938
MD5 fa89b9e2d8064e5ccfae367bce00690a
BLAKE2b-256 3c3d6ab2e485fbcb1b7e3c984539f980599f66a0cb048645413d35ef90022fde

See more details on using hashes here.

File details

Details for the file groundhog_hpc-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: groundhog_hpc-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 52.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for groundhog_hpc-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 87f72d26f3ac29471ae33bdb74a1eb63599d05c5728c59aaaa7282ea9f4e2835
MD5 3ab3ae78860c6891b78bef2c2c5d2afe
BLAKE2b-256 917490ea64ac787231bdd47797360429026aafa2bba481f9b617a365be2861af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page