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.

  • XLSX file support requires openpyxl.

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

  • BIN

  • CSV

  • DOCX

  • ICO

  • JPEG

  • PDF

  • PNG

  • PPTX

  • SVG

  • TXT

  • WEBP

  • XLSX

  • ZIP

Usage examples

With Faker

One way

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

FAKER = Faker()

file = TxtFileProvider(FAKER).txt_file()

Or another

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):

    # ...
    file = 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

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.4.tar.gz (42.1 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.4-py2.py3-none-any.whl (24.1 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: faker-file-0.4.tar.gz
  • Upload date:
  • Size: 42.1 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.4.tar.gz
Algorithm Hash digest
SHA256 01f08a3b11585108882310a740ccdcbe88f5b7a22e814737b2b5fdf11013ef34
MD5 6eb0d3d2f2ee802ebf8a8448c0573f7b
BLAKE2b-256 9f44770e50c2041e65e54ffe05208a5cd8206b7b0d58a2d82144ee3001225a50

See more details on using hashes here.

File details

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

File metadata

  • Download URL: faker_file-0.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 24.1 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.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 caded1ab56f1d2a37449e49eaa81835f5889f611a97626bf6930ca896c6f2ee3
MD5 f07a0c4bf87011030e505f58ccfaff87
BLAKE2b-256 4b202a2b1dac5e41780a52513bdcb0abde62184f1b3302e42f761cf3f5b53ea4

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