Skip to main content

Jentic Apitools Storage - Plugin architecture for storing OpenAPI artifacts in different backends

Project description

Jentic API Tools - Storage

Pluggable storage backends for persisting OpenAPI pipeline artifacts to filesystem, S3, GitHub repositories, or SQL databases.

Key Features

The storage package provides a StorageBackend abstract base class implemented by four backends: FilesystemStorage (default), S3Storage, GitHubStorage, and DatabaseStorage. A StorageContext context manager handles the lifecycle of temporary working directories during pipeline processing and persists results to the configured backend on exit. Helper functions create storage contexts from request metadata or environment variables, with fallback support. S3, GitHub, and database backends are imported on demand to avoid requiring their dependencies when unused.

Dependencies

Internal: jentic.apitools.common. External: sqlalchemy, PyGithub. Optional: boto3 (for S3).

Installation

pip install jentic-apitools-storage

Quick Start

from jentic.apitools.storage import StorageConfig, StorageType, StorageContext

config = StorageConfig(storage_type=StorageType.FILESYSTEM, base_path="./artifacts")
with StorageContext(config) as ctx:
    # Pipeline writes to ctx.working_dir
    pass

Testing

pytest tests -v

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

jentic_apitools_storage-1.0.0a5.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

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

jentic_apitools_storage-1.0.0a5-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

Details for the file jentic_apitools_storage-1.0.0a5.tar.gz.

File metadata

File hashes

Hashes for jentic_apitools_storage-1.0.0a5.tar.gz
Algorithm Hash digest
SHA256 90deaa1ba39c96a8294fbf750bc81eb5c4fb1dede0ab14032ab1eee98f8c3dd9
MD5 ebeec64526aca3e5e34b55ba388b17b6
BLAKE2b-256 631fb3c3cd05c2e9d753a350e23426ab7fbe44d6687b9144a25ce3d8e9f16601

See more details on using hashes here.

File details

Details for the file jentic_apitools_storage-1.0.0a5-py3-none-any.whl.

File metadata

File hashes

Hashes for jentic_apitools_storage-1.0.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 977b0db548f297cfc90eb6aece34346cc6b46f6735a009d520d721edafce30e3
MD5 7d9f4a173fa26287c4b4eeaa5e73d2d1
BLAKE2b-256 c835a49dfbe2f42e43e6a22ea8a2749d2b8c11329aa82f8c162ac15b3376c7fd

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