Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/file-validator/file-validator

The first Python validation package uses type, mime, extension, magic numbers, and size to validate files. ✅
https://github.com/file-validator/file-validator

django file file-validation file-validator files filetype magic-numbers mime python python-library python-magic python3 upload-file validation validator

Last synced: 26 days ago
JSON representation

The first Python validation package uses type, mime, extension, magic numbers, and size to validate files. ✅

Awesome Lists containing this project

README

        

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

[![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)
[![djangopackages](https://img.shields.io/badge/djangopackages-pass-brightgreen)](https://djangopackages.org/packages/p/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)
[![codecov](https://codecov.io/gh/file-validator/file-validator/graph/badge.svg?token=13ZVSJWH8M)](https://codecov.io/gh/file-validator/file-validator)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/42a2c09a967148f59c50fcf0f025daa8)](https://app.codacy.com/gh/file-validator/file-validator/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[![CodeFactor](https://www.codefactor.io/repository/github/file-validator/file-validator/badge)](https://www.codefactor.io/repository/github/file-validator/file-validator)
[![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")
[![ci](https://github.com/file-validator/file-validator/actions/workflows/ci.yml/badge.svg)](https://github.com/file-validator/file-validator/actions/workflows/ci.yml)

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