Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/django-import-export/django-import-export

Django application and library for importing and exporting data with admin integration.
https://github.com/django-import-export/django-import-export

csv django import-export json python xls

Last synced: 3 days ago
JSON representation

Django application and library for importing and exporting data with admin integration.

Awesome Lists containing this project

README

        

====================
django-import-export
====================

.. |build| image:: https://github.com/django-import-export/django-import-export/actions/workflows/release.yml/badge.svg
:target: https://github.com/django-import-export/django-import-export/actions/workflows/release.yml
:alt: Build status on Github

.. |coveralls| image:: https://coveralls.io/repos/github/django-import-export/django-import-export/badge.svg?branch=main
:target: https://coveralls.io/github/django-import-export/django-import-export?branch=main

.. |pypi| image:: https://img.shields.io/pypi/v/django-import-export.svg
:target: https://pypi.org/project/django-import-export/
:alt: Current version on PyPi

.. |docs| image:: http://readthedocs.org/projects/django-import-export/badge/?version=stable
:target: https://django-import-export.readthedocs.io/en/stable/
:alt: Documentation

.. |pyver| image:: https://img.shields.io/pypi/pyversions/django-import-export
:alt: PyPI - Python Version

.. |djangover| image:: https://img.shields.io/pypi/djversions/django-import-export
:alt: PyPI - Django Version

.. |downloads| image:: https://static.pepy.tech/personalized-badge/django-import-export?period=month&units=international_system&left_color=black&right_color=blue&left_text=Downloads/month
:target: https://pepy.tech/project/django-import-export

.. |xfollow| image:: https://img.shields.io/twitter/url/https/twitter.com/django_import.svg?style=social&label=Follow%20%40django_import
:alt: Follow us on X
:target: https://twitter.com/django_import

.. |discord| image:: https://img.shields.io/discord/1240294048653119508?style=flat
:alt: Discord

|build| |coveralls| |pypi| |docs| |pyver| |djangover| |downloads| |xfollow| |discord|

Introduction
============

Straightforward, reliable and comprehensive file import / export for your Django application.

*django-import-export* is an application and library which lets you manage import / export from / to a variety of sources (csv, xlsx, json etc).

Can be run programmatically, or with optional integration with the Django Admin site:

..
source of this video uploaded to this issue comment:
https://github.com/django-import-export/django-import-export/pull/1833#issuecomment-2118777440

https://github.com/django-import-export/django-import-export/assets/6249838/ab56d8ba-c307-4bdf-8fa9-225669c72b37

`Screenshots `_

Features
========

* Import / export via `Admin UI Integration `_ or `programmatically `_
* Import to and from a variety of file formats (csv, json, xlsx, pandas, HTML, YAML... and anything else that `tablib `_ supports)
* `Preview `_ data before importing in Admin UI
* Support for `bulk import `_
* Handles `CRUD (and 'skip') operations during import `_
* Flexible handling of `foreign key `_ relationships
* `Many-to-many relationship `_ support
* `Validation `_ of imported data
* Define custom `transformations `_ for exported data
* Import / export the same model instance as `different views `_
* Export using `natural keys `__ for portability between environments
* `Select items for export `_ via the Admin UI object list
* `Select fields for export `_ via the export form
* `Export single object instances `_
* Use `django permissions `_ to control import / export authorization
* Internationalization support
* Based on `tablib `__
* Support for MySQL / PostgreSQL / SQLite
* Extensible - `add custom logic to control import / export `_
* Handle import from various character encodings
* `Celery `_ integration
* Test locally with `Docker `_
* Comprehensive `documentation `__
* `Extensible API `_
* test coverage :100:
* Supports dark mode :rocket:

Example use-cases
=================

*django-import-export* is designed to be extensible and can be used to support a variety of operations.
Here are some examples of how it has been used in the wild:

* Configure external cron jobs to run an import or export at set times
* Use `permissions `_ to define a subset of users able to import and export project data
* Safely update project reference data by importing from version controlled csv
* Create portable data to transfer between environments using `natural keys `_
* Manage user access to an application by importing externally version controlled auth user lists
* Add `hooks `_ to anonymize data on export
* `Modify import / export UI forms `_ to add dynamic filtering on import / export.
* Build a migration layer between platforms, for example take a `Wordpress `_ export and import to `Wagtail `_

Getting started
===============

* `Installation `_
* `Getting started `__
* `Example application `_

Help and support
================

* `Documentation `_
* `FAQ `_
* `Getting help `_
* `Contributing `_
* Become a `sponsor `_
* Join our `discord `_
* Tutorial videos on `YouTube `_
* `Raise a security issue `_

Commercial support
==================

Commercial support is provided by `Bellaport Systems Ltd `_

Releases
========

* `Release notes `_
* `Changelog `_