faker-file¶
Generate fake files
Prerequisites¶
All of core dependencies of this package are MIT licensed. Most of optional dependencies of this package are MIT licensed, while a few are BSD- or Apache 2 licensed. All licenses are mentioned below between the brackets.
Core package requires Python 3.7, 3.8, 3.9, 3.10 and 3.11.
Django
(BSD) integration withfactory_boy
(MIT) has been tested withDjango
2.2, 3.0, 3.1, 3.2, 4.0 and 4.1.DOCX
file support requirespython-docx
(MIT).ICO
,JPEG
,PNG
,SVG
andWEBP
files support requiresimgkit
(MIT).PDF
file support requirespdfkit
(MIT).PPTX
file support requirespython-pptx
(MIT).ODS
file support requirestablib
(MIT) andodfpy
(Apache 2).XLSX
file support requirestablib
(MIT) andopenpyxl
(MIT).
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
ODS
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
- When using with
Faker
- One way
- Prerequisites
- Create a TXT file with static content
- Create a DOCX file with dynamically generated content
- Create a ZIP file consisting of TXT files with static content
- Create a ZIP file consisting of 3 DOCX files with dynamically generated content
- Create a ZIP file which contains 5 ZIP files which contain 5 ZIP files which contain 5 DOCX files
- Or another
- One way
- When using with
Django
(andfactory_boy
)
- When using with
- 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_ods_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()
create_inner_zip_file()
- Module contents
- faker_file.tests package
- faker_file.providers package
- Submodules
- faker_file.base module
- faker_file.constants module
- faker_file.helpers module
- Module contents
- Subpackages
- faker_file package
- Indices and tables
- Quick start
- Recipes
- When using with
Faker
- One way
- Prerequisites
- Create a TXT file with static content
- Create a DOCX file with dynamically generated content
- Create a ZIP file consisting of TXT files with static content
- Create a ZIP file consisting of 3 DOCX files with dynamically generated content
- Create a ZIP file which contains 5 ZIP files which contain 5 ZIP files which contain 5 DOCX files
- Or another
- One way
- When using with
Django
(andfactory_boy
)
- When using with
- 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_ods_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()
create_inner_zip_file()
- Module contents
- faker_file.tests package
- faker_file.providers package
- Submodules
- faker_file.base module
- faker_file.constants module
- faker_file.helpers module
- Module contents
- Subpackages
- faker_file package