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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jentic_apitools_storage-1.0.0a6.tar.gz
Algorithm Hash digest
SHA256 4f8159dd7d3fb7cc928ba07b494a80811ec979e9867e6fbbfb2f22d2d0e3f711
MD5 b72fea6548a85b66c831cc670a1c7d64
BLAKE2b-256 06d87c74b17a0e5a4f79e1a24f84687a0e06bdfd0da843b0811b0d36a17c7ad7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jentic_apitools_storage-1.0.0a6-py3-none-any.whl
Algorithm Hash digest
SHA256 75069062292a43100719d0caa3e20b1b08f306a28fd705ce2d7b6402741964c5
MD5 e526233c8dce8665b35b2bdd8e595ddc
BLAKE2b-256 1a58c9f80fe454e40adcc27f2cf7dad741b4c243d9be0eaf8fd0fef44f377c7a

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