# Django Admin Export Package
[](https://badge.fury.io/py/django-admin-export)
[](https://pypi.org/project/django-admin-export/)
[](https://pypi.org/project/django-admin-export/)
[](https://pypi.org/project/django-admin-export/)
A comprehensive Django app that enhances the Django admin interface by providing advanced export functionality for CSV, Excel, and JSON formats. Built with modern Python practices, comprehensive error handling, and extensive customization options.
## โจ Features
- **Multiple Export Formats**: Support for CSV, Excel (XLSX), and JSON exports
- **Easy Integration**: Simple mixin-based approach for ModelAdmin classes
- **Field Customization**: Select specific fields, exclude unwanted ones, and customize labels
- **Advanced Formatting**: Automatic column sizing, header styling, and data type handling
- **Error Handling**: Comprehensive error handling with user-friendly messages
- **Progress Tracking**: Built-in progress indicators for large exports
- **Internationalization**: Full i18n support with Django's translation system
- **Backward Compatibility**: Legacy function support for existing implementations
- **Logging & Monitoring**: Built-in logging and audit trails
- **Configuration Options**: Extensive customization through Django settings
## ๐ Quick Start
### Installation
```bash
pip install django-admin-export
```
### Basic Usage
Add the app to your `INSTALLED_APPS`:
```python
INSTALLED_APPS = [
# ... other apps
'admin_export',
]
```
Use the `ExportMixin` in your ModelAdmin:
```python
from django.contrib import admin
from admin_export.admin import ExportMixin
from .models import Product
@admin.register(Product)
class ProductAdmin(ExportMixin, admin.ModelAdmin):
list_display = ('name', 'price', 'quantity', 'created_at')
# Export configuration
export_fields = ['name', 'price', 'quantity', 'created_at']
export_exclude_fields = ['id', 'updated_at']
export_field_labels = {
'name': 'Product Name',
'price': 'Price (USD)',
'quantity': 'Stock Quantity'
}
export_filename = 'products_export'
```
## ๐ Advanced Usage
### Custom Field Selection
```python
@admin.register(Product)
class ProductAdmin(ExportMixin, admin.ModelAdmin):
# Export only specific fields
export_fields = ['name', 'price', 'category__name', 'supplier__company_name']
# Exclude sensitive fields
export_exclude_fields = ['password', 'api_key', 'internal_notes']
# Custom field labels
export_field_labels = {
'name': 'Product Name',
'category__name': 'Category',
'supplier__company_name': 'Supplier Company'
}
```
### Format-Specific Configuration
```python
@admin.register(Product)
class ProductAdmin(ExportMixin, admin.ModelAdmin):
# Enable only specific formats
enable_csv_export = True
enable_excel_export = True
enable_json_export = False
# Custom Excel sheet name
export_filename = 'product_catalog'
# Limit export size
export_max_rows = 5000
```
### Advanced Excel Styling
The package automatically applies professional styling to Excel exports:
- Bold headers with gray background
- Auto-adjusted column widths
- Proper data type handling
- Clean, readable formatting
## โ๏ธ Configuration
### Django Settings
Add these to your Django settings for global configuration:
```python
# Export configuration
EXPORT_CSV_DELIMITER = ',' # CSV delimiter
EXPORT_EXCEL_SHEET_NAME = 'Data Export' # Default Excel sheet name
EXPORT_MAX_ROWS = 10000 # Maximum rows per export
EXPORT_ENABLE_PROGRESS = True # Enable progress tracking
EXPORT_DEFAULT_FILENAME = 'export' # Default filename prefix
EXPORT_INCLUDE_META_FIELDS = False # Include Django meta fields
EXPORT_ENABLE_LOGGING = True # Enable export logging
EXPORT_LOG_LEVEL = 'INFO' # Log level for exports
```
### Model-Specific Configuration
```python
@admin.register(Product)
class ProductAdmin(ExportMixin, admin.ModelAdmin):
# Basic export settings
export_fields = ['name', 'price', 'category', 'created_at']
export_exclude_fields = ['id', 'updated_at', 'deleted_at']
# Custom labels and formatting
export_field_labels = {
'name': 'Product Name',
'price': 'Price (USD)',
'category': 'Product Category',
'created_at': 'Date Added'
}
# File naming
export_filename = 'product_catalog'
# Export limits
export_max_rows = 5000
# Format selection
enable_csv_export = True
enable_excel_export = True
enable_json_export = False
```
## ๐ง API Reference
### ExportMixin
The main mixin class that provides export functionality.
#### Attributes
- `export_fields`: List of field names to export (None = all fields)
- `export_exclude_fields`: List of field names to exclude
- `export_field_labels`: Dictionary mapping field names to custom labels
- `export_filename`: Custom filename for exports
- `export_max_rows`: Maximum rows to export
- `enable_csv_export`: Enable CSV export (default: True)
- `enable_excel_export`: Enable Excel export (default: True)
- `enable_json_export`: Enable JSON export (default: False)
#### Methods
- `get_export_fields(request)`: Get list of fields to export
- `get_export_field_labels(request)`: Get custom field labels
- `get_export_filename(request, format_type)`: Generate export filename
- `get_export_queryset(request, queryset)`: Get queryset for export
- `export_to_csv(request, queryset)`: Export to CSV
- `export_to_excel(request, queryset)`: Export to Excel
- `export_to_json(request, queryset)`: Export to JSON
### Utility Functions
```python
from admin_export.utils import get_formatter, validate_export_config
# Get formatter for specific format
formatter = get_formatter('csv', delimiter=';', include_headers=True)
# Validate export configuration
config = validate_export_config({
'format': 'xlsx',
'max_rows': 5000,
'sheet_name': 'Custom Sheet'
})
```
### Forms
```python
from admin_export.forms import ExportConfigurationForm, BulkExportForm
# Export configuration form
form = ExportConfigurationForm(
model_fields=Product._meta.fields,
initial={'format': 'csv', 'max_rows': 1000}
)
# Bulk export form
bulk_form = BulkExportForm(available_models=[
('app.Product', 'Products'),
('app.Category', 'Categories')
])
```
## ๐งช Testing
Run the test suite:
```bash
python manage.py test admin_export
```
Or use pytest:
```bash
pytest tests/
```
## ๐ Examples
### Basic Product Export
```python
from django.contrib import admin
from admin_export.admin import ExportMixin
from .models import Product
@admin.register(Product)
class ProductAdmin(ExportMixin, admin.ModelAdmin):
list_display = ('name', 'price', 'category', 'stock', 'created_at')
list_filter = ('category', 'created_at', 'is_active')
search_fields = ('name', 'description')
# Export configuration
export_fields = ['name', 'price', 'category', 'stock', 'created_at']
export_exclude_fields = ['id', 'updated_at', 'deleted_at']
export_field_labels = {
'name': 'Product Name',
'price': 'Price (USD)',
'category': 'Category',
'stock': 'Stock Level',
'created_at': 'Date Added'
}
export_filename = 'product_inventory'
```
### User Management Export
```python
from django.contrib.auth.admin import UserAdmin
from admin_export.admin import ExportMixin
class CustomUserAdmin(ExportMixin, UserAdmin):
# Export configuration
export_fields = ['username', 'email', 'first_name', 'last_name', 'date_joined', 'is_active']
export_exclude_fields = ['password', 'last_login', 'groups', 'user_permissions']
export_field_labels = {
'username': 'Username',
'email': 'Email Address',
'first_name': 'First Name',
'last_name': 'Last Name',
'date_joined': 'Registration Date',
'is_active': 'Account Status'
}
export_filename = 'user_management'
# Enable only CSV and Excel
enable_csv_export = True
enable_excel_export = True
enable_json_export = False
admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)
```
### Advanced Export with Custom Logic
```python
@admin.register(Order)
class OrderAdmin(ExportMixin, admin.ModelAdmin):
list_display = ('order_number', 'customer', 'total_amount', 'status', 'created_at')
def get_export_fields(self, request):
"""Dynamic field selection based on user permissions."""
if request.user.is_superuser:
return ['order_number', 'customer', 'total_amount', 'status', 'created_at', 'notes']
else:
return ['order_number', 'customer', 'total_amount', 'status', 'created_at']
def get_export_queryset(self, request, queryset):
"""Filter queryset based on user permissions."""
if not request.user.is_superuser:
return queryset.filter(status__in=['confirmed', 'shipped'])
return queryset
def export_to_excel(self, request, queryset):
"""Custom Excel export with additional formatting."""
response = super().export_to_excel(request, queryset)
# Add custom logic here if needed
return response
```
## ๐ Security & Permissions
The package respects Django's permission system:
- Users can only export data they have permission to view
- Export actions are automatically filtered based on user permissions
- Sensitive fields can be excluded from exports
- Audit logging tracks all export activities
## ๐ Internationalization
Full support for Django's internationalization system:
```python
from django.utils.translation import gettext_lazy as _
@admin.register(Product)
class ProductAdmin(ExportMixin, admin.ModelAdmin):
export_field_labels = {
'name': _('Product Name'),
'price': _('Price'),
'category': _('Category'),
}
```
## ๐ Troubleshooting
### Common Issues
1. **Export fails silently**: Check Django logs and ensure proper error handling
2. **Large exports timeout**: Adjust `EXPORT_MAX_ROWS` setting
3. **Field not found errors**: Verify field names in `export_fields`
4. **Permission denied**: Check user permissions for the model
### Debug Mode
Enable debug logging:
```python
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'class': 'logging.StreamHandler',
},
},
'loggers': {
'admin_export': {
'handlers': ['console'],
'level': 'DEBUG',
},
},
}
```
## ๐ค Contributing
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
### Development Setup
```bash
git clone https://github.com/NyuydineBill/data2csv.git
cd data2csv
pip install -e ".[dev]"
python manage.py test
```
### Code Style
We use:
- [Black](https://black.readthedocs.io/) for code formatting
- [Flake8](https://flake8.pycqa.org/) for linting
- [isort](https://pycqa.github.io/isort/) for import sorting
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Acknowledgments
- Django community for the excellent framework
- OpenPyXL team for Excel support
- All contributors and users of this package
## ๐ Support
- **Documentation**: [GitHub README](https://github.com/NyuydineBill/data2csv#readme)
- **Issues**: [GitHub Issues](https://github.com/NyuydineBill/data2csv/issues)
- **Email**: billleynyuy@gmail.com
---
**Made with โค๏ธ by Nyuydine Bill**
Raw data
{
"_id": null,
"home_page": "https://github.com/NyuydineBill/django-admin-export-tools",
"name": "django-admin-export-tools",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "django admin export csv excel json data",
"author": "Nyuydine Bill",
"author_email": "billleynyuy@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/6d/01/ce8f5ca4f011027ef62400adbd13017916c1b1e1446695193b3b4e2304f0/django-admin-export-tools-1.0.3.tar.gz",
"platform": null,
"description": "# Django Admin Export Package\n\n[](https://badge.fury.io/py/django-admin-export)\n[](https://pypi.org/project/django-admin-export/)\n[](https://pypi.org/project/django-admin-export/)\n[](https://pypi.org/project/django-admin-export/)\n\nA comprehensive Django app that enhances the Django admin interface by providing advanced export functionality for CSV, Excel, and JSON formats. Built with modern Python practices, comprehensive error handling, and extensive customization options.\n\n## \u2728 Features\n\n- **Multiple Export Formats**: Support for CSV, Excel (XLSX), and JSON exports\n- **Easy Integration**: Simple mixin-based approach for ModelAdmin classes\n- **Field Customization**: Select specific fields, exclude unwanted ones, and customize labels\n- **Advanced Formatting**: Automatic column sizing, header styling, and data type handling\n- **Error Handling**: Comprehensive error handling with user-friendly messages\n- **Progress Tracking**: Built-in progress indicators for large exports\n- **Internationalization**: Full i18n support with Django's translation system\n- **Backward Compatibility**: Legacy function support for existing implementations\n- **Logging & Monitoring**: Built-in logging and audit trails\n- **Configuration Options**: Extensive customization through Django settings\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\n```bash\npip install django-admin-export\n```\n\n### Basic Usage\n\nAdd the app to your `INSTALLED_APPS`:\n\n```python\nINSTALLED_APPS = [\n # ... other apps\n 'admin_export',\n]\n```\n\nUse the `ExportMixin` in your ModelAdmin:\n\n```python\nfrom django.contrib import admin\nfrom admin_export.admin import ExportMixin\nfrom .models import Product\n\n@admin.register(Product)\nclass ProductAdmin(ExportMixin, admin.ModelAdmin):\n list_display = ('name', 'price', 'quantity', 'created_at')\n \n # Export configuration\n export_fields = ['name', 'price', 'quantity', 'created_at']\n export_exclude_fields = ['id', 'updated_at']\n export_field_labels = {\n 'name': 'Product Name',\n 'price': 'Price (USD)',\n 'quantity': 'Stock Quantity'\n }\n export_filename = 'products_export'\n```\n\n## \ud83d\udcda Advanced Usage\n\n### Custom Field Selection\n\n```python\n@admin.register(Product)\nclass ProductAdmin(ExportMixin, admin.ModelAdmin):\n # Export only specific fields\n export_fields = ['name', 'price', 'category__name', 'supplier__company_name']\n \n # Exclude sensitive fields\n export_exclude_fields = ['password', 'api_key', 'internal_notes']\n \n # Custom field labels\n export_field_labels = {\n 'name': 'Product Name',\n 'category__name': 'Category',\n 'supplier__company_name': 'Supplier Company'\n }\n```\n\n### Format-Specific Configuration\n\n```python\n@admin.register(Product)\nclass ProductAdmin(ExportMixin, admin.ModelAdmin):\n # Enable only specific formats\n enable_csv_export = True\n enable_excel_export = True\n enable_json_export = False\n \n # Custom Excel sheet name\n export_filename = 'product_catalog'\n \n # Limit export size\n export_max_rows = 5000\n```\n\n### Advanced Excel Styling\n\nThe package automatically applies professional styling to Excel exports:\n- Bold headers with gray background\n- Auto-adjusted column widths\n- Proper data type handling\n- Clean, readable formatting\n\n## \u2699\ufe0f Configuration\n\n### Django Settings\n\nAdd these to your Django settings for global configuration:\n\n```python\n# Export configuration\nEXPORT_CSV_DELIMITER = ',' # CSV delimiter\nEXPORT_EXCEL_SHEET_NAME = 'Data Export' # Default Excel sheet name\nEXPORT_MAX_ROWS = 10000 # Maximum rows per export\nEXPORT_ENABLE_PROGRESS = True # Enable progress tracking\nEXPORT_DEFAULT_FILENAME = 'export' # Default filename prefix\nEXPORT_INCLUDE_META_FIELDS = False # Include Django meta fields\nEXPORT_ENABLE_LOGGING = True # Enable export logging\nEXPORT_LOG_LEVEL = 'INFO' # Log level for exports\n```\n\n### Model-Specific Configuration\n\n```python\n@admin.register(Product)\nclass ProductAdmin(ExportMixin, admin.ModelAdmin):\n # Basic export settings\n export_fields = ['name', 'price', 'category', 'created_at']\n export_exclude_fields = ['id', 'updated_at', 'deleted_at']\n \n # Custom labels and formatting\n export_field_labels = {\n 'name': 'Product Name',\n 'price': 'Price (USD)',\n 'category': 'Product Category',\n 'created_at': 'Date Added'\n }\n \n # File naming\n export_filename = 'product_catalog'\n \n # Export limits\n export_max_rows = 5000\n \n # Format selection\n enable_csv_export = True\n enable_excel_export = True\n enable_json_export = False\n```\n\n## \ud83d\udd27 API Reference\n\n### ExportMixin\n\nThe main mixin class that provides export functionality.\n\n#### Attributes\n\n- `export_fields`: List of field names to export (None = all fields)\n- `export_exclude_fields`: List of field names to exclude\n- `export_field_labels`: Dictionary mapping field names to custom labels\n- `export_filename`: Custom filename for exports\n- `export_max_rows`: Maximum rows to export\n- `enable_csv_export`: Enable CSV export (default: True)\n- `enable_excel_export`: Enable Excel export (default: True)\n- `enable_json_export`: Enable JSON export (default: False)\n\n#### Methods\n\n- `get_export_fields(request)`: Get list of fields to export\n- `get_export_field_labels(request)`: Get custom field labels\n- `get_export_filename(request, format_type)`: Generate export filename\n- `get_export_queryset(request, queryset)`: Get queryset for export\n- `export_to_csv(request, queryset)`: Export to CSV\n- `export_to_excel(request, queryset)`: Export to Excel\n- `export_to_json(request, queryset)`: Export to JSON\n\n### Utility Functions\n\n```python\nfrom admin_export.utils import get_formatter, validate_export_config\n\n# Get formatter for specific format\nformatter = get_formatter('csv', delimiter=';', include_headers=True)\n\n# Validate export configuration\nconfig = validate_export_config({\n 'format': 'xlsx',\n 'max_rows': 5000,\n 'sheet_name': 'Custom Sheet'\n})\n```\n\n### Forms\n\n```python\nfrom admin_export.forms import ExportConfigurationForm, BulkExportForm\n\n# Export configuration form\nform = ExportConfigurationForm(\n model_fields=Product._meta.fields,\n initial={'format': 'csv', 'max_rows': 1000}\n)\n\n# Bulk export form\nbulk_form = BulkExportForm(available_models=[\n ('app.Product', 'Products'),\n ('app.Category', 'Categories')\n])\n```\n\n## \ud83e\uddea Testing\n\nRun the test suite:\n\n```bash\npython manage.py test admin_export\n```\n\nOr use pytest:\n\n```bash\npytest tests/\n```\n\n## \ud83d\udcd6 Examples\n\n### Basic Product Export\n\n```python\nfrom django.contrib import admin\nfrom admin_export.admin import ExportMixin\nfrom .models import Product\n\n@admin.register(Product)\nclass ProductAdmin(ExportMixin, admin.ModelAdmin):\n list_display = ('name', 'price', 'category', 'stock', 'created_at')\n list_filter = ('category', 'created_at', 'is_active')\n search_fields = ('name', 'description')\n \n # Export configuration\n export_fields = ['name', 'price', 'category', 'stock', 'created_at']\n export_exclude_fields = ['id', 'updated_at', 'deleted_at']\n export_field_labels = {\n 'name': 'Product Name',\n 'price': 'Price (USD)',\n 'category': 'Category',\n 'stock': 'Stock Level',\n 'created_at': 'Date Added'\n }\n export_filename = 'product_inventory'\n```\n\n### User Management Export\n\n```python\nfrom django.contrib.auth.admin import UserAdmin\nfrom admin_export.admin import ExportMixin\n\nclass CustomUserAdmin(ExportMixin, UserAdmin):\n # Export configuration\n export_fields = ['username', 'email', 'first_name', 'last_name', 'date_joined', 'is_active']\n export_exclude_fields = ['password', 'last_login', 'groups', 'user_permissions']\n export_field_labels = {\n 'username': 'Username',\n 'email': 'Email Address',\n 'first_name': 'First Name',\n 'last_name': 'Last Name',\n 'date_joined': 'Registration Date',\n 'is_active': 'Account Status'\n }\n export_filename = 'user_management'\n \n # Enable only CSV and Excel\n enable_csv_export = True\n enable_excel_export = True\n enable_json_export = False\n\nadmin.site.unregister(User)\nadmin.site.register(User, CustomUserAdmin)\n```\n\n### Advanced Export with Custom Logic\n\n```python\n@admin.register(Order)\nclass OrderAdmin(ExportMixin, admin.ModelAdmin):\n list_display = ('order_number', 'customer', 'total_amount', 'status', 'created_at')\n \n def get_export_fields(self, request):\n \"\"\"Dynamic field selection based on user permissions.\"\"\"\n if request.user.is_superuser:\n return ['order_number', 'customer', 'total_amount', 'status', 'created_at', 'notes']\n else:\n return ['order_number', 'customer', 'total_amount', 'status', 'created_at']\n \n def get_export_queryset(self, request, queryset):\n \"\"\"Filter queryset based on user permissions.\"\"\"\n if not request.user.is_superuser:\n return queryset.filter(status__in=['confirmed', 'shipped'])\n return queryset\n \n def export_to_excel(self, request, queryset):\n \"\"\"Custom Excel export with additional formatting.\"\"\"\n response = super().export_to_excel(request, queryset)\n \n # Add custom logic here if needed\n return response\n```\n\n## \ud83d\udd12 Security & Permissions\n\nThe package respects Django's permission system:\n\n- Users can only export data they have permission to view\n- Export actions are automatically filtered based on user permissions\n- Sensitive fields can be excluded from exports\n- Audit logging tracks all export activities\n\n## \ud83c\udf0d Internationalization\n\nFull support for Django's internationalization system:\n\n```python\nfrom django.utils.translation import gettext_lazy as _\n\n@admin.register(Product)\nclass ProductAdmin(ExportMixin, admin.ModelAdmin):\n export_field_labels = {\n 'name': _('Product Name'),\n 'price': _('Price'),\n 'category': _('Category'),\n }\n```\n\n## \ud83d\udc1b Troubleshooting\n\n### Common Issues\n\n1. **Export fails silently**: Check Django logs and ensure proper error handling\n2. **Large exports timeout**: Adjust `EXPORT_MAX_ROWS` setting\n3. **Field not found errors**: Verify field names in `export_fields`\n4. **Permission denied**: Check user permissions for the model\n\n### Debug Mode\n\nEnable debug logging:\n\n```python\nLOGGING = {\n 'version': 1,\n 'disable_existing_loggers': False,\n 'handlers': {\n 'console': {\n 'class': 'logging.StreamHandler',\n },\n },\n 'loggers': {\n 'admin_export': {\n 'handlers': ['console'],\n 'level': 'DEBUG',\n },\n },\n}\n```\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n### Development Setup\n\n```bash\ngit clone https://github.com/NyuydineBill/data2csv.git\ncd data2csv\npip install -e \".[dev]\"\npython manage.py test\n```\n\n### Code Style\n\nWe use:\n- [Black](https://black.readthedocs.io/) for code formatting\n- [Flake8](https://flake8.pycqa.org/) for linting\n- [isort](https://pycqa.github.io/isort/) for import sorting\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- Django community for the excellent framework\n- OpenPyXL team for Excel support\n- All contributors and users of this package\n\n## \ud83d\udcde Support\n\n- **Documentation**: [GitHub README](https://github.com/NyuydineBill/data2csv#readme)\n- **Issues**: [GitHub Issues](https://github.com/NyuydineBill/data2csv/issues)\n- **Email**: billleynyuy@gmail.com\n\n---\n\n**Made with \u2764\ufe0f by Nyuydine Bill**\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A comprehensive Django app that enhances the admin interface with advanced export functionality for CSV, Excel, and JSON formats.",
"version": "1.0.3",
"project_urls": {
"Bug Reports": "https://github.com/NyuydineBill/data2csv/issues",
"Documentation": "https://github.com/NyuydineBill/data2csv#readme",
"Homepage": "https://github.com/NyuydineBill/django-admin-export-tools",
"Source": "https://github.com/NyuydineBill/data2csv"
},
"split_keywords": [
"django",
"admin",
"export",
"csv",
"excel",
"json",
"data"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0d93681e0b97616520ceac7baeccca6014fbbf3e9999d1d24c6b196546a9aa10",
"md5": "7c03f10616d764055e987755d47b87fc",
"sha256": "3206bd0c54de31e2db4ac85cf92639f408237df237b09dcd88d5dcd66b2b1397"
},
"downloads": -1,
"filename": "django_admin_export_tools-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7c03f10616d764055e987755d47b87fc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 17529,
"upload_time": "2025-08-30T08:55:50",
"upload_time_iso_8601": "2025-08-30T08:55:50.179127Z",
"url": "https://files.pythonhosted.org/packages/0d/93/681e0b97616520ceac7baeccca6014fbbf3e9999d1d24c6b196546a9aa10/django_admin_export_tools-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6d01ce8f5ca4f011027ef62400adbd13017916c1b1e1446695193b3b4e2304f0",
"md5": "5c98c6147a79df79595058b18d0fa509",
"sha256": "28256fb3fc381121a6d78bf0ee84b3441c060730d8ca89d09ac7c02600587b84"
},
"downloads": -1,
"filename": "django-admin-export-tools-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "5c98c6147a79df79595058b18d0fa509",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 24386,
"upload_time": "2025-08-30T08:55:51",
"upload_time_iso_8601": "2025-08-30T08:55:51.946439Z",
"url": "https://files.pythonhosted.org/packages/6d/01/ce8f5ca4f011027ef62400adbd13017916c1b1e1446695193b3b4e2304f0/django-admin-export-tools-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-30 08:55:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "NyuydineBill",
"github_project": "django-admin-export-tools",
"github_not_found": true,
"lcname": "django-admin-export-tools"
}