django-remix-icon


Namedjango-remix-icon JSON
Version 2.0.0 PyPI version JSON
download
home_pagehttps://github.com/brktrlw/django-remix-icon
SummaryA simple Django package for integrating RemixIcon with Django admin and templates
upload_time2025-10-12 23:36:31
maintainerNone
docs_urlNone
authorBerkay Şen
requires_python>=3.8
licenseMIT License Copyright (c) 2025 brktrlw Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords django remix icon admin field widget template tags ui icons
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Django RemixIcon

[![PyPI version](https://badge.fury.io/py/django-remix-icon.svg)](https://badge.fury.io/py/django-remix-icon)
[![Python versions](https://img.shields.io/pypi/pyversions/django-remix-icon.svg)](https://pypi.org/project/django-remix-icon/)
[![Django versions](https://img.shields.io/pypi/djversions/django-remix-icon.svg)](https://pypi.org/project/django-remix-icon/)
[![License](https://img.shields.io/pypi/l/django-remix-icon.svg)](https://github.com/brktrlw/django-remix-icon/blob/main/LICENSE)
[![Documentation Status](https://readthedocs.org/projects/django-remix-icon/badge/?version=latest)](https://django-remix-icon.readthedocs.io/en/latest/)

A simple Django package for integrating [RemixIcon](https://remixicon.com/) with Django admin and templates. Provides seamless icon selection with autocomplete, preview functionality, and template tags for easy icon rendering.

## ✨ Features

- **🎯 Simple Integration**: Minimal configuration required
- **🔍 Autocomplete Widget**: Fast icon search in Django admin
- **👁️ Live Preview**: See icons as you type
- **📋 Template Tags**: Easy icon rendering in templates
- **📱 Responsive**: Works on mobile and desktop
- **⚡ Performance**: Efficient search and caching
- **🎨 Customizable**: Style to match your design
- **🔧 Inline Support**: Works with Django admin inlines
- **🌙 Dark Mode**: Supports dark themes

## 🚀 Quick Start

### Installation

```bash
pip install django-remix-icon
```

### Django Setup

Add to your `INSTALLED_APPS`:

```python
INSTALLED_APPS = [
    # ... your other apps
    'django_remix_icon',
]
```

Include URLs in your project:

```python
# urls.py
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('remix-icon/', include('django_remix_icon.urls')),
    # ... your other URLs
]
```

### Basic Usage

**In your models:**

```python
from django.db import models
from django_remix_icon.fields import IconField

class MenuItem(models.Model):
    name = models.CharField(max_length=100)
    icon = IconField()  # Simple icon field
    url = models.URLField()

class Category(models.Model):
    title = models.CharField(max_length=100)
    icon = IconField(blank=True, null=True)  # Optional icon
```

**In your templates:**

```html
{% load remix_icon_tags %}

<!DOCTYPE html>
<html>
<head>
    <title>My Site</title>
    {% remix_icon_css %}  <!-- Include RemixIcon CSS -->
</head>
<body>
    <!-- Simple icon rendering -->
    <h1>{% remix_icon 'ri-home-line' %} Welcome</h1>

    <!-- Using model fields -->
    {% for item in menu_items %}
        <a href="{{ item.url }}">
            {% remix_icon item.icon %}
            {{ item.name }}
        </a>
    {% endfor %}

    <!-- With custom styling -->
    {% remix_icon 'ri-heart-fill' class='text-red-500' size='24' %}
</body>
</html>
```

**Admin Integration:**

```python
# admin.py - No additional configuration needed!
from django.contrib import admin
from .models import MenuItem

@admin.register(MenuItem)
class MenuItemAdmin(admin.ModelAdmin):
    list_display = ('name', 'icon', 'url')
    # IconField automatically provides autocomplete widget
```

## 📖 Documentation

**Complete documentation is available at [django-remix-icon.readthedocs.io](https://django-remix-icon.readthedocs.io/)**

- [Installation Guide](https://django-remix-icon.readthedocs.io/en/latest/installation.html)
- [Quick Start Tutorial](https://django-remix-icon.readthedocs.io/en/latest/quickstart.html)
- [Template Tags Reference](https://django-remix-icon.readthedocs.io/en/latest/template_tags.html)
- [Customization Guide](https://django-remix-icon.readthedocs.io/en/latest/customization.html)
- [API Documentation](https://django-remix-icon.readthedocs.io/en/latest/api/fields.html)

## 🎭 Template Tags

Django RemixIcon provides several template tags for flexible icon rendering:

```html
{% load remix_icon_tags %}

<!-- Basic icon -->
{% remix_icon 'ri-star-line' %}

<!-- Icon with attributes -->
{% remix_icon 'ri-heart-fill' class='love-icon' size='20' %}

<!-- Icon with text -->
{% remix_icon_with_text 'ri-download-line' 'Download' class='btn' %}

<!-- Conditional rendering -->
{% if item.icon|is_remix_icon %}
    {% remix_icon item.icon %}
{% endif %}

<!-- Get icon lists -->
{% remix_icon_list category='user' limit=10 as user_icons %}
{% for icon in user_icons %}
    {% remix_icon icon %}
{% endfor %}
```

## 🎨 Admin Widget Features

The Django admin integration provides:

### Autocomplete Search
- **Fast Search**: Find icons quickly by typing
- **Smart Filtering**: Matches icon names and categories
- **Keyboard Navigation**: Use arrow keys and Enter

### Live Preview
- **Visual Feedback**: See icons as you select them
- **Icon Information**: Shows icon name and category
- **Responsive Design**: Works on all screen sizes

### Django Integration
- **No Configuration**: Works out of the box
- **Inline Support**: Works with `TabularInline` and `StackedInline`
- **Validation**: Ensures only valid icons are selected

## 🔧 Customization

### Custom Widget Styling

```css
/* Custom styles for your theme */
.remix-icon-widget {
    max-width: 500px;
}

.icon-search-input {
    border-radius: 8px;
    padding: 12px 16px;
}

.icon-preview {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 8px;
}
```

### Custom Form Field

```python
from django import forms
from django_remix_icon.fields import IconFormField

class CustomForm(forms.Form):
    icon = IconFormField(required=False)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields['icon'].widget.attrs.update({
            'class': 'my-custom-icon-widget'
        })
```

## 📱 Examples

### Navigation Menu

```python
# models.py
class NavigationItem(models.Model):
    title = models.CharField(max_length=100)
    icon = IconField()
    url = models.URLField()
    order = models.PositiveIntegerField(default=0)

    class Meta:
        ordering = ['order']
```

```html
<!-- template.html -->
{% load remix_icon_tags %}

<nav class="main-nav">
    {% for item in navigation_items %}
        <a href="{{ item.url }}" class="nav-item">
            {% remix_icon item.icon class='nav-icon' %}
            <span>{{ item.title }}</span>
        </a>
    {% endfor %}
</nav>
```

### Dashboard Cards

```python
# models.py
class DashboardCard(models.Model):
    title = models.CharField(max_length=100)
    icon = IconField()
    description = models.TextField()
    value = models.CharField(max_length=50)
    color = models.CharField(max_length=20, default='blue')
```

```html
<!-- dashboard.html -->
{% for card in dashboard_cards %}
    <div class="dashboard-card card-{{ card.color }}">
        <div class="card-icon">
            {% remix_icon card.icon size='32' %}
        </div>
        <div class="card-content">
            <h3>{{ card.title }}</h3>
            <p class="card-value">{{ card.value }}</p>
            <p class="card-description">{{ card.description }}</p>
        </div>
    </div>
{% endfor %}
```

### Status Indicators

```html
{% for task in tasks %}
    <div class="task-item">
        {% if task.completed %}
            {% remix_icon 'ri-check-circle-fill' class='text-green-500' %}
        {% elif task.in_progress %}
            {% remix_icon 'ri-time-line' class='text-blue-500' %}
        {% else %}
            {% remix_icon 'ri-circle-line' class='text-gray-400' %}
        {% endif %}
        <span>{{ task.name }}</span>
    </div>
{% endfor %}
```

## 🤝 Contributing

We welcome contributions! Please see our [Contributing Guide](https://django-remix-icon.readthedocs.io/en/latest/contributing.html) for details.

### Development Setup

```bash
# Clone the repository
git clone https://github.com/brktrlw/django-remix-icon.git
cd django-remix-icon

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install development dependencies
pip install -e .[dev]
```

### Quick Contribution Guide

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Run code formatting (black, isort, flake8)
5. Commit your changes (`git commit -am 'Add amazing feature'`)
6. Push to the branch (`git push origin feature/amazing-feature`)
7. Open a Pull Request

## 📋 Requirements

- **Python**: 3.8+
- **Django**: 3.2+
- **Browser**: Chrome 60+, Firefox 55+, Safari 12+, Edge 79+

## 🔄 Compatibility

| Django Version | Python Version | Status |
|----------------|----------------|--------|
| 5.0            | 3.10, 3.11, 3.12 | ✅ Supported |
| 4.2 (LTS)      | 3.8, 3.9, 3.10, 3.11, 3.12 | ✅ Supported |
| 4.1            | 3.8, 3.9, 3.10, 3.11 | ✅ Supported |
| 4.0            | 3.8, 3.9, 3.10, 3.11 | ✅ Supported |
| 3.2 (LTS)      | 3.8, 3.9, 3.10, 3.11 | ✅ Supported |

## 🏗️ Architecture

```
django-remix-icon/
├── django_remix_icon/
│   ├── fields.py          # IconField model field
│   ├── widgets.py         # Admin widgets
│   ├── views.py           # AJAX search views
│   ├── templatetags/      # Template tags
│   ├── static/            # CSS and JavaScript
│   └── templates/         # Widget templates
├── docs/                  # Documentation
```

## 🎯 Philosophy

Django RemixIcon follows these principles:

- **Simplicity**: Minimal configuration, maximum functionality
- **Performance**: Efficient search and rendering
- **Flexibility**: Customizable but with sensible defaults
- **Integration**: Seamless Django admin experience
- **Accessibility**: Keyboard navigation and screen reader support

## 🔍 FAQ

**Q: How many icons are available?**
A: Over 2,000 icons from RemixIcon v4.7.0, covering all major categories.

**Q: Does it work with Django admin inlines?**
A: Yes! The widget works perfectly with both TabularInline and StackedInline.

**Q: Can I customize the widget appearance?**
A: Absolutely! The widget includes CSS classes for easy customization.

**Q: Is there a performance impact?**
A: Minimal. The widget uses debounced search and efficient caching.

**Q: Does it work on mobile?**
A: Yes, the widget is fully responsive and touch-friendly.

## 📄 License

This project is licensed under the MIT License.

## 🙏 Acknowledgments

- [RemixIcon](https://remixicon.com/) for the amazing icon library
- [Django](https://www.djangoproject.com/) for the excellent web framework
- All [contributors](https://github.com/brktrlw/django-remix-icon/graphs/contributors) who help improve this package

## 📈 Changelog

See [CHANGELOG.md](https://django-remix-icon.readthedocs.io/en/latest/changelog.html) for a list of changes and migration guides.

## 🔗 Links

- **Documentation**: https://django-remix-icon.readthedocs.io/
- **PyPI**: https://pypi.org/project/django-remix-icon/
- **GitHub**: https://github.com/brktrlw/django-remix-icon
- **Issues**: https://github.com/brktrlw/django-remix-icon/issues
- **RemixIcon**: https://remixicon.com/

---

<div align="center">

**[⭐ Star this repo](https://github.com/brktrlw/django-remix-icon) if you find it useful!**

Made with ❤️ for the Django community

</div>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/brktrlw/django-remix-icon",
    "name": "django-remix-icon",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Berkay \u015een <brktrl@protonmail.ch>",
    "keywords": "django, remix, icon, admin, field, widget, template, tags, ui, icons",
    "author": "Berkay \u015een",
    "author_email": "Berkay \u015een <brktrl@protonmail.ch>",
    "download_url": "https://files.pythonhosted.org/packages/3d/ea/2740eccedc094c80fee86f46ec0a557d32afa968ce8ecf984e8881fc6ff1/django_remix_icon-2.0.0.tar.gz",
    "platform": null,
    "description": "# Django RemixIcon\n\n[![PyPI version](https://badge.fury.io/py/django-remix-icon.svg)](https://badge.fury.io/py/django-remix-icon)\n[![Python versions](https://img.shields.io/pypi/pyversions/django-remix-icon.svg)](https://pypi.org/project/django-remix-icon/)\n[![Django versions](https://img.shields.io/pypi/djversions/django-remix-icon.svg)](https://pypi.org/project/django-remix-icon/)\n[![License](https://img.shields.io/pypi/l/django-remix-icon.svg)](https://github.com/brktrlw/django-remix-icon/blob/main/LICENSE)\n[![Documentation Status](https://readthedocs.org/projects/django-remix-icon/badge/?version=latest)](https://django-remix-icon.readthedocs.io/en/latest/)\n\nA simple Django package for integrating [RemixIcon](https://remixicon.com/) with Django admin and templates. Provides seamless icon selection with autocomplete, preview functionality, and template tags for easy icon rendering.\n\n## \u2728 Features\n\n- **\ud83c\udfaf Simple Integration**: Minimal configuration required\n- **\ud83d\udd0d Autocomplete Widget**: Fast icon search in Django admin\n- **\ud83d\udc41\ufe0f Live Preview**: See icons as you type\n- **\ud83d\udccb Template Tags**: Easy icon rendering in templates\n- **\ud83d\udcf1 Responsive**: Works on mobile and desktop\n- **\u26a1 Performance**: Efficient search and caching\n- **\ud83c\udfa8 Customizable**: Style to match your design\n- **\ud83d\udd27 Inline Support**: Works with Django admin inlines\n- **\ud83c\udf19 Dark Mode**: Supports dark themes\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\n```bash\npip install django-remix-icon\n```\n\n### Django Setup\n\nAdd to your `INSTALLED_APPS`:\n\n```python\nINSTALLED_APPS = [\n    # ... your other apps\n    'django_remix_icon',\n]\n```\n\nInclude URLs in your project:\n\n```python\n# urls.py\nfrom django.urls import path, include\n\nurlpatterns = [\n    path('admin/', admin.site.urls),\n    path('remix-icon/', include('django_remix_icon.urls')),\n    # ... your other URLs\n]\n```\n\n### Basic Usage\n\n**In your models:**\n\n```python\nfrom django.db import models\nfrom django_remix_icon.fields import IconField\n\nclass MenuItem(models.Model):\n    name = models.CharField(max_length=100)\n    icon = IconField()  # Simple icon field\n    url = models.URLField()\n\nclass Category(models.Model):\n    title = models.CharField(max_length=100)\n    icon = IconField(blank=True, null=True)  # Optional icon\n```\n\n**In your templates:**\n\n```html\n{% load remix_icon_tags %}\n\n<!DOCTYPE html>\n<html>\n<head>\n    <title>My Site</title>\n    {% remix_icon_css %}  <!-- Include RemixIcon CSS -->\n</head>\n<body>\n    <!-- Simple icon rendering -->\n    <h1>{% remix_icon 'ri-home-line' %} Welcome</h1>\n\n    <!-- Using model fields -->\n    {% for item in menu_items %}\n        <a href=\"{{ item.url }}\">\n            {% remix_icon item.icon %}\n            {{ item.name }}\n        </a>\n    {% endfor %}\n\n    <!-- With custom styling -->\n    {% remix_icon 'ri-heart-fill' class='text-red-500' size='24' %}\n</body>\n</html>\n```\n\n**Admin Integration:**\n\n```python\n# admin.py - No additional configuration needed!\nfrom django.contrib import admin\nfrom .models import MenuItem\n\n@admin.register(MenuItem)\nclass MenuItemAdmin(admin.ModelAdmin):\n    list_display = ('name', 'icon', 'url')\n    # IconField automatically provides autocomplete widget\n```\n\n## \ud83d\udcd6 Documentation\n\n**Complete documentation is available at [django-remix-icon.readthedocs.io](https://django-remix-icon.readthedocs.io/)**\n\n- [Installation Guide](https://django-remix-icon.readthedocs.io/en/latest/installation.html)\n- [Quick Start Tutorial](https://django-remix-icon.readthedocs.io/en/latest/quickstart.html)\n- [Template Tags Reference](https://django-remix-icon.readthedocs.io/en/latest/template_tags.html)\n- [Customization Guide](https://django-remix-icon.readthedocs.io/en/latest/customization.html)\n- [API Documentation](https://django-remix-icon.readthedocs.io/en/latest/api/fields.html)\n\n## \ud83c\udfad Template Tags\n\nDjango RemixIcon provides several template tags for flexible icon rendering:\n\n```html\n{% load remix_icon_tags %}\n\n<!-- Basic icon -->\n{% remix_icon 'ri-star-line' %}\n\n<!-- Icon with attributes -->\n{% remix_icon 'ri-heart-fill' class='love-icon' size='20' %}\n\n<!-- Icon with text -->\n{% remix_icon_with_text 'ri-download-line' 'Download' class='btn' %}\n\n<!-- Conditional rendering -->\n{% if item.icon|is_remix_icon %}\n    {% remix_icon item.icon %}\n{% endif %}\n\n<!-- Get icon lists -->\n{% remix_icon_list category='user' limit=10 as user_icons %}\n{% for icon in user_icons %}\n    {% remix_icon icon %}\n{% endfor %}\n```\n\n## \ud83c\udfa8 Admin Widget Features\n\nThe Django admin integration provides:\n\n### Autocomplete Search\n- **Fast Search**: Find icons quickly by typing\n- **Smart Filtering**: Matches icon names and categories\n- **Keyboard Navigation**: Use arrow keys and Enter\n\n### Live Preview\n- **Visual Feedback**: See icons as you select them\n- **Icon Information**: Shows icon name and category\n- **Responsive Design**: Works on all screen sizes\n\n### Django Integration\n- **No Configuration**: Works out of the box\n- **Inline Support**: Works with `TabularInline` and `StackedInline`\n- **Validation**: Ensures only valid icons are selected\n\n## \ud83d\udd27 Customization\n\n### Custom Widget Styling\n\n```css\n/* Custom styles for your theme */\n.remix-icon-widget {\n    max-width: 500px;\n}\n\n.icon-search-input {\n    border-radius: 8px;\n    padding: 12px 16px;\n}\n\n.icon-preview {\n    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n    border-radius: 8px;\n}\n```\n\n### Custom Form Field\n\n```python\nfrom django import forms\nfrom django_remix_icon.fields import IconFormField\n\nclass CustomForm(forms.Form):\n    icon = IconFormField(required=False)\n\n    def __init__(self, *args, **kwargs):\n        super().__init__(*args, **kwargs)\n        self.fields['icon'].widget.attrs.update({\n            'class': 'my-custom-icon-widget'\n        })\n```\n\n## \ud83d\udcf1 Examples\n\n### Navigation Menu\n\n```python\n# models.py\nclass NavigationItem(models.Model):\n    title = models.CharField(max_length=100)\n    icon = IconField()\n    url = models.URLField()\n    order = models.PositiveIntegerField(default=0)\n\n    class Meta:\n        ordering = ['order']\n```\n\n```html\n<!-- template.html -->\n{% load remix_icon_tags %}\n\n<nav class=\"main-nav\">\n    {% for item in navigation_items %}\n        <a href=\"{{ item.url }}\" class=\"nav-item\">\n            {% remix_icon item.icon class='nav-icon' %}\n            <span>{{ item.title }}</span>\n        </a>\n    {% endfor %}\n</nav>\n```\n\n### Dashboard Cards\n\n```python\n# models.py\nclass DashboardCard(models.Model):\n    title = models.CharField(max_length=100)\n    icon = IconField()\n    description = models.TextField()\n    value = models.CharField(max_length=50)\n    color = models.CharField(max_length=20, default='blue')\n```\n\n```html\n<!-- dashboard.html -->\n{% for card in dashboard_cards %}\n    <div class=\"dashboard-card card-{{ card.color }}\">\n        <div class=\"card-icon\">\n            {% remix_icon card.icon size='32' %}\n        </div>\n        <div class=\"card-content\">\n            <h3>{{ card.title }}</h3>\n            <p class=\"card-value\">{{ card.value }}</p>\n            <p class=\"card-description\">{{ card.description }}</p>\n        </div>\n    </div>\n{% endfor %}\n```\n\n### Status Indicators\n\n```html\n{% for task in tasks %}\n    <div class=\"task-item\">\n        {% if task.completed %}\n            {% remix_icon 'ri-check-circle-fill' class='text-green-500' %}\n        {% elif task.in_progress %}\n            {% remix_icon 'ri-time-line' class='text-blue-500' %}\n        {% else %}\n            {% remix_icon 'ri-circle-line' class='text-gray-400' %}\n        {% endif %}\n        <span>{{ task.name }}</span>\n    </div>\n{% endfor %}\n```\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](https://django-remix-icon.readthedocs.io/en/latest/contributing.html) for details.\n\n### Development Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/brktrlw/django-remix-icon.git\ncd django-remix-icon\n\n# Create virtual environment\npython -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\n\n# Install development dependencies\npip install -e .[dev]\n```\n\n### Quick Contribution Guide\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Make your changes\n4. Run code formatting (black, isort, flake8)\n5. Commit your changes (`git commit -am 'Add amazing feature'`)\n6. Push to the branch (`git push origin feature/amazing-feature`)\n7. Open a Pull Request\n\n## \ud83d\udccb Requirements\n\n- **Python**: 3.8+\n- **Django**: 3.2+\n- **Browser**: Chrome 60+, Firefox 55+, Safari 12+, Edge 79+\n\n## \ud83d\udd04 Compatibility\n\n| Django Version | Python Version | Status |\n|----------------|----------------|--------|\n| 5.0            | 3.10, 3.11, 3.12 | \u2705 Supported |\n| 4.2 (LTS)      | 3.8, 3.9, 3.10, 3.11, 3.12 | \u2705 Supported |\n| 4.1            | 3.8, 3.9, 3.10, 3.11 | \u2705 Supported |\n| 4.0            | 3.8, 3.9, 3.10, 3.11 | \u2705 Supported |\n| 3.2 (LTS)      | 3.8, 3.9, 3.10, 3.11 | \u2705 Supported |\n\n## \ud83c\udfd7\ufe0f Architecture\n\n```\ndjango-remix-icon/\n\u251c\u2500\u2500 django_remix_icon/\n\u2502   \u251c\u2500\u2500 fields.py          # IconField model field\n\u2502   \u251c\u2500\u2500 widgets.py         # Admin widgets\n\u2502   \u251c\u2500\u2500 views.py           # AJAX search views\n\u2502   \u251c\u2500\u2500 templatetags/      # Template tags\n\u2502   \u251c\u2500\u2500 static/            # CSS and JavaScript\n\u2502   \u2514\u2500\u2500 templates/         # Widget templates\n\u251c\u2500\u2500 docs/                  # Documentation\n```\n\n## \ud83c\udfaf Philosophy\n\nDjango RemixIcon follows these principles:\n\n- **Simplicity**: Minimal configuration, maximum functionality\n- **Performance**: Efficient search and rendering\n- **Flexibility**: Customizable but with sensible defaults\n- **Integration**: Seamless Django admin experience\n- **Accessibility**: Keyboard navigation and screen reader support\n\n## \ud83d\udd0d FAQ\n\n**Q: How many icons are available?**\nA: Over 2,000 icons from RemixIcon v4.7.0, covering all major categories.\n\n**Q: Does it work with Django admin inlines?**\nA: Yes! The widget works perfectly with both TabularInline and StackedInline.\n\n**Q: Can I customize the widget appearance?**\nA: Absolutely! The widget includes CSS classes for easy customization.\n\n**Q: Is there a performance impact?**\nA: Minimal. The widget uses debounced search and efficient caching.\n\n**Q: Does it work on mobile?**\nA: Yes, the widget is fully responsive and touch-friendly.\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License.\n\n## \ud83d\ude4f Acknowledgments\n\n- [RemixIcon](https://remixicon.com/) for the amazing icon library\n- [Django](https://www.djangoproject.com/) for the excellent web framework\n- All [contributors](https://github.com/brktrlw/django-remix-icon/graphs/contributors) who help improve this package\n\n## \ud83d\udcc8 Changelog\n\nSee [CHANGELOG.md](https://django-remix-icon.readthedocs.io/en/latest/changelog.html) for a list of changes and migration guides.\n\n## \ud83d\udd17 Links\n\n- **Documentation**: https://django-remix-icon.readthedocs.io/\n- **PyPI**: https://pypi.org/project/django-remix-icon/\n- **GitHub**: https://github.com/brktrlw/django-remix-icon\n- **Issues**: https://github.com/brktrlw/django-remix-icon/issues\n- **RemixIcon**: https://remixicon.com/\n\n---\n\n<div align=\"center\">\n\n**[\u2b50 Star this repo](https://github.com/brktrlw/django-remix-icon) if you find it useful!**\n\nMade with \u2764\ufe0f for the Django community\n\n</div>\n",
    "bugtrack_url": null,
    "license": "MIT License\n        \n        Copyright (c) 2025 brktrlw\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.\n        ",
    "summary": "A simple Django package for integrating RemixIcon with Django admin and templates",
    "version": "2.0.0",
    "project_urls": {
        "Changelog": "https://django-remix-icon.readthedocs.io/en/latest/changelog.html",
        "Documentation": "https://django-remix-icon.readthedocs.io/",
        "Homepage": "https://github.com/brktrlw/django-remix-icon",
        "Issues": "https://github.com/brktrlw/django-remix-icon/issues",
        "Repository": "https://github.com/brktrlw/django-remix-icon.git"
    },
    "split_keywords": [
        "django",
        " remix",
        " icon",
        " admin",
        " field",
        " widget",
        " template",
        " tags",
        " ui",
        " icons"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "13442c0ef1b29e993494f461831ff1e6df119195589e83688ab5b92fa8eda987",
                "md5": "69c9f530aecfe17f2664d1ce7f095a9e",
                "sha256": "14dcad516236e415f11a43c0ddd1cb37ede790b83b8c6885dd3e410273f740f6"
            },
            "downloads": -1,
            "filename": "django_remix_icon-2.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "69c9f530aecfe17f2664d1ce7f095a9e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 43721,
            "upload_time": "2025-10-12T23:36:29",
            "upload_time_iso_8601": "2025-10-12T23:36:29.432934Z",
            "url": "https://files.pythonhosted.org/packages/13/44/2c0ef1b29e993494f461831ff1e6df119195589e83688ab5b92fa8eda987/django_remix_icon-2.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3dea2740eccedc094c80fee86f46ec0a557d32afa968ce8ecf984e8881fc6ff1",
                "md5": "781946b2b425b8975054780bcf640016",
                "sha256": "a26e6342e888b61ac892ae8dc9a4e54e95db4d6727d75f67ee34d2e28e337758"
            },
            "downloads": -1,
            "filename": "django_remix_icon-2.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "781946b2b425b8975054780bcf640016",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 78597,
            "upload_time": "2025-10-12T23:36:31",
            "upload_time_iso_8601": "2025-10-12T23:36:31.274673Z",
            "url": "https://files.pythonhosted.org/packages/3d/ea/2740eccedc094c80fee86f46ec0a557d32afa968ce8ecf984e8881fc6ff1/django_remix_icon-2.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-12 23:36:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "brktrlw",
    "github_project": "django-remix-icon",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "django-remix-icon"
}
        
Elapsed time: 2.59046s