armanc-toolkit


Namearmanc-toolkit JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
SummaryA comprehensive toolkit containing various utilities for Django and Python development
upload_time2025-08-07 00:33:24
maintainerNone
docs_urlNone
authorNone
requires_python>=3.13
licenseNone
keywords django inertia toolkit web-development
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Armanc Toolkit

A comprehensive toolkit containing various utilities for Django and Python development, with enhanced Inertia.js integration.

## Features

### Django Inertia Integration

Enhanced Inertia.js support for Django applications with:

- **InertiaResponse**: Advanced response handling with message support
- **View Mixins**: Complete set of class-based views for Inertia.js
  - `InertiaResponseMixin`: Base mixin for Inertia responses
  - `GenericView`: Base view with form handling
  - `TemplateView`: Simple template rendering
  - `FormView`: Form handling with validation
  - `ListView`: Model list views with pagination
  - `DetailView`: Single object detail views
  - `CreateView`: Object creation with forms
  - `UpdateView`: Object editing with forms
  - `DeleteView`: Object deletion with confirmation

## Installation

```bash
pip install armanc-toolkit
```

## Usage

### Django Settings

Add the Inertia app to your Django settings:

```python
INSTALLED_APPS = [
    # ... your other apps
    'armanc.django.inertia',
]
```

### Views

```python
from armanc.django.inertia.views import TemplateView, ListView, CreateView
from django.contrib.auth.models import User

class DashboardView(TemplateView):
    template_name = 'Dashboard'

class UserListView(ListView):
    model = User
    template_name = 'Users/Index'
    paginate_by = 10

class UserCreateView(CreateView):
    model = User
    template_name = 'Users/Create'
    fields = ['username', 'email', 'first_name', 'last_name']
```

### Response Handling

```python
from armanc.django.inertia.response import InertiaResponse

def my_view(request):
    return InertiaResponse(
        request,
        component='MyComponent',
        props={'data': 'example'}
    )
```

## Requirements

- Python >=3.13
- Django >=4.2,<6.0
- djantic2 >=1.0.5
- inertia-django >=1.2.0
- telepath >=0.3.1

## License

MIT License

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "armanc-toolkit",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.13",
    "maintainer_email": null,
    "keywords": "django, inertia, toolkit, web-development",
    "author": null,
    "author_email": "Armanc <29763280+armancdev@users.noreply.github.com>",
    "download_url": "https://files.pythonhosted.org/packages/ba/3b/4d920509219f2ad86ed576145761c47fab55caed9e409fe2c0b8ff40c1c5/armanc_toolkit-0.1.2.tar.gz",
    "platform": null,
    "description": "# Armanc Toolkit\n\nA comprehensive toolkit containing various utilities for Django and Python development, with enhanced Inertia.js integration.\n\n## Features\n\n### Django Inertia Integration\n\nEnhanced Inertia.js support for Django applications with:\n\n- **InertiaResponse**: Advanced response handling with message support\n- **View Mixins**: Complete set of class-based views for Inertia.js\n  - `InertiaResponseMixin`: Base mixin for Inertia responses\n  - `GenericView`: Base view with form handling\n  - `TemplateView`: Simple template rendering\n  - `FormView`: Form handling with validation\n  - `ListView`: Model list views with pagination\n  - `DetailView`: Single object detail views\n  - `CreateView`: Object creation with forms\n  - `UpdateView`: Object editing with forms\n  - `DeleteView`: Object deletion with confirmation\n\n## Installation\n\n```bash\npip install armanc-toolkit\n```\n\n## Usage\n\n### Django Settings\n\nAdd the Inertia app to your Django settings:\n\n```python\nINSTALLED_APPS = [\n    # ... your other apps\n    'armanc.django.inertia',\n]\n```\n\n### Views\n\n```python\nfrom armanc.django.inertia.views import TemplateView, ListView, CreateView\nfrom django.contrib.auth.models import User\n\nclass DashboardView(TemplateView):\n    template_name = 'Dashboard'\n\nclass UserListView(ListView):\n    model = User\n    template_name = 'Users/Index'\n    paginate_by = 10\n\nclass UserCreateView(CreateView):\n    model = User\n    template_name = 'Users/Create'\n    fields = ['username', 'email', 'first_name', 'last_name']\n```\n\n### Response Handling\n\n```python\nfrom armanc.django.inertia.response import InertiaResponse\n\ndef my_view(request):\n    return InertiaResponse(\n        request,\n        component='MyComponent',\n        props={'data': 'example'}\n    )\n```\n\n## Requirements\n\n- Python >=3.13\n- Django >=4.2,<6.0\n- djantic2 >=1.0.5\n- inertia-django >=1.2.0\n- telepath >=0.3.1\n\n## License\n\nMIT License\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A comprehensive toolkit containing various utilities for Django and Python development",
    "version": "0.1.2",
    "project_urls": {
        "Bug Reports": "https://github.com/armancdev/armancs-django/issues",
        "Homepage": "https://github.com/armancdev/armancs-django",
        "Source": "https://github.com/armancdev/armancs-django"
    },
    "split_keywords": [
        "django",
        " inertia",
        " toolkit",
        " web-development"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "19d1c16201330e055c524b6e548710a138c76d46fd7ae63d094ba30afda8eefb",
                "md5": "7bf342a4800d43c60f82fc9cb7028603",
                "sha256": "12203baf112bd3b9de46cfc88987fc806a7dfb5151de9b40a10363aa58f8bde2"
            },
            "downloads": -1,
            "filename": "armanc_toolkit-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7bf342a4800d43c60f82fc9cb7028603",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.13",
            "size": 10976,
            "upload_time": "2025-08-07T00:33:23",
            "upload_time_iso_8601": "2025-08-07T00:33:23.179408Z",
            "url": "https://files.pythonhosted.org/packages/19/d1/c16201330e055c524b6e548710a138c76d46fd7ae63d094ba30afda8eefb/armanc_toolkit-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ba3b4d920509219f2ad86ed576145761c47fab55caed9e409fe2c0b8ff40c1c5",
                "md5": "9f1f4a6a4d4341a00aee61d4ed05eeda",
                "sha256": "cffb9001bc2845f716fcf50d3c67c27091617f47a3017b512cf15f85a32f3d88"
            },
            "downloads": -1,
            "filename": "armanc_toolkit-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "9f1f4a6a4d4341a00aee61d4ed05eeda",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.13",
            "size": 10162,
            "upload_time": "2025-08-07T00:33:24",
            "upload_time_iso_8601": "2025-08-07T00:33:24.412805Z",
            "url": "https://files.pythonhosted.org/packages/ba/3b/4d920509219f2ad86ed576145761c47fab55caed9e409fe2c0b8ff40c1c5/armanc_toolkit-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-07 00:33:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "armancdev",
    "github_project": "armancs-django",
    "github_not_found": true,
    "lcname": "armanc-toolkit"
}
        
Elapsed time: 0.64046s