file-validator 1.0.9
Python validation library to validate files using type, mime, extension, magic numbers and size ✅
License: MIT license
Requires Python: >=3.8
Keywords: file_validator,file,validator,image_validator,audio_validator,video_validator,django

<pre style="position: relative;color: black;">0000-0010:  89 50 4e 47-0d 0a 1a 0a-00 00 00 0d-49 48 44 52  .PNG.... ....IHDR
0000-0020:  00 00 04 7b-00 00 04 dc-08 06 00 00-00 14 48 89  ...{.... ......H.
0000-0030:  b8 00 00 20-00 49 44 41-54 78 9c ec-dd dd 6f 9b  .....IDA Tx....o.
0000-0040:  e7 79 c7 f1-4b 22 25 ca-2c d9 06 89-e2 84 69 d2  .y..K"%. ,.....i.
0000-0050:  ed a0 62 57-0c cb 10 ef-d8 f0 b1 e1-3f 70 c0 fe  ..bW.... ....?p..
0000-0060:  0f c3 c7 86-cf 5b ac c3-b0 56 ca 41-d3 bc 28 49  .....[.. .V.A..(I
0000-0070:  e5 34 0b 19-5a 6f b4 86-9b b3 8b b5-4b 03 c7 a6  .4..Zo.. ....K...
0000-0080:  24 ea a7 cf-07 20 22 39-00 f9 f0 b9-1f 09 d0 17  $....."9 ........
0000-0090:  d7 73 73 6d-32 99 9c 15-00 00 00 00-11 d6 2d 23  .ssm2... ......-#
0000-00a0:  00 00 00 40-0e b1 07 00-00 00 20 88-d8 03 00 00  ...@.... ........
0000-00b0:  00 10 44 ec-01 00 00 00-08 22 f6 00-00 00 00 04  ..D..... ."......
0000-00c0:  11 7b 00 00-00 00 82 88-3d 00 00 00-00 41 c4 1e  .{...... =....A..
0000-00d0:  00 00 00 80-20 62 0f 00-00 00 40 10-b1 07 00 00  .....b.. ..@.....
0000-00e0:  00 20 88 d8-03 00 00 00-10 44 ec 01-00 00 00 08  ........ .D......
0000-00f0:  22 f6 00 00-00 00 04 11-7b 00 00 00-00 82 88 3d  "....... {......=
0000-0100:  00 00 00 00-41 c4 1e 00-00 00 80 20-62 0f 00 00  ....A... ....b...
0000-0110:  00 40 10 b1-07 00 00 00-20 88 d8 03-00 00 00 10  .@...... ........<div class="open_grepper_editor" title="Edit &amp; Save To Grepper"></div></pre>


[![pypi](https://img.shields.io/pypi/v/file_validator.svg?color=light)](https://pypi.org/project/file-validator/)
[![made with python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg?color=light)](https://python.org)
[![license](https://img.shields.io/github/license/rzashakeri/file_validator?color=light)](https://github.com/file-validator/file-validator/blob/master/LICENSE)
[![Build status](https://ci.appveyor.com/api/projects/status/dplr2t9bkulmh4v5?svg=true)](https://ci.appveyor.com/project/rzashakeri/file-validator-inxf9)
[![Coverage Status](https://coveralls.io/repos/github/file-validator/file-validator/badge.svg)](https://coveralls.io/github/file-validator/file-validator)
[![python-versions](https://img.shields.io/pypi/pyversions/file-validator?color=light)](https://pypi.org/project/file-validator/)
[![Downloads](https://static.pepy.tech/personalized-badge/file-validator?period=total&units=international_system&left_color=grey&right_color=brightgreen&left_text=Downloads)](https://pepy.tech/project/file-validator)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/file-validator/file-validator/master.svg)](https://results.pre-commit.ci/latest/github/file-validator/file-validator/master)
[![DeepSource](https://deepsource.io/gh/file-validator/file-validator.svg/?label=active+issues&show_trend=true&token=0lNzvy0mQJqkT_aLu8BKzEXs)](https://deepsource.io/gh/file-validator/file-validator/?ref=repository-badge)
[![CodeFactor](https://www.codefactor.io/repository/github/file-validator/file-validator/badge)](https://www.codefactor.io/repository/github/file-validator/file-validator)
[![black](https://github.com/file-validator/file-validator/actions/workflows/black.yml/badge.svg?branch=master)](https://github.com/file-validator/file-validator/actions/workflows/black.yml)
[![docs](https://github.com/file-validator/file-validator/actions/workflows/deploy.yml/badge.svg)](https://github.com/file-validator/file-validator/actions/workflows/deploy.yml)
[![Pylint](https://github.com/file-validator/file-validator/actions/workflows/pylint.yml/badge.svg)](https://github.com/file-validator/file-validator/actions/workflows/pylint.yml)
[![Workflow for Codecov](https://github.com/file-validator/file-validator/actions/workflows/Codecov.yml/badge.svg)](https://github.com/file-validator/file-validator/actions/workflows/Codecov.yml)
[![Python package](https://github.com/file-validator/file-validator/actions/workflows/python-package.yml/badge.svg)](https://github.com/file-validator/file-validator/actions/workflows/python-package.yml)
[![CodeQL](https://github.com/file-validator/file-validator/actions/workflows/codeql.yml/badge.svg)](https://github.com/file-validator/file-validator/actions/workflows/codeql.yml)
[![Percentage of issues still open](http://isitmaintained.com/badge/open/file-validator/file-validator.svg)](http://isitmaintained.com/project/file-validator/file-validator "Percentage of issues still open")

## What Is File Validator? ✅

It is a Python library for file validation based on **MIME**, **size**, **type** and **magic numbers** that supports Django.

## Why should we use this library? 🧐


* File validation based on **MIME**, **type**, **extension**, **magic numbers** and **size**


* File validation using the [filetype](https://github.com/h2non/filetype.py) library


* File validation using the [python-magic](https://github.com/ahupp/python-magic) library


* File validation using the [mimetypes](https://docs.python.org/3/library/mimetypes.html) library


* File validation using the [puremagic](https://github.com/cdgriffith/puremagic) library


* File validation simultaneously with all libraries


* File Size validation


* Provided **ValidatedFilefield** and **FileValidator** for file validation in [Django](https://www.djangoproject.com/)


* Provided **ValidatedFilefield** in forms with support  [accept](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept), [multiple](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/multiple) and `custom css` attributes


* Supporting for all mimes

## Where to report if we found a bug? 🪲

Can report the problem through [this link](https://github.com/file-validator/file-validator/issues)

## Where should I ask if I had any questions❓

Can you ask your questions through [this link](https://github.com/orgs/file-validator/discussions)

## Where to read the documentation? 📄

Can you read the documentation through [this link](https://file-validator.github.io)


## Contributors

<a href="https://github.com/file-validator/file-validator/graphs/contributors">
  <img width='250' src="https://contrib.rocks/image?repo=file-validator/file-validator" />
</a>



## Where to read the last history of changes? 📃


you can read the latest changes history in this [link](https://file-validator.github.io/docs/history/)