{"id":13910680,"url":"https://github.com/file-validator/file-validator","last_synced_at":"2025-10-07T23:12:01.130Z","repository":{"id":52963844,"uuid":"521184583","full_name":"file-validator/file-validator","owner":"file-validator","description":"The first Python validation package uses type, mime, extension, magic numbers, and size to validate files. ✅","archived":false,"fork":false,"pushed_at":"2025-08-11T21:17:23.000Z","size":12779,"stargazers_count":70,"open_issues_count":6,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-11T23:26:34.748Z","etag":null,"topics":["django","file","file-validation","file-validator","files","filetype","magic-numbers","mime","python","python-library","python-magic","python3","upload-file","validation","validator"],"latest_commit_sha":null,"homepage":"https://file-validator.github.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/file-validator.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-08-04T08:26:46.000Z","updated_at":"2025-05-30T19:08:42.000Z","dependencies_parsed_at":"2024-03-18T22:49:31.015Z","dependency_job_id":"46a0df53-81db-4cb0-a8f9-22d3750ba310","html_url":"https://github.com/file-validator/file-validator","commit_stats":{"total_commits":709,"total_committers":12,"mean_commits":"59.083333333333336","dds":"0.35966149506346967","last_synced_commit":"a144dfe1498dc6f28b55709526bcaa396d777c1f"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/file-validator/file-validator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/file-validator%2Ffile-validator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/file-validator%2Ffile-validator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/file-validator%2Ffile-validator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/file-validator%2Ffile-validator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/file-validator","download_url":"https://codeload.github.com/file-validator/file-validator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/file-validator%2Ffile-validator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278861029,"owners_count":26058632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","file","file-validation","file-validator","files","filetype","magic-numbers","mime","python","python-library","python-magic","python3","upload-file","validation","validator"],"created_at":"2024-08-07T00:01:41.802Z","updated_at":"2025-10-07T23:12:01.080Z","avatar_url":"https://github.com/file-validator.png","language":"Python","readme":"\u003cpre style=\"position: relative;color: black;\"\u003e0000-0010:  89 50 4e 47-0d 0a 1a 0a-00 00 00 0d-49 48 44 52  .PNG.... ....IHDR\n0000-0020:  00 00 04 7b-00 00 04 dc-08 06 00 00-00 14 48 89  ...{.... ......H.\n0000-0030:  b8 00 00 20-00 49 44 41-54 78 9c ec-dd dd 6f 9b  .....IDA Tx....o.\n0000-0040:  e7 79 c7 f1-4b 22 25 ca-2c d9 06 89-e2 84 69 d2  .y..K\"%. ,.....i.\n0000-0050:  ed a0 62 57-0c cb 10 ef-d8 f0 b1 e1-3f 70 c0 fe  ..bW.... ....?p..\n0000-0060:  0f c3 c7 86-cf 5b ac c3-b0 56 ca 41-d3 bc 28 49  .....[.. .V.A..(I\n0000-0070:  e5 34 0b 19-5a 6f b4 86-9b b3 8b b5-4b 03 c7 a6  .4..Zo.. ....K...\n0000-0080:  24 ea a7 cf-07 20 22 39-00 f9 f0 b9-1f 09 d0 17  $.....\"9 ........\n0000-0090:  d7 73 73 6d-32 99 9c 15-00 00 00 00-11 d6 2d 23  .ssm2... ......-#\n0000-00a0:  00 00 00 40-0e b1 07 00-00 00 20 88-d8 03 00 00  ...@.... ........\n0000-00b0:  00 10 44 ec-01 00 00 00-08 22 f6 00-00 00 00 04  ..D..... .\"......\n0000-00c0:  11 7b 00 00-00 00 82 88-3d 00 00 00-00 41 c4 1e  .{...... =....A..\n0000-00d0:  00 00 00 80-20 62 0f 00-00 00 40 10-b1 07 00 00  .....b.. ..@.....\n0000-00e0:  00 20 88 d8-03 00 00 00-10 44 ec 01-00 00 00 08  ........ .D......\n0000-00f0:  22 f6 00 00-00 00 04 11-7b 00 00 00-00 82 88 3d  \"....... {......=\n0000-0100:  00 00 00 00-41 c4 1e 00-00 00 80 20-62 0f 00 00  ....A... ....b...\n0000-0110:  00 40 10 b1-07 00 00 00-20 88 d8 03-00 00 00 10  .@...... ........\u003cdiv class=\"open_grepper_editor\" title=\"Edit \u0026amp; Save To Grepper\"\u003e\u003c/div\u003e\u003c/pre\u003e\n\n\n[![pypi](https://img.shields.io/pypi/v/file_validator.svg?color=light)](https://pypi.org/project/file-validator/)\n[![made with python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg?color=light)](https://python.org)\n[![license](https://img.shields.io/github/license/rzashakeri/file_validator?color=light)](https://github.com/file-validator/file-validator/blob/master/LICENSE)\n[![Build status](https://ci.appveyor.com/api/projects/status/dplr2t9bkulmh4v5?svg=true)](https://ci.appveyor.com/project/rzashakeri/file-validator-inxf9)\n[![Coverage Status](https://coveralls.io/repos/github/file-validator/file-validator/badge.svg)](https://coveralls.io/github/file-validator/file-validator)\n[![python-versions](https://img.shields.io/pypi/pyversions/file-validator?color=light)](https://pypi.org/project/file-validator/)\n[![Downloads](https://static.pepy.tech/personalized-badge/file-validator?period=total\u0026units=international_system\u0026left_color=grey\u0026right_color=brightgreen\u0026left_text=Downloads)](https://pepy.tech/project/file-validator)\n[![djangopackages](https://img.shields.io/badge/djangopackages-pass-brightgreen)](https://djangopackages.org/packages/p/file-validator/)\n[![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)\n[![DeepSource](https://deepsource.io/gh/file-validator/file-validator.svg/?label=active+issues\u0026show_trend=true\u0026token=0lNzvy0mQJqkT_aLu8BKzEXs)](https://deepsource.io/gh/file-validator/file-validator/?ref=repository-badge)\n[![codecov](https://codecov.io/gh/file-validator/file-validator/graph/badge.svg?token=13ZVSJWH8M)](https://codecov.io/gh/file-validator/file-validator)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/42a2c09a967148f59c50fcf0f025daa8)](https://app.codacy.com/gh/file-validator/file-validator/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n[![CodeFactor](https://www.codefactor.io/repository/github/file-validator/file-validator/badge)](https://www.codefactor.io/repository/github/file-validator/file-validator)\n[![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\")\n[![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)\n\n\n## What Is File Validator? ✅\n\nIt is a Python library for file validation based on **MIME**, **size**, **type** and **magic numbers** that supports Django.\n\n## Why should we use this library? 🧐\n\n\n* File validation based on **MIME**, **type**, **extension**, **magic numbers** and **size**\n\n\n* File validation using the [filetype](https://github.com/h2non/filetype.py) library\n\n\n* File validation using the [python-magic](https://github.com/ahupp/python-magic) library\n\n\n* File validation using the [mimetypes](https://docs.python.org/3/library/mimetypes.html) library\n\n\n* File validation using the [puremagic](https://github.com/cdgriffith/puremagic) library\n\n\n* File validation simultaneously with all libraries\n\n\n* File Size validation\n\n\n* Provided **ValidatedFilefield** and **FileValidator** for file validation in [Django](https://www.djangoproject.com/)\n\n\n* 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\n\n\n* Supporting for all mimes\n\n## Where to report if we found a bug? 🪲\n\nCan report the problem through [this link](https://github.com/file-validator/file-validator/issues)\n\n## Where should I ask if I had any questions❓\n\nCan you ask your questions through [this link](https://github.com/orgs/file-validator/discussions)\n\n## Where to read the documentation? 📄\n\nCan you read the documentation through [this link](https://file-validator.github.io)\n\n\n## Contributors \n\n\u003ca href=\"https://github.com/file-validator/file-validator/graphs/contributors\"\u003e\n  \u003cimg width='250' src=\"https://contrib.rocks/image?repo=file-validator/file-validator\" /\u003e\n\u003c/a\u003e\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffile-validator%2Ffile-validator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffile-validator%2Ffile-validator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffile-validator%2Ffile-validator/lists"}