Metadata-Version: 2.4
Name: djmvc
Version: 0.1.0
Summary: Django CRUD utilities
Author-email: Your Name <your.email@example.com>
License: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: django>=5.1
Requires-Dist: django-tables2>=2.7
Requires-Dist: django-crispy-forms>=2.0
Requires-Dist: django-filter
Requires-Dist: django-autocomplete-light>=5.1rc1
Requires-Dist: django-querysetsequence>=0.11
Requires-Dist: djhacker
Requires-Dist: crispy-bulma>=0.1
Provides-Extra: api
Provides-Extra: swagger
Provides-Extra: bulma
Requires-Dist: django-crispy-forms>=2.0; extra == "bulma"
Requires-Dist: crispy-bulma>=0.1; extra == "bulma"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-django>=4.5; extra == "dev"
Requires-Dist: pytest-splinter>=3.3; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: pytest-xdist; extra == "dev"
Requires-Dist: tox>=4; extra == "dev"
Requires-Dist: black>=23.0; extra == "dev"
Requires-Dist: ruff>=0.1; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=7; extra == "docs"
Requires-Dist: furo; extra == "docs"

# djmvc

**Faster Django development by getting more out of less.**

djmvc is a thin MVC layer on top of Django. Declare controllers and views in
code, get secure CRUD and routing by default, and expose the view object
directly to templates.

Read the [philosophy](https://jpic.github.io/djmvc/philosophy.html) for the
full rationale.

## Install

```bash
pip install --pre djmvc
```

Note: The `--pre` flag is required for pre-release dependency versions.

See [installation](https://jpic.github.io/djmvc/install.html) for setup, or
try the [demo](https://jpic.github.io/djmvc/demo.html) to explore the example
project.

## Quick start

```python
# myapp/djmvc.py
import djmvc

from .models import YourModel


class YourModelController(djmvc.ModelController):
    model = YourModel


djmvc.site.routes.append(YourModelController)
```

```python
# urls.py
import djmvc

urlpatterns = djmvc.site.build().urlpatterns
```

Add `myapp` to `INSTALLED_APPS`. `build()` autodiscovers each app's `djmvc.py`
(like Django admin) — the import runs `routes.append()` before the route
registry is built.

## Documentation

- [Philosophy](https://jpic.github.io/djmvc/philosophy.html)
- [Install](https://jpic.github.io/djmvc/install.html)
- [Demo](https://jpic.github.io/djmvc/demo.html) — Try the example project
- [Tutorial](https://jpic.github.io/djmvc/tutorial/)
- [Reference](https://jpic.github.io/djmvc/reference/)

## Contributing

See the [contributing guide](https://jpic.github.io/djmvc/contributing.html)
for development setup, running tests, updating documentation screenshots, and
JavaScript conventions. Source: [`docs/contributing.rst`](docs/contributing.rst).

## License

MIT
