Release history and notes
Sequence based identifiers are used for versioning (schema follows below):
major.minor[.revision]
It’s always safe to upgrade within the same minor version (for example, from 0.3 to 0.3.4).
Minor version changes might be backwards incompatible. Read the release notes carefully before upgrading (for example, when upgrading from 0.3.4 to 0.4).
All backwards incompatible changes are mentioned in this document.
0.19.1
2026-03-09
Fix
XmlFileProviderto properly escape XML special characters (&,<,>,",') in template-generated content.
0.19
2026-03-08
Deprecated NLPAug- and TextAugment-based augmenters, as both libraries seem to have pour support with modern Python versions. Introduced a simple FakerWordAugmenter as a default text-augmenter, with no additional dependencies.
Tested against Python 3.13.
0.18.4
2025-05-09
Enhance customisation of
eml_fileprovider.
0.18.3
2025-05-07
Correct guessing of mimetypes in
eml_fileprovider.
0.18.2
2025-05-03
Switch to pytest-codeblock for testing documentation codeblocks.
Move pytest, mypy and coverage configuration to pyproject.toml.
Update jsphinx to the latest version.
0.18.1
2025-03-12
Tested against Django 5.1.
Minor documentation fixes.
0.18
2025-03-10
Drop Python 3.7 and 3.8 support.
Add Python 3.12 support.
Add
pathy==0.11.xsupport.Prepare to support more cloud-pathlib alternatives (like cloudpathlib), next to existing pathy.
0.17.14
2024-11-14
Minor fixes.
0.17.13
2024-10-30
Upgrade Pillow related code to work with Pillow>=9.1.0 (tested with 10.x and 11.x).
Drop EOL Python 3.8 support.
0.17.12
2024-09-10
Minor fixes.
0.17.11
2023-11-20
Minor documentation fixes.
0.17.10
2023-11-19
Make
text_extractor_clsandtext_augmenter_clsarguments of theAugmentFileFromDirProviderprovider access string values (to load requested class from path given).Add
TextaugmentAugmenterbased on textaugment package (very lightweight) and make it a default text augmenter.Minor documentation fixes.
Optimized GitHub CI.
0.17.9
2023-10-10
Improvements and fixes in the documentation.
Announcing feature plans to change default PDF and Image generators to Pillow based ones, instead of wkhtmltopdf in version 0.18.
0.17.8
2023-09-21
Note
This release is dedicated to the victims of the war in Artsakh (Nagorno-Karabakh), a land now lost to its native inhabitants (Armenians). Following a grueling nine-month blockade, Azerbaijan initiated another military onslaught on September 19, 2023. The already weakened and outnumbered forces of Artsakh could no longer mount an effective resistance.
Added support for
DynamicTemplateto all non-graphic image providers. That means, that you can produce images with text, tables, various headings and other images. Correspondent snippets are implemented for all supported image generators; namely reportlab, WeasyPrint and Pillow.
0.17.7
2023-09-12
Added
GTTS_MP3_GENERATORandEDGE_TTS_MP3_GENERATORto themp3_fileprovider import options.
0.17.6
2023-09-09
Added
add_paragraph,add_picture,add_heading_h1and other heading helpers topil_snippetscontrib module.
0.17.5
2023-08-22
Note
This release might introduces minor backwards incompatible changes only
if you have written own- or customized existing- image providers and used
them in combination with WeasyPrint-based image generator. A new
property named image_format has been added to all image-based
providers and the WeasyPrintImageGenerator is using that instead
of formerly used extension property.
Added
PilImageGenerator(for text-to-image).Added
PilPdfGenerator(for text-to-image).
0.17.4
2023-08-18
Note
Release is dedicated to the victims and de-facto hostages of the Blockade of the Republic of Artsakh. Have you ever heard of Armenian genocide? It’s happening again. For more than 8 months, Azerbaijan has launched an illegal blockade of the Republic of Artsakh, including critical civilian infrastructure such as gas, electricity and roads connecting Armenia and Artaskh. Shortages of essential goods – including electricity, fuel, and water reserves – are widespread and emergency reserves are being rationed. The blockade has resulted in significant medical and food shortages in Artsakh, leading to increased health complications, as reported by Artsakh Healthcare ministry.
Deaths due to cardiovascular diseases doubled in the first seven months of the year, with a particular surge in July-August.
Deaths from malignant tumors rose by 15.9% over the same period due to lack of medications and medical aid.
New cases of stroke and heart attacks increased by 26% and 9.7% respectively.
Newly diagnosed cases of malignant tumors rose by 24.3%.
Around 90% of monitored pregnant women developed anemia from poor nutrition and medication shortages.
While overall abortion numbers remained stable, medically indicated abortions quadrupled in July due to factors like stress and inadequate nutrition.
Reports of fainting surged by 91% in July-August.
Emergency calls for high blood pressure saw a 5.6-fold increase in July-August.
The dire health outcomes are attributed to the blockade’s impact, including medication shortages, stress, disrupted medical procedures, and restricted healthcare access. The Artsakh Health Ministry warns of further deterioration if the blockade continues, emphasizing the systemic challenges in healthcare delivery due to the blockade.
Added
AugmentRandomImageFromDirProviderandAugmentImageFromPathProviderproviders for basic image augmentation.Added
storageto metadata for all providers for easy clean-up of files.Added
unlinkmethod to all storages for easy clean-up of files.Added
FileRegistryto keep track of all files created and introduce functionality for cleaning up the files.Stop testing against Python 3.7.
0.17.3
2023-08-02
Note
In memory of Sinead O’Connor.
Allow to pass
imageargument (bytes) to the contribadd_picturefunctions.Documentation improvements.
0.17.2
2023-07-25
Added
JSONfile provider.
0.17.1
2023-07-21
Added
WeasyPrintImageGeneratorimage generator class based on WeasyPrint and pdf2image packages.Added
BMP,TIFFandGIFfile providers (both text-to-image and graphic ones). Note, that above mentioned text-to-image providers are usingWeasyPrintImageGeneratoras a default image generator class, sinceImagekitImageGeneratorclass isn’t capable of supporting the above mentioned file formats.Added more helper functions for
DynamicTemplateuse for ODT, PDF and DOCX file providers to support h1, h2, h3, h4, h5 and h6 headings.
0.17
2023-07-12
Note
Release is dedicated to the victims and de-facto hostages of the Blockade of the Republic of Artsakh. Have you ever heard of Armenian genocide? It’s happening again and the world silently watches.
Introducing graphic image providers. Prior to this release, images have been created using text-to-image solutions. Sometimes it’s just handy to have a graphic image. Therefore, a number of graphic image file providers have been created (including inner functions support). The following graphic file providers have been added:
GraphicIcoFileProvider,GraphicJpegFileProvider,GraphicPdfFileProvider,GraphicPngFileProviderandGraphicWebpFileProviderto support creation of graphicICO,JPEG,PDF,PNGandWEBPfiles.The previously mentioned text-to-image rendering has been delegated to image generators. Default generator is still based on the imgkit, but the change makes it possible to use custom generators.
0.16.4
2023-07-01
Documentation improvements. Added a dedicated section for creating ODT files.
Adding
add_paragraphandadd_page_breaktoODTcontrib module.
0.16.3
2023-06-30
Documentation improvements. Added a dedicated section for creating PDF files. Added a dedicated section for creating DOCX files.
Adding
add_paragraphandadd_page_breaktoDOCXcontrib module.
0.16.2
2023-06-28
Moving some of the snippets from tests to a
contribmodule to improve usability. The snippets are generic enough to be used in tests and if you don’t like the way they work, you could always make a new one. New snippets to insert page breaks and paragraphs into PDF (using both pdfkit and reportlab generators) have been added.
0.16.1
2023-06-23
Better error handling in CLI.
0.16
2023-06-21
Note
This release is dedicated to my beloved son - Tigran, who turned 11!
Note
This release introduces minor backwards incompatible changes.
Minor improvements in PDF generation. If you have been using
DynamicTemplateto generate complex PDFs, you are likely affected by the change. Make sure to at least add an additional argument namedgeneratorto the functions passed to theDynamicTemplateclass. See the example below:Old:
def add_pb(provider, story, data, counter, **kwargs):New:
def add_pb(provider, generator, story, data, counter, **kwargs):Add code examples of how to generate a PDF with 100 pages with both
PdfkitPdfGeneratorandReportlabPdfGeneratorPDF generator classes.Add
versionCLI command.Add
generate-completionandversioncommands to the CLI auto-completion.
0.15.5
2023-06-18
Minor fixes and documentation improvements.
0.15.4
2023-06-15
Improved
SFTPStoragetests.Stop testing against Python 3.7.
Stop testing against Django 4.0.
0.15.3
2023-06-14
Add
SFTPStorageand correspondent tests.
0.15.2
2023-06-08
Add optional
subjectargument to theEmlFileProvider. Update tests accordingly.Add data integrity tests.
0.15.1
2023-06-06
Added
FileFromPathProviderprovider, which simply picks a file from path given. Add correspondentcreate_inner_file_from_pathinner function.
0.15
2023-06-05
Added
format_funcargument to most of the providers. This allows to control which formatter function will be used as a default formatter. Previously it has beenfaker.provider.Python.pystr_format, which has been changed tofaker.provider.Python.parse, since the latter is more convenient (as it does not transform characters like?,!,#into something else usingbothifymethod). To revert this behaviour, make sure to pass a callable functionfaker_file.base.pystr_format_funcinformat_funcargument to each correspondent provider or inner function.Added
create_inner_random_file_from_dirinner function.Tested against Django 4.2.
Stop testing against Django 2.2.
0.14.5
2023-05-11
Minor fixes in
xml_fileprovider.
0.14.4
2023-05-11
Changed type of
data_columnsforxml_fileprovider fromSequence[Tuple[str, str]]toDict[str, str].In the
pdf_fileprovider, changed default value ofpdf_generator_clsfrom concretePdfkitPdfGeneratorvalue to its’ string representation faker_file.providers.pdf_file.generators.pdfkit_generator.PdfkitPdfGenerator.In the
mp3_fileprovider, changed default value ofmp3_generator_clsfrom concreteGttsMp3Generatorvalue to its’ string representation faker_file.providers.mp3_file.generators.gtts_generator.GttsMp3Generator.
0.14.3
2023-05-10
Minor fixes in the
GenericFileProvider.
0.14.2
2023-05-09
Add
create_inner_generic_fileinner function.Add
generic_filesupport to CLI.
0.14.1
2023-05-08
Add support for
list_create_inner_file-like functions to theEMLfile provider. If you are using CLI and CLI-completion, make sure to re-generate the completion file.Add
GenericFileProviderprovider to support generic file types.
0.14
2023-05-07
Note
This release introduces minor backwards incompatible changes.
A new argument
basenamehas been added to all providers, inner functions and storage classes. If you have customized things or created your own providers, make sure to make appropriate changes in your code. See the source code for more implementation examples. If you are using CLI and CLI-completion, make sure to re-generate the completion file.A new inner function
list_create_inner_filehas been added, using which it’s possible to create just a list of given files (ignoringcountvalue) using given arguments. The amount of files is determined by thefunc_list(each pair(Callable, kwargs)corresponds to a single file. BothZipFileProviderandTarFileProviderhave been altered to reflect these changes.Added to support for
XMLfiles throughXmlFileProvider.
0.13
2023-05-05
Note
This release introduces minor backwards incompatible changes.
Display full path to the created file in the CLI.
Added
DynamicTemplatesupport forPDFfile. Thegeneratemethod of theBasePdfGeneratorand classes derived from it, got two new arguments:data(Dict[str, Any]), andprovider(Union[Faker, Generator, Provider]). If you have implemented custom generators forPDF(pdf_fileprovider), make sure to reflect mentioned changes in your code.
0.12.6
2023-05-02
Added
DynamicTemplatesupport forDOCXandODTfiles.
0.12.5
2023-04-24
Note
In memory of the victims of the Armenian Genocide.
Expose
mp3_generator_clsandpdf_generator_clsCLI options formp3_fileandpdf_filerespectively.Add
num_filesCLI option for all providers.
0.12.4
2023-04-22
Make it possible to load classes from strings for passing as arguments to
mp3_fileandpdf_fileproviders.
0.12.3
2023-04-21
Fixes in CLI options.
0.12.2
2023-04-20
Fixes in CLI options.
0.12.1
2023-04-19
Added CLI options.
0.12
2023-02-24
Note, that this release introduces breaking changes!
Make it easy to use a different PDF library with
PdfFileProviderby addingpdf_generator_clsandpdf_generator_kwargsoptional arguments to thepdf_filemethod. AddedReportlabPdfGeneratorclass based on the famousreportlablibrary. Default is stillPdfkitPdfGenerator. Sinceencodingwas something specific forpdfkitlibrary, it was moved frompdf_filemethod toPdfkitPdfGenerator, to which it can be passed inpdf_generator_kwargs. If you have passed theencodingargument explicitly, make sure to make correspondent changes. Note, that using the newReportlabPdfGeneratorclass could speed-up PDF generation by about 40 times.
0.11.5
2023-02-20
Fixes in typing of
CsvFileProvider.Tuple[str, str]becomesTuple[str, ...].
0.11.4
2023-02-16
Note
Release dedicated to my dear valentine - Anahit.
Added
filenametodataproperty of values returned byMp3FileProviderprovider (StringValue,BytesValue).
0.11.3
2023-02-10
Moved several interface classes from one location to another. If you haven’t implemented custom generators, this won’t affect you. If you did, make sure to update your imports:
BaseTextAugmenterhas been moved fromfaker_file.providers.augment_file_from_dir.augmenters.basetofaker_file.providers.base.text_augmenter.BaseTextExtractorhas been moved fromfaker_file.providers.augment_file_from_dir.extractors.basetofaker_file.providers.base.text_extractor.BaseMp3Generatorhas been moved fromfaker_file.providers.mp3_file.generators.basetofaker_file.providers.base.mp3_generator.
0.11.2
2023-02-07
Add
filenametodataproperty of values returned by providers (StringValue,BytesValue).
0.11.1
2023-01-31
Documentation improvements.
MyPy fixes.
0.11
2023-01-25
Allow returning binary contents of the file by providing the
raw=Trueargument (Falseby default, works with all provider classes and inner functions). If you have subclassed or overriden provider classes or written custom inner functions, make sure to reflect the changes in your code.
0.10.12
2023-01-21
Add
TarFileProviderandcreate_inner_tar_filefunction.Add
OdpFileProviderandcreate_inner_odp_filefunction.
0.10.11
2023-01-20
Improve
EPUBdocument layout.Improve
PDFdocument layout.Minor documentation improvements.
0.10.10
2023-01-19
Allow passing
model_nameandactionarguments to theContextualWordEmbeddingsAugmenter.Replace
bert-base-casedwithbert-base-multilingual-casedas a default model forContextualWordEmbeddingsAugmenter.Improve
PPTXdocument layout.Minor fixes in documentation.
0.10.9
2023-01-18
Add an installation directive
[common]to install everything except ML libraries.Added testing of UTF8 content.
0.10.8
2023-01-16
Switch to PyPI releases of
gtts.Stop testing against Django 3.0 and 3.1.
Documentation improvements.
Tests improvements.
0.10.7
2023-01-13
Add
OdtFileProviderandcreate_inner_odt_filefunction.Documentation improvements.
Async related deprecation fixes in
EdgeTtsMp3Generator.Optimize example factories.
0.10.6
2023-01-11
Add
AugmentFileFromDirProviderprovider for making augmented copies of randomly picked files from given directory.Documentation improvements.
Fixes in setup.
0.10.5
2023-01-09
Add
fuzzy_choice_create_inner_fileinner function for easy diversion of files within archives (ZIP,EML).Documentation improvements.
Add
MaryTTSexample (another MP3 generator forMp3FileProvider).
0.10.4
2023-01-08
Add missing
mp3_generator_kwargsargument to thecreate_inner_mp3_filefunction.Clean-up.
0.10.3
2023-01-07
Improvements of the Mp3FileProvider module:
Pass active generator to the
Mp3FileProviderin thegeneratorargument ifBaseMp3Generator(and all implementations).Introduce
handle_kwargsmethod in theBaseMp3Generatorto handle arbitrary provider specific tuning.Add
EdgeTtsMp3GeneratorMP3 generator.Add
mp3_generator_kwargsargument to theMp3FileProvider.mp3_filemethod.
0.10.2
2023-01-06
Add
Mp3FileProvider.Add
create_inner_mp3_fileinner function.
0.10.1
2023-01-05
Fixes in
ZipFileProvider.
0.10
2023-01-04
Note, that this release introduces breaking changes!
Move all
create_inner_*_filefunctions fromfaker_file.providers.zip_filetofaker_file.providers.helpers.innermodule. Adjust your imports accordingly.Add
EmlFileProvider.Add
create_inner_eml_fileinner function.
0.9.3
2023-01-03
Add
EpubFileProviderprovider.
0.9.2
2022-12-23
Add
RrfFileProvider.Added
SQLAlchemyfactory example.
0.9.1
2022-12-19
Fixes in cloud storage.
Documentation fixes.
0.9
2022-12-17
Add optional
encodingargument toCsvFileProviderandPdfFileProviderproviders.Add
root_pathargument to cloud storages.Moved all image related code (
IcoFileProvider,JpegFileProvider,PngFileProvider,SvgFileProvider,WebpFileProvider) toImageMixin. Moved all tabular data related code (OdsFileProvider,XlsxFileProvider) toTabularDataMixin.Documentation improvements.
0.8
2022-12-16
Note, that this release introduces breaking changes!
All file system based operations are moved to a separate abstraction layer of file storages. The following storages have been implemented:
FileSystemStorage,PathyFileSystemStorage,AWSS3Storage,GoogleCloudStorageandAzureStorage. Theroot_pathandrel_pathparams of the providers are deprecated in favour of storages. See the docs more usage examples.
0.7
2022-12-12
Added
RandomFileFromDirProviderwhich picks a random file from directory given.Improved docs.
0.6
2022-12-11
Pass optional
generatorargument to inner functions of theZipFileProvider.Added
create_inner_zip_fileinner function which allows to create nested ZIPs.Reached test coverage of 100%.
0.5
2022-12-10
Note, that this release introduces breaking changes!
Added ODS file support.
Switched to
tablibfor easy, non-variant support of various formats (XLSX, ODS).Silence
imgkitlogging output.ZipFileProvider allows to pass arbitrary arguments to inner functions. Put all your inner function arguments into a dictionary and pass it in create_inner_file_args key inside options argument. See the example below.
zip_file = ZipFileProvider(None).file( prefix="zzz_archive_", options={ "count": 5, "create_inner_file_func": create_inner_docx_file, "create_inner_file_args": { "prefix": "zzz_file_", "max_nb_chars": 1_024, "content": "{{date}}\r\n{{text}}\r\n{{name}}", }, "directory": "zzz", } )
0.4
2022-12-09
Note, that this release introduces breaking changes!
Remove the concept of content generators (and the correspondent
content_generatorarguments in implemented providers). Instead, allow usage of dynamic fixtures in the providedcontentargument.Remove temporary files when creating ZIP archives.
Various improvements and fixes in docs.
0.3
2022-12-08
Add support for BIN, CSV and XLSX files.
Better visual representation of generated images and PDFs.
0.2
2022-12-07
Added support for ICO, JPEG, PNG, SVG and WEBP files.
Documentation improvements.
0.1
2022-12-06
Initial beta release.