faker-file¶
Generate fake files
Prerequisites¶
Core package requires Python 3.7, 3.8, 3.9, 3.10 and 3.11.
Django
integration (withfactory_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.
Project documentation¶
Contents:
- faker-file
- Prerequisites
- Documentation
- Installation
- Supported file types
- Usage examples
- Testing
- Writing documentation
- License
- Support
- Author
- Project documentation
- Quick start
- Recipes
- Release history and notes
- Package
- faker_file package
- Subpackages
- faker_file.providers package
- Submodules
- faker_file.providers.bin_file module
- faker_file.providers.csv_file module
- faker_file.providers.docx_file module
- faker_file.providers.ico_file module
- faker_file.providers.jpeg_file module
- faker_file.providers.pdf_file module
- faker_file.providers.png_file module
- faker_file.providers.pptx_file module
- faker_file.providers.svg_file module
- faker_file.providers.txt_file module
- faker_file.providers.webp_file module
- faker_file.providers.xlsx_file module
- faker_file.providers.zip_file module
ZipFileProvider
create_inner_bin_file()
create_inner_csv_file()
create_inner_docx_file()
create_inner_ico_file()
create_inner_jpeg_file()
create_inner_pdf_file()
create_inner_png_file()
create_inner_pptx_file()
create_inner_svg_file()
create_inner_txt_file()
create_inner_webp_file()
create_inner_xlsx_file()
- Module contents
- faker_file.tests package
- faker_file.providers package
- Submodules
- faker_file.base module
- faker_file.constants module
- faker_file.content_generators module
- faker_file.helpers module
- Module contents
- Subpackages
- faker_file package
- Indices and tables
- Quick start
- Recipes
- Release history and notes
- Package
- faker_file package
- Subpackages
- faker_file.providers package
- Submodules
- faker_file.providers.bin_file module
- faker_file.providers.csv_file module
- faker_file.providers.docx_file module
- faker_file.providers.ico_file module
- faker_file.providers.jpeg_file module
- faker_file.providers.pdf_file module
- faker_file.providers.png_file module
- faker_file.providers.pptx_file module
- faker_file.providers.svg_file module
- faker_file.providers.txt_file module
- faker_file.providers.webp_file module
- faker_file.providers.xlsx_file module
- faker_file.providers.zip_file module
ZipFileProvider
create_inner_bin_file()
create_inner_csv_file()
create_inner_docx_file()
create_inner_ico_file()
create_inner_jpeg_file()
create_inner_pdf_file()
create_inner_png_file()
create_inner_pptx_file()
create_inner_svg_file()
create_inner_txt_file()
create_inner_webp_file()
create_inner_xlsx_file()
- Module contents
- faker_file.tests package
- faker_file.providers package
- Submodules
- faker_file.base module
- faker_file.constants module
- faker_file.content_generators module
- faker_file.helpers module
- Module contents
- Subpackages
- faker_file package