Skip to main content

Container management library with backend abstraction for sandboxed execution

Project description

Podkit - Simple Container Management Library

A Python library for sandboxed execution in Docker containers with backend abstraction (Kubernetes-ready)

Features

  • Backend Abstraction: Works with Docker initially, designed for easy Kubernetes migration
  • Container Management: Container operations
  • Session Management: Track user sessions with container lifecycle management

Development Setup

Prerequisites

  • Docker
  • uv

Installation

./scripts/install.sh

Running Tests

Integration Tests (Recommended)

Run tests in Docker container (most realistic):

./scripts/test.sh

This will:

  1. Build the test runner container with all dependencies
  2. Mount the Docker socket and test workspace
  3. Run pytest with the integration tests
  4. Clean up automatically

Local Testing (Development)

For faster iteration during development:

# Start test container and keep it running
docker-compose run --rm test-runner bash

# Inside the container, run tests
pytest tests/integration/test_integration_happy_path.py -v

# Or run specific tests
pytest tests/integration/test_integration_happy_path.py::TestPodkitIntegrationHappyPath::test_01_backend_initialized -v

Linting

./scripts/lint.sh         # Check only
./scripts/lint.sh --fix   # Auto-fix issues

This runs ruff and pylint for code checking and formatting.

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

podkit-0.1.0.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

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

podkit-0.1.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file podkit-0.1.0.tar.gz.

File metadata

  • Download URL: podkit-0.1.0.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for podkit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 30bf881d0ebc2c67c8edccefb76434775c04e2c5e59d8e6494e759f2204fc31a
MD5 0bbfc7a347fa57616250cc4fe80efb19
BLAKE2b-256 47737a32da3342910252c2c37c42cc4f101f8f8802a58fc32c594658abe0994e

See more details on using hashes here.

File details

Details for the file podkit-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: podkit-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for podkit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cf4a2d3bd545a1036917489da9a7dbf5b90d92a36e85ab5685b172b546ab25d8
MD5 5dceea6b1bd7cee68403571841bb4cae
BLAKE2b-256 6e7d838a5d05ebaefcc3350250d9a46ae66b67e97bdd4b8eb6e81e09846852f9

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