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.2.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.2-py3-none-any.whl (52.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: groundhog_hpc-0.7.2.tar.gz
  • Upload date:
  • Size: 38.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","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.2.tar.gz
Algorithm Hash digest
SHA256 542de99d28e369db5aebf07d0b84433275207643ef3c9be799e67f6ff8c464eb
MD5 24eba1ccd40a0bbb316fdde79fafa04e
BLAKE2b-256 21e725ca0aaef4a0087be9a910a0b7f279a43e6e1c4aa5904284132d1a24edfd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: groundhog_hpc-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 52.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2e69118c448048e74c3211828a4d7774c43e7b7415d993051dd96f9640ddb070
MD5 c0dafc166bf3f071f0b6acd65064ef4e
BLAKE2b-256 2e19acc35dacbb04abbbda25aaff73851dfd74a8e1fba4270cd4b9e1602e3b03

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