Skip to content

barseghyanartur/fake-py-pathy-storage

Repository files navigation

fake-py-pathy-storage

Pathy storage for fake.py.

PyPI Version Supported Python versions Build Status Documentation Status MIT Coverage

fake-py-pathy-storage is a Pathy storage integration for fake.py - a standalone, portable library designed for generating various random data types for testing.

Features

  • Cloud storages integration includes support for AWS S3, Google Cloud Storage and Azure Cloud Storage.

Prerequisites

Python 3.9+

Installation

pip install fake-py-pathy-storage

Documentation

Usage

Local cloud-alike file system storage

from fake import FAKER
from fakepy.pathy_storage.cloud import PathyFileSystemStorage

STORAGE = PathyFileSystemStorage(
    bucket_name="bucket_name",
    root_path="tmp",  # Optional
    rel_path="sub-tmp",  # Optional
)

pdf_file = FAKER.pdf_file(storage=STORAGE)

STORAGE.exists(pdf_file)

AWS S3

from fake import FAKER
from fakepy.pathy_storage.aws_s3 import AWSS3Storage

STORAGE = AWSS3Storage(
    bucket_name="bucket_name",
    root_path="tmp",  # Optional
    rel_path="sub-tmp",  # Optional
    # Credentials are optional too. If your AWS credentials are properly
    # set in the ~/.aws/credentials, you don't need to send them
    # explicitly.
    credentials={
        "key_id": "YOUR KEY ID",
        "key_secret": "YOUR KEY SECRET"
    },
)

pdf_file = FAKER.pdf_file(storage=STORAGE)

STORAGE.exists(pdf_file)

Google Cloud Storage

from fake import FAKER
from fakepy.pathy_storage.google_cloud_storage import GoogleCloudStorage

STORAGE = GoogleCloudStorage(
    bucket_name="bucket_name",
    root_path="tmp",  # Optional
    rel_path="sub-tmp",  # Optional
)

pdf_file = FAKER.pdf_file(storage=STORAGE)

STORAGE.exists(pdf_file)

Azure Cloud Storage

from fake import FAKER
from fakepy.pathy_storage.azure_cloud_storage import AzureCloudStorage

STORAGE = AzureCloudStorage(
    bucket_name="bucket_name",
    root_path="tmp",  # Optional
    rel_path="sub-tmp",  # Optional
)

pdf_file = FAKER.pdf_file(storage=STORAGE)

STORAGE.exists(pdf_file)

Tests

pytest

Writing documentation

Keep the following hierarchy.

=====
title
=====

header
======

sub-header
----------

sub-sub-header
~~~~~~~~~~~~~~

sub-sub-sub-header
^^^^^^^^^^^^^^^^^^

sub-sub-sub-sub-header
++++++++++++++++++++++

sub-sub-sub-sub-sub-header
**************************

License

MIT

Support

For security issues contact me at the e-mail given in the Author section.

For overall issues, go to GitHub.

Author

Artur Barseghyan <[email protected]>