Skip to main content

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

Project description

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

uv add 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

uv run --package storage pytest packages/storage/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-0.0.0a9.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-0.0.0a9-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jentic_apitools_storage-0.0.0a9.tar.gz
Algorithm Hash digest
SHA256 debc6ebebaae1b38a22f1832c684233c1dc9b6fffb978e0c2193b40d2a58fe12
MD5 5e7a9392305b154b7523333af4428f59
BLAKE2b-256 e9a76891dcaef0651156c1129b265b17a74a970b2aed9ea99b0341a309fc5beb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jentic_apitools_storage-0.0.0a9-py3-none-any.whl
Algorithm Hash digest
SHA256 647c1aaafad69dd57fcf30eae3cffc685905c457432a26e865cbffd19306dcdf
MD5 bd800e54eb7be1bc3d4a319a84dec334
BLAKE2b-256 9fa2afa2ce20f8efe5d2447b8362784108f907570563f5af6749729bc6efac80

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