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

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

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

This version

0.3

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.3.tar.gz (41.4 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.3-py2.py3-none-any.whl (25.3 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: faker-file-0.3.tar.gz
  • Upload date:
  • Size: 41.4 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.3.tar.gz
Algorithm Hash digest
SHA256 83f7d45f9ce31f82471af2527e130c4cf9ae3f4d420fea87581a92c5f73c3096
MD5 f1ffa7d0c50ff537be6ff4b67740d002
BLAKE2b-256 5df5b70d1a0082127458ee325c3abae148e608f01a0e76fb55926e9eca3f7a0f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: faker_file-0.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 25.3 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.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1dc40e217d13d576b4b21319e4964eb6e9accb5d3f6d7422db0ff32666791c5a
MD5 e523637bbda0115192f8c7e5074288c2
BLAKE2b-256 90b7cc86136af57c1ae1dd5a2cda282fe95121a6590531444e5b4014f8e8b665

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