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.10"
# dependencies = ["numpy"]
# ///

import groundhog_hpc as hog

@hog.function(endpoint="your-endpoint-id", account="your-account")
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/README.md

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.5.6.tar.gz (32.3 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.5.6-py3-none-any.whl (45.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: groundhog_hpc-0.5.6.tar.gz
  • Upload date:
  • Size: 32.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","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.5.6.tar.gz
Algorithm Hash digest
SHA256 cc5a25c0dfc6a0ddc641e631cc7dae1466e81b8f24984f102eb8300cf6340b42
MD5 6bb2104c374620268e3dd06604ffbe53
BLAKE2b-256 5ae7adf855aaded946d2cff12851320c7b53114fed40d4b833efaf0081bc3aea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: groundhog_hpc-0.5.6-py3-none-any.whl
  • Upload date:
  • Size: 45.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","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.5.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d6347031c1f779e24379fd9619ca59dc2dce8df521fcd0c6cb51b00a7e807eab
MD5 b274f0608b967e8db897c0884425ba76
BLAKE2b-256 7c13702590a7f6064c01609379225c678b42e6c1a56e72e85a8d14a23ec9213a

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