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

Uploaded Python 3

File details

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

File metadata

  • Download URL: which_runtime-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 14aba7937d86a45e30b10a44aad42f48b40362547807afc633e69115666b1ff0
MD5 124cbd052518386348d03bbc1e1523dc
BLAKE2b-256 bd08ce80f114dae5239f00a2a653ec5a255a21937fdda009c903dbdb1515d574

See more details on using hashes here.

File details

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

File metadata

  • Download URL: which_runtime-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 12.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7660a790b9ddff538972d2707b6ab994c9fa197ebdbf7e0efc54029035f0ffda
MD5 a45904bdc5b0584c91d62b63b0e1aa5b
BLAKE2b-256 e431565960386d016e2bc5c206cf2a9aed10b7f092af145a3a6457e63573befc

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