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.0a12.tar.gz (17.2 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.0a12-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jentic_apitools_storage-1.0.0a12.tar.gz
Algorithm Hash digest
SHA256 d5a63ddf4316c35c9b7c5c26dbae70ccbe3e23e504bc636f40fcf35d9a32e489
MD5 3f7d1cb41dddbcf3f15bd82da782c8cc
BLAKE2b-256 cd7fcb9fe2461c4d5e0a1b63bbd466a13a21d25b551f885f08ba8a30f4efd6f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jentic_apitools_storage-1.0.0a12-py3-none-any.whl
Algorithm Hash digest
SHA256 b77da688b933c06e3908fc73b0f5886af762b55c84e712f579990b095baeb52d
MD5 540799391cff1bf609dfc25e406db5f9
BLAKE2b-256 dec2efe415f74d925c638ba51fe433d9235ed60a6894de1f6f6f2aa551cfa154

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