Metadata-Version: 2.4
Name: isik
Version: 0.4.1
Summary: Everyday python utilities.
Project-URL: Homepage, https://github.com/isik-kaplan/isik
Project-URL: Repository, https://github.com/isik-kaplan/isik
Project-URL: Documentation, https://github.com/isik-kaplan/isik
Author-email: Işık Kaplan <isik.kaplan@outlook.com>
License: MIT
License-File: LICENCE
Keywords: utility
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development
Requires-Python: >=3.11
Provides-Extra: all
Requires-Dist: dalf; extra == 'all'
Requires-Dist: django; extra == 'all'
Requires-Dist: django-filter; extra == 'all'
Requires-Dist: django-lifecycle; extra == 'all'
Requires-Dist: django-object-actions; extra == 'all'
Requires-Dist: django-pghistory; extra == 'all'
Requires-Dist: djangorestframework; extra == 'all'
Requires-Dist: jinja2; extra == 'all'
Requires-Dist: mjml-python; extra == 'all'
Requires-Dist: prosemirror; extra == 'all'
Requires-Dist: sentry-sdk; extra == 'all'
Requires-Dist: whitenoise; extra == 'all'
Provides-Extra: django
Requires-Dist: dalf; extra == 'django'
Requires-Dist: django; extra == 'django'
Requires-Dist: django-lifecycle; extra == 'django'
Requires-Dist: django-object-actions; extra == 'django'
Requires-Dist: django-pghistory; extra == 'django'
Requires-Dist: mjml-python; extra == 'django'
Requires-Dist: whitenoise; extra == 'django'
Provides-Extra: drf
Requires-Dist: django-filter; extra == 'drf'
Requires-Dist: djangorestframework; extra == 'drf'
Provides-Extra: sentry
Requires-Dist: sentry-sdk; extra == 'sentry'
Provides-Extra: templated-fields
Requires-Dist: jinja2; extra == 'templated-fields'
Provides-Extra: tiptap
Requires-Dist: prosemirror; extra == 'tiptap'
Description-Content-Type: text/markdown

# isik docs

## isik.common

- [common/](common/README.md)
  - [utils/](common/utils/README.md) - caching, concurrency, error handling, functional/iterable
    helpers, metaclasses, sentinels, string case conversion
  - [config/](common/config/README.md) - typed settings objects built from environment variables

## isik.sentry

- [sentry/](sentry/README.md) - Sentry-reporting exception suppression helpers (`sentry` extra)

## isik.django.apps

- [django/apps/common/](django/apps/common/README.md) - `BaseModel`, `BaseAdmin`, history
  tracking, ORM helpers, email templates, middleware, skippable validators, and the shared
  model-maker plumbing behind the apps below
- [django/apps/feedback/](django/apps/feedback/README.md) - `votes()`, `bookmarks()`, `notes()`,
  `comments()`: per-host interaction models attached with no migration to hand-write
- [django/apps/tags/](django/apps/tags/README.md) - `tags()`: a per-host tag pool + M2M
  through-table, deduped by name
- [django/apps/templated_fields/](django/apps/templated_fields/README.md) - model fields storing
  a sandboxed Jinja template, rendered on demand against a caller-supplied context

## isik.django.drf

- [django/drf/](django/drf/README.md) - Django REST Framework helpers: error translation,
  filters, pagination, permissions, ad hoc schema builders, plus serializer/viewset mixins

## isik.django.http_exceptions

- [django/http_exceptions/](django/http_exceptions/README.md) - raise an HTTP status directly
  from anywhere instead of threading `Response`s back up the call stack

## Everything else

- `isik/_internal/` - private helpers, not public API (mentioned inline where used, e.g.
  [sentry/README.md](sentry/README.md))
- `isik/django/apps/*/apps.py` - plain Django `AppConfig` boilerplate, not documented separately
