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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jentic_apitools_storage-1.0.0a9.tar.gz
Algorithm Hash digest
SHA256 0d85f918661bda2b7da19db7a5a36a45a87f603ee5e7b1a4d185a305aba5071d
MD5 c6995137427e7b65d678f925f576e896
BLAKE2b-256 7e2643c3546da5c2779147f7e002d4433d92d3ca89cf0a4ee2382829a91c0473

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jentic_apitools_storage-1.0.0a9-py3-none-any.whl
Algorithm Hash digest
SHA256 e1de6562b37c6c04ac6177fa95582445f03f24d17f541d1ce7723cd7c6f14e58
MD5 a1d8ec681e6280b73fd3eccccda8ccbb
BLAKE2b-256 44000474f34f71e212a028544956f040b686fd9db384a6783efdf717c8c0f6af

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