Skip to main content

Generate fake files.

Project description

Generate fake files

PyPI Version Supported Python versions Build Status Documentation Status MIT Coverage

Prerequisites

  • Core package requires Python 3.7, 3.8, 3.9, 3.10 and 3.11.

  • Django integration (with factory_boy) has been tested with Django 2.2, 3.0, 3.1, 3.2, 4.0 and 4.1.

  • DOCX file support requires python-docx.

  • ICO, JPEG, PNG, SVG and WEBP files support requires imgkit.

  • PDF file support requires pdfkit.

  • PPTX file support requires python-pptx.

Documentation

Documentation is available on Read the Docs.

Installation

Latest stable version on PyPI:

pip install faker-file[all]

Or development version from GitHub:

pip install https://github.com/barseghyanartur/faker-file/archive/main.tar.gz

Supported file types

  • DOCX

  • ICO

  • JPEG

  • PDF

  • PNG

  • PPTX

  • SVG

  • TXT

  • WEBP

  • ZIP

Usage examples

Standalone

from faker_file.providers.txt_file import TxtFileProvider

file = TxtFileProvider(None).txt_file()

With Faker

from faker import Faker
from faker_file.providers.txt_file import TxtFileProvider

FAKER = Faker()
FAKER.add_provider(TxtFileProvider)

file = FAKER.txt_file()

With factory_boy

upload/models.py

from django.db import models

class Upload(models.Model):

    # ...
    upload = models.FileField()

upload/factory.py

Note, that when using faker-file with Django, you need to pass your MEDIA_ROOT setting as root_path value (which is by default set to tempfile.gettempdir()).

import factory
from django.conf import settings
from factory import Faker
from factory.django import DjangoModelFactory
from faker_file.providers.docx_file import DocxFileProvider

from upload.models import Upload

factory.Faker.add_provider(DocxFileProvider)

class UploadFactory(DjangoModelFactory):

    # ...
    file = Faker("docx_file", root_path=settings.MEDIA_ROOT)

    class Meta:
        model = Upload

Testing

Simply type:

pytest -vvv

Or use tox:

tox

Or use tox to check specific env:

tox -e py310-django41

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 any security issues contact me at the e-mail given in the Author section.

For overall issues, go to GitHub.

Author

Artur Barseghyan <artur.barseghyan@gmail.com>

Project details


Release history Release notifications | RSS feed

This version

0.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

faker-file-0.2.tar.gz (44.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

faker_file-0.2-py2.py3-none-any.whl (20.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file faker-file-0.2.tar.gz.

File metadata

  • Download URL: faker-file-0.2.tar.gz
  • Upload date:
  • Size: 44.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for faker-file-0.2.tar.gz
Algorithm Hash digest
SHA256 f0f36db43bb2775c5687300bc24a6584bc364ef9bead86062863996cd7a1e090
MD5 77118af8512799d33b36b51b63fbec34
BLAKE2b-256 0ea7468f52b6aabd5325e485c21c6a8068917302da0f1f91cb803b92c0e334ca

See more details on using hashes here.

File details

Details for the file faker_file-0.2-py2.py3-none-any.whl.

File metadata

  • Download URL: faker_file-0.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for faker_file-0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 523ca543c7c76f8fa77e83aab93bd051388a2a2d47a2d07258bd2f41009813be
MD5 c84d529de81b3b4250f74095ca91d2f4
BLAKE2b-256 6035c4d93eac83da48691569a2eb0d28bdeb16e9bc89d9c6ab66bd26b9006d39

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