Skip to main content

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

Project description

Home of hog ☀️🦫🕳️

Groundhog Logo

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(). Can also parse CLI arguments (example).
  • The desired remote Python environment (version and dependencies) is specified alongside your code via PEP 723 metadata. You don't manage any remote state.
# /// 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.9.0.tar.gz (41.8 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.9.0-py3-none-any.whl (56.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: groundhog_hpc-0.9.0.tar.gz
  • Upload date:
  • Size: 41.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","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.9.0.tar.gz
Algorithm Hash digest
SHA256 48dec1daa49fa2730e9b5bc09b6df7878f0f98fef4d9f5d2dd1cb9778e966812
MD5 febda87cba3ac63605718ff4716091cb
BLAKE2b-256 43246466bc9e1fb8c0a766d50d5166b2ef063d444ca5b6d19eb7b8c003f7844f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: groundhog_hpc-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 56.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","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.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3c6641297110ce0fc264cc0ac097c482d3f50a680377a4e938e20063757d7aad
MD5 f95ae2edc4855dbd7f521fe3268da060
BLAKE2b-256 55f7aa4878d246585c8b0e4d2cbd6bcf6457e156ee98d5e4ee847f4115ed7f36

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