graphene-file-upload
Lib for adding file upload functionality to GraphQL mutations in Graphene Django and Flask-Graphql
What it is and what it does
graphene-file-upload is a drop-in replacement for the default GraphQL view in Graphene for Django and Flask-Graphql that adds support for multipart file uploads. It provides an Upload scalar type you can use in your GraphQL mutations to accept file arguments, and it handles the multipart request protocol that GraphQL clients use to send files alongside GraphQL queries.
The package integrates at the view layer—you swap out the standard GraphQL view for FileUploadGraphQLView in your URL configuration, then use the Upload scalar in your mutation arguments. It includes testing helpers for both Django and Flask to make it easier to write tests for file-upload mutations. However, the package has not been maintained since 2021-02-20 and may not be compatible with recent versions of its dependencies.
Use it for:
- Accept file uploads in GraphQL mutations for Django or Flask-based GraphQL APIs without writing custom multipart handling.
- Test file-upload mutations in Django or Flask using the provided file_graphql_query helper and test case classes.
- Integrate GraphQL clients that send files via the standard multipart request spec with Graphene backends.
- Add avatar or document upload endpoints to a Graphene GraphQL API with minimal boilerplate.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds file upload support to GraphQL mutations in Graphene-based Django and Flask applications, handling multipart requests according to the GraphQL multipart spec.
No—not for new projects. The package is abandoned (last release 2021-02-20) and will not receive security updates or compatibility fixes for modern Django/Flask versions. If you have a legacy codebase already using it and locked to compatible dependency versions, it may work, but for new development, consider maintaining file upload logic directly in your view layer or using an actively maintained alternative.
Install
graphene-file-upload on PyPI
pip
pip install graphene-file-uploaduv
uv add graphene-file-uploadpoetry
poetry add graphene-file-uploadInstalling graphene-file-upload
Before you install
Low install friction with a single runtime dependency (six). However, the package is abandoned—last release was 2021-02-20, with no recent maintenance or security updates.
License in practice
MIT license (permissive); you can use, modify, and distribute this package freely in both open-source and commercial projects with minimal restrictions.
Quickstart
pip install graphene-file-upload
from graphene_file_upload.scalars import Upload
import graphene
class UploadMutation(graphene.Mutation):
class Arguments:
file = Upload(required=True)
success = graphene.Boolean()
def mutate(self, info, file, **kwargs):
return UploadMutation(success=True)
Requires Graphene and either Django or Flask-Graphql to be installed separately; Flask-Graphql version 2.0+ is required for Flask integration.
Verify before relying
- Whether this package works with current versions of Django and Flask-Graphql given its abandonment since 2021-02-20.
- Whether six dependency is still necessary or if it can be removed for modern Python 3 only codebases.
- Security implications of using an unmaintained package in production GraphQL APIs.
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — six |
| Maintenance | abandoned — 2,001 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 334,378/month — #7,490 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: graphene_file_upload-1.3.0-py3-none-any.whl
Keywords: graphql, graphene, apollo, upload
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
Flask-GraphQLAdds a GraphQL endpoint to Flask applications,…
permissive · top 15,000 on PyPI
graphene-djangoGraphene-Django bridges Django models and…
permissive · top 5,000 on PyPI
starlette-graphene3Mounts a GraphQL API built with Graphene v3…
permissive · top 15,000 on PyPI
grapheneGraphene is a Python library for building…
permissive · top 1,000 on PyPI
graphene-federationAdds Apollo Federation support to Graphene…
permissive · top 15,000 on PyPI
django-graphql-jwtAdds JSON Web Token (JWT) authentication to…
permissive · top 15,000 on PyPI
graphene-sqlalchemyGraphene-SQLAlchemy exposes SQLAlchemy database…
permissive · top 15,000 on PyPI
graphene-django-optimizerAutomatically optimizes GraphQL queries…
permissive · top 15,000 on PyPI
pydgraphOfficial Python client for Dgraph, a…
permissive · top 15,000 on PyPI
cosmic-rayCosmic Ray is a mutation testing tool that…
permissive · top 15,000 on PyPI