skillfed

graphene-file-upload

Lib for adding file upload functionality to GraphQL mutations in Graphene Django and Flask-Graphql

graphene-file-upload v1.3.0 334.4K downloads/30d#7,490 on PyPI287
Permissive license Abandoned released

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

uv

uv add graphene-file-upload

poetry

poetry add graphene-file-upload

Installing 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

Development Status :: 5 - Production/StableFramework :: Django :: 1.11Framework :: Django :: 2.0Framework :: Django :: 2.1Framework :: Django :: 2.2Framework :: Django :: 3.0Framework :: Django :: 3.1Framework :: FlaskIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Internet :: WWW/HTTP

Tags

graphql file uploadgraphene django file uploadflask graphql file uploadgraphql mutation file handlingmultipart graphql requestsgraphene upload scalargraphql file mutation
graphqlfile-uploadabandoned

More WWW/HTTP packages