adminita 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
adminita-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Diane Corriette @Djangify
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the “Software”), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,8 @@
1
+ include LICENSE
2
+ include README.md
3
+
4
+ recursive-include adminita/static *
5
+ recursive-include adminita/templates *
6
+
7
+ global-exclude __pycache__
8
+ global-exclude *.pyc
@@ -0,0 +1,416 @@
1
+ Metadata-Version: 2.4
2
+ Name: adminita
3
+ Version: 0.1.0
4
+ Summary: A modern, beautiful admin interface for Django using Tailwind CSS v4
5
+ Author-email: Djangify <djangify@djangify.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://adminita.djangify.com
8
+ Project-URL: Repository, https://github.com/djangify/adminita
9
+ Project-URL: Issues, https://github.com/djangify/adminita/issues
10
+ Keywords: django,admin,tailwind,tailwindcss,ui,adminita
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: Web Environment
13
+ Classifier: Framework :: Django
14
+ Classifier: Framework :: Django :: 4.2
15
+ Classifier: Framework :: Django :: 5.0
16
+ Classifier: Framework :: Django :: 5.1
17
+ Classifier: Framework :: Django :: 5.2
18
+ Classifier: Framework :: Django :: 6.0
19
+ Classifier: Intended Audience :: Developers
20
+ Classifier: License :: OSI Approved :: MIT License
21
+ Classifier: Operating System :: OS Independent
22
+ Classifier: Programming Language :: Python
23
+ Classifier: Programming Language :: Python :: 3
24
+ Classifier: Programming Language :: Python :: 3.8
25
+ Classifier: Programming Language :: Python :: 3.9
26
+ Classifier: Programming Language :: Python :: 3.10
27
+ Classifier: Programming Language :: Python :: 3.11
28
+ Classifier: Programming Language :: Python :: 3.12
29
+ Classifier: Programming Language :: Python :: 3.13
30
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
31
+ Requires-Python: >=3.8
32
+ Description-Content-Type: text/markdown
33
+ License-File: LICENSE
34
+ Requires-Dist: Django>=4.0
35
+ Provides-Extra: dev
36
+ Requires-Dist: pytest; extra == "dev"
37
+ Requires-Dist: pytest-django; extra == "dev"
38
+ Requires-Dist: black; extra == "dev"
39
+ Requires-Dist: ruff; extra == "dev"
40
+ Dynamic: license-file
41
+
42
+ readme for Adminita
43
+
44
+ ![adminita header](https://github.com/djangify/adminita/blob/336735abb0e7679f4e2622615f891d178fd4bab3/adminita-homepage.png)
45
+
46
+
47
+ # Adminita
48
+
49
+ A modern, beautiful Django admin theme built with Tailwind CSS v4. Transform your Django admin interface into a sleek, responsive dashboard with dark mode support.
50
+
51
+ ![License](https://img.shields.io/badge/license-MIT-blue.svg)
52
+ ![Python](https://img.shields.io/badge/python-3.8+-blue.svg)
53
+ ![Django](https://img.shields.io/badge/django-4.0+-green.svg)
54
+ ![Tailwind CSS](https://img.shields.io/badge/tailwind-v4-38bdf8.svg)
55
+
56
+ ## ✨ Features
57
+
58
+ - 🎨 **Modern UI** - Clean, professional interface built with Tailwind CSS v4
59
+ - 🌓 **Dark Mode** - System preference detection with manual toggle
60
+ - 📱 **Responsive Design** - Works seamlessly on desktop, tablet, and mobile
61
+ - 🎯 **Easy Integration** - Drop-in replacement for Django's default admin
62
+ - ⚡ **Fast** - Optimized CSS with no unnecessary bloat
63
+ - 🔧 **Customizable** - Easy to customize colors and styling
64
+ - 🆓 **Open Source** - MIT licensed, free to use and modify
65
+
66
+ ## 📸 Screenshots
67
+
68
+ ### Light Mode
69
+
70
+ ![adminita light dashboard](https://github.com/djangify/adminita/blob/ac1e111dcf7ffae28dcdca60a78dbf32c848d035/adminita-lightdashboard.png)
71
+
72
+ ### Dark Mode
73
+ ![Dark Mode Dashboard - IMAGE COMING SOON - once I fix it!]
74
+
75
+ ## 🚀 Quick Start
76
+
77
+ ### Installation
78
+
79
+ 1. **Install via pip** (recommended for production):
80
+
81
+ ```bash
82
+ pip install adminita
83
+ ```
84
+
85
+ 2. **Or install from source** (for development):
86
+
87
+ ```bash
88
+ git clone https://github.com/djangify/adminita.git
89
+ cd adminita
90
+ pip install -e .
91
+ ```
92
+
93
+ ### Configuration
94
+
95
+ 1. **Add to INSTALLED_APPS** in your Django settings (must be before `django.contrib.admin`):
96
+
97
+ ```python
98
+ INSTALLED_APPS = [
99
+ "adminita", # Must be FIRST!
100
+ "django.contrib.admin",
101
+ "django.contrib.auth",
102
+ "django.contrib.contenttypes",
103
+ "django.contrib.sessions",
104
+ "django.contrib.messages",
105
+ "django.contrib.staticfiles",
106
+ # ... your other apps
107
+ ]
108
+ ```
109
+
110
+ 2. **Configure static files**:
111
+
112
+ ```python
113
+ STATIC_URL = "/static/"
114
+ STATIC_ROOT = BASE_DIR / "staticfiles"
115
+ ```
116
+
117
+ 3. **Add customization to project urls.py file**:
118
+ Adminita uses Django's built-in admin site customization. Add these lines to your `urls.py`:
119
+ ```python
120
+ from django.contrib import admin
121
+
122
+ admin.site.site_header = "Your Site Name"
123
+ admin.site.site_title = "Your Site Title"
124
+ admin.site.index_title = "Welcome to Your Site"
125
+ ```
126
+
127
+ 4. **Collect static files**:
128
+
129
+ ```bash
130
+ python manage.py collectstatic --noinput
131
+ ```
132
+
133
+ 5. **Run your server**:
134
+
135
+ ```bash
136
+ python manage.py runserver
137
+ ```
138
+
139
+ 6. **Visit the admin** at `http://localhost:8000/admin/`
140
+
141
+ That's it! Your Django admin should now have the Adminita theme applied.
142
+
143
+ ## 🎨 Customization
144
+
145
+ ### Changing Colors
146
+
147
+ Adminita uses Tailwind CSS v4's new `@theme` syntax. To customize colors:
148
+
149
+ 1. **Edit the source CSS** at `adminita/static/src/input.css`:
150
+
151
+ ```css
152
+ @theme {
153
+ /* Change primary colors to match your brand */
154
+ --color-primary-500: #10b981; /* Your brand color */
155
+ --color-primary-600: #059669; /* Darker shade */
156
+ --color-primary-700: #047857; /* Even darker */
157
+ }
158
+ ```
159
+
160
+ 2. **Rebuild the CSS**:
161
+
162
+ ```bash
163
+ cd path/to/adminita
164
+ npm install # If you haven't already
165
+ npm run build
166
+ ```
167
+
168
+ 3. **Collect static files** in your project:
169
+
170
+ ```bash
171
+ python manage.py collectstatic --noinput
172
+ ```
173
+
174
+ ### Available Color Variables
175
+
176
+ ```css
177
+ --color-primary-50 through --color-primary-950
178
+ --color-gray-50 through --color-gray-900
179
+ --color-gray-750 (custom for dark mode)
180
+ ```
181
+ ## 🔧 Utility Classes
182
+
183
+ Adminita provides utility classes to help with common admin patterns.
184
+
185
+ ### AlwaysVisibleAdmin
186
+
187
+ Ensures models always appear in the admin index, even if they have custom permissions:
188
+ ```python
189
+ from adminita.utils import AlwaysVisibleAdmin
190
+
191
+ @admin.register(MyModel)
192
+ class MyModelAdmin(AlwaysVisibleAdmin):
193
+ pass
194
+ ```
195
+
196
+ ### SingletonAdmin
197
+
198
+ For models that should only have one instance (like Site Settings):
199
+ ```python
200
+ from adminita.utils import SingletonAdmin
201
+
202
+ @admin.register(SiteConfiguration)
203
+ class SiteConfigurationAdmin(SingletonAdmin):
204
+ list_display = ['site_name']
205
+ ```
206
+
207
+ ## 🛠️ Development
208
+
209
+ ### Setting Up Development Environment
210
+
211
+ 1. **Clone the repository**:
212
+
213
+ ```bash
214
+ git clone https://github.com/djangify/adminita.git
215
+ cd adminita
216
+ ```
217
+
218
+ 2. **Create a virtual environment**:
219
+
220
+ ```bash
221
+ python -m venv venv
222
+ source venv/bin/activate # On Windows: venv\Scripts\activate
223
+ ```
224
+
225
+ 3. **Install dependencies**:
226
+
227
+ ```bash
228
+ pip install -r requirements.txt
229
+ npm install
230
+ ```
231
+
232
+ 4. **Build CSS**:
233
+
234
+ ```bash
235
+ npm run build # One-time build
236
+ npm run watch # Auto-rebuild on changes
237
+ ```
238
+
239
+ 5. **Run the demo project**:
240
+
241
+ ```bash
242
+ python manage.py migrate
243
+ python manage.py createsuperuser
244
+ python manage.py runserver
245
+ ```
246
+
247
+ ### Project Structure
248
+
249
+ ```
250
+ adminita/
251
+ ├── adminita/ # The Django app package
252
+ │ ├── static/
253
+ │ │ ├── css/
254
+ │ │ │ └── output.css # Generated CSS (don't edit)
255
+ │ │ ├── js/
256
+ │ │ │ └── admin.js # JavaScript for dark mode & mobile menu
257
+ │ │ └── src/
258
+ │ │ └── input.css # Source CSS with Tailwind v4 syntax
259
+ │ ├── templates/
260
+ │ │ └── admin/ # Template overrides
261
+ │ │ ├── base.html
262
+ │ │ ├── base_site.html
263
+ │ │ ├── index.html
264
+ │ │ ├── login.html
265
+ │ │ ├── change_list.html
266
+ │ │ └── change_form.html
267
+ │ ├── __init__.py
268
+ │ └── apps.py
269
+ ├── config/ # Django project settings
270
+ │ ├── settings.py
271
+ │ ├── urls.py
272
+ │ └── wsgi.py
273
+ ├── manage.py
274
+ ├── package.json # Node.js dependencies for Tailwind
275
+ ├── pyproject.toml # Python package configuration
276
+ └── README.md
277
+ ```
278
+
279
+ ## 🐛 Known Issues
280
+
281
+ ### Dark Mode Not Working
282
+
283
+ **Status**: Open Issue
284
+ **Priority**: High
285
+
286
+ The dark mode toggle button appears in the interface, but clicking it does not switch between light and dark themes. This is a known bug that we're actively working on.
287
+
288
+ **Expected Behavior**: Clicking the moon/sun icon should toggle between light and dark mode, with the preference saved to localStorage.
289
+
290
+ **Current Behavior**: Nothing happens when the toggle button is clicked.
291
+
292
+ **Workaround**: None currently available.
293
+
294
+ **Help Wanted**: If you have experience with JavaScript and dark mode implementation, we'd love your help! See [Contributing](#-contributing) below.
295
+
296
+ ### Adding Filter Sidebar
297
+
298
+ ~~Wanted to include a filter section on the side but kept clashing with Django files. Need to pay more time to it to get it working~~
299
+
300
+ **Status**: Still experimenting
301
+
302
+ ## 📚 Documentation
303
+
304
+ ### Tailwind CSS v4 Notes
305
+
306
+ Adminita uses Tailwind CSS v4, which has a different syntax than v3:
307
+
308
+ - Uses `@import "tailwindcss"` instead of `@tailwind` directives
309
+ - Theme customization uses `@theme {}` blocks in CSS
310
+ - More streamlined, CSS-first approach
311
+
312
+ ### Template Inheritance
313
+
314
+ When extending Adminita templates in your own project:
315
+
316
+ ```django
317
+ {% extends "admin/base.html" %}
318
+ ```
319
+
320
+ **Not** `adminita/admin/base.html` - Django finds templates automatically because `adminita` is in `INSTALLED_APPS`.
321
+
322
+ ## 🤝 Contributing
323
+
324
+ We welcome contributions! Adminita is an open-source project and we'd love your help making it better.
325
+
326
+ ### How to Contribute
327
+
328
+ 1. **Fork the repository**
329
+ 2. **Create a feature branch**: `git checkout -b feature/amazing-feature`
330
+ 3. **Make your changes**
331
+ 4. **Test thoroughly**
332
+ 5. **Commit your changes**: `git commit -m 'Add amazing feature'`
333
+ 6. **Push to the branch**: `git push origin feature/amazing-feature`
334
+ 7. **Open a Pull Request**
335
+
336
+ ### Priority Issues
337
+
338
+ We especially need help with:
339
+
340
+ - 🐛 **Dark Mode Bug** - The toggle isn't working (see [Known Issues](#-known-issues))
341
+ - 📱 **Mobile Responsiveness** - Testing on various devices
342
+ - ♿ **Accessibility** - ARIA labels, keyboard navigation, screen reader support
343
+ - 🎨 **Additional Themes** - Creating alternative color schemes
344
+ - 📝 **Documentation** - Improving guides and examples
345
+
346
+ ### Development Guidelines
347
+
348
+ - Follow Django's template style guidelines
349
+ - Use Tailwind CSS utility classes (avoid custom CSS when possible)
350
+ - Test on multiple browsers (Chrome, Firefox, Safari, Edge)
351
+ - Ensure dark mode compatibility for all new features
352
+ - Update documentation for any new features
353
+
354
+ ## 📦 Requirements
355
+
356
+ - Python 3.10+
357
+ - Django 4.2+
358
+ - Node.js (for building CSS during development)
359
+ - npm (for managing Tailwind CSS)
360
+
361
+ ## 🧪 Testing
362
+
363
+ ```bash
364
+ # Run Django tests
365
+ python manage.py test
366
+
367
+ # Test in multiple browsers
368
+ # Test dark mode toggle
369
+ # Test responsive design on mobile devices
370
+ ```
371
+
372
+ ## 📄 License
373
+
374
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
375
+
376
+ ## 👏 Acknowledgments
377
+
378
+ - Built with [Django](https://www.djangoproject.com/)
379
+ - Styled with [Tailwind CSS v4](https://tailwindcss.com/)
380
+ - Inspired by modern admin dashboards
381
+
382
+ ## 🔗 Links
383
+
384
+ - **GitHub**: https://github.com/djangify/adminita
385
+ - **Issues**: https://github.com/djangify/adminita/issues
386
+ - **PyPI**: https://pypi.org/project/adminita/ (coming soon)
387
+
388
+ ## 💬 Support
389
+
390
+ Having trouble? Here are some ways to get help:
391
+
392
+ - 📖 Check the [documentation](https://github.com/djangify/adminita/wiki)
393
+ - 🐛 [Open an issue](https://github.com/djangify/adminita/issues/new)
394
+ - 💡 [Start a discussion](https://github.com/djangify/adminita/discussions)
395
+
396
+ ## 🗺️ Roadmap
397
+
398
+ - [ ] Fix dark mode toggle functionality
399
+ - [ ] Add more customization options
400
+ - [ ] Create additional color themes
401
+ - [ ] Improve accessibility (ARIA labels, keyboard navigation)
402
+ - [ ] Add comprehensive test suite
403
+ - [ ] Create video tutorials
404
+ - [ ] Publish to PyPI
405
+ - [ ] Add support for Django inline forms
406
+ - [ ] Create a documentation website
407
+
408
+ ## ⭐ Star History
409
+
410
+ If you find Adminita useful, please consider giving it a star on GitHub! It helps others discover the project.
411
+
412
+ ---
413
+
414
+ Made with ❤️ by a Django enthusiast
415
+
416
+ **Note**: This is an open-source project. I appreciate your patience and contributions!