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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jentic_apitools_storage-1.0.0a20.tar.gz
Algorithm Hash digest
SHA256 100b14d57eed9733e9a922c904e5c8f2778d49d4921f6c5d707a5ec2c6a400a2
MD5 462f50adbbefb62f39e2bbd5d6465790
BLAKE2b-256 50344bbfb242d3e0907cefa56f2b94006be61fd080e51db3a0af2124abfb0fa9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jentic_apitools_storage-1.0.0a20-py3-none-any.whl
Algorithm Hash digest
SHA256 33a35920a5d69e85d85fe4f494ec9b132d52e45a83c00b334db1a65f6894951b
MD5 29a8ab123429ff9f6c25e44bcbb8eacc
BLAKE2b-256 89a00544895467846b5ffe3d1684358ea4a64bdf7569a5d02a1a830c8cb38f9c

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