Skip to main content

A Python library to detect and manage different computational runtime environments with ease.

Project description

Documentation Status https://github.com/MacHu-GWU/which_runtime-project/actions/workflows/main.yml/badge.svg https://codecov.io/gh/MacHu-GWU/which_runtime-project/branch/main/graph/badge.svg https://img.shields.io/pypi/v/which-runtime.svg https://img.shields.io/pypi/l/which-runtime.svg https://img.shields.io/pypi/pyversions/which-runtime.svg https://img.shields.io/badge/✍️_Release_History!--None.svg?style=social&logo=github https://img.shields.io/badge/⭐_Star_me_on_GitHub!--None.svg?style=social&logo=github
https://img.shields.io/badge/Link-API-blue.svg https://img.shields.io/badge/Link-Install-blue.svg https://img.shields.io/badge/Link-GitHub-blue.svg https://img.shields.io/badge/Link-Submit_Issue-blue.svg https://img.shields.io/badge/Link-Request_Feature-blue.svg https://img.shields.io/badge/Link-Download-blue.svg

Welcome to which_runtime Documentation

https://which-runtime.readthedocs.io/en/latest/_static/which_runtime-logo.png

In modern software development, especially in cloud and DevOps environments, the same codebase often runs across multiple runtime environments. The which_runtime library provides a powerful, centralized solution for detecting and managing different computational contexts.

What is a Runtime?

A runtime is a specific computational environment where your code executes. This could be:

  • Local development machine

  • Cloud environments (AWS Lambda, EC2, Batch)

  • Continuous Integration (CI) platforms (GitHub Actions, CodeBuild)

  • Development environments (Cloud9)

  • Containerized environments

Why Runtime Detection Matters

Different runtimes often require different configurations and behaviors:

  • Authentication methods vary (local AWS CLI profiles vs. IAM roles)

  • Resource access differs between environments

  • Logging and monitoring approaches change

  • Environment-specific optimizations

Key Features

  • Detect runtime environment with simple boolean checks

  • Support for multiple runtime types (local, cloud, CI)

  • Lightweight and easy to integrate

  • Helps create adaptive, environment-aware code

Quick Example

from which_runtime.api import runtime

if runtime.is_aws_lambda:
    # Lambda-specific configuration
    use_lambda_credentials()
elif runtime.is_local:
    # Local development setup
    use_local_aws_profile()

Install

which_runtime is released on PyPI, so all you need is to:

$ pip install which-runtime

To upgrade to latest version:

$ pip install --upgrade which-runtime

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

which_runtime-0.1.1.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

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

which_runtime-0.1.1-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file which_runtime-0.1.1.tar.gz.

File metadata

  • Download URL: which_runtime-0.1.1.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for which_runtime-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c2aae9687d7eca2fe309c00afdd4706fdd087460d1c76d267ff7f4ffa14c1337
MD5 08dd524b6baebcafbb91c84afe72f37b
BLAKE2b-256 203baeaff3895103825093cb7834e82b6491a1b2d5d207db310fbf2cc145140a

See more details on using hashes here.

File details

Details for the file which_runtime-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: which_runtime-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for which_runtime-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f388ce3fed502831536f8fb2e13485bc652bfc6b0c44b9b69080480904a4bffa
MD5 fdaf3d8977adb64cf44dd3d1936155e9
BLAKE2b-256 fc5fcb54a5d257b98ba192eb5ad3cb827fab25d8682ff94362eebe5603c08472

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