www/py-modelsearch: Add py-modelsearch 1.1

Django ModelSearch allows you to index Django models and search them using the
ORM!

It supports PostgreSQL FTS, SQLite FTS5, MySQL FTS, MariaDB FTS, Elasticsearch
(7.x, 8.x, and 9.x), and OpenSearch (2.x and 3.x).

Features:
- Index models in Elasticsearch and OpenSearch and query with the Django ORM
- Reuse existing QuerySets for search, works with Django paginators and
  django-filter
- Also supports PostgreSQL FTS, MySQL FTS, MariaDB FTS and SQLite FTS5
- Autocomplete
- Faceting
- Per-field boosting
- Fuzzy Search
- Phrase search
- Structured queries
- Multi-table inheritance
- Zero-downtime index rebuilding (uses aliases to atomically swap in a new index
  when its ready)

This has been built into Wagtail CMS since 2014 and extracted into a separate
package in March 2025.
This commit is contained in:
Po-Chuan Hsieh
2025-11-10 00:08:18 +08:00
parent 3ed42b8748
commit c88d5e47d0
5 changed files with 76 additions and 0 deletions

View File

@@ -1877,6 +1877,7 @@
SUBDIR += py-mailman-hyperkitty
SUBDIR += py-mechanicalsoup
SUBDIR += py-mechanize
SUBDIR += py-modelsearch
SUBDIR += py-multidict
SUBDIR += py-mwoauth
SUBDIR += py-nevow

View File

@@ -0,0 +1,25 @@
PORTNAME= modelsearch
PORTVERSION= 1.1
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Library for indexing Django models
WWW= https://django-modelsearch.readthedocs.io/en/latest/ \
https://github.com/kaedroho/django-modelsearch
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61:devel/py-setuptools@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj52-django-tasks>=0.7<1:www/py-dj52-django-tasks@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django52>=5.0<6:www/py-django52@${PY_FLAVOR}
USES= python
USE_PYTHON= autoplist concurrent pep517
NO_ARCH= yes
.include <bsd.port.mk>

View File

@@ -0,0 +1,3 @@
TIMESTAMP = 1762586690
SHA256 (modelsearch-1.1.tar.gz) = bdccbe9c80b7ac37aecc998ca13f7b05915acca1a2405d73755245df03a37a36
SIZE (modelsearch-1.1.tar.gz) = 87284

View File

@@ -0,0 +1,24 @@
--- pyproject.toml.orig 2025-11-04 18:52:34 UTC
+++ pyproject.toml
@@ -1,5 +1,5 @@
[build-system]
-requires = ["setuptools>=80,<81"]
+requires = ["setuptools>=61"]
build-backend = "setuptools.build_meta"
[project]
@@ -11,12 +11,11 @@ dependencies = [
requires-python = ">= 3.10"
dependencies = [
"Django (>5.0,<6)",
- "django-tasks>=0.7,<0.9",
+ "django-tasks>=0.7,<1",
]
description = "A library for indexing Django models with Elasicsearch, OpenSearch or database and searching them with the Django ORM."
readme = "README.md"
-license = "BSD-3-Clause"
-license-files = ["LICENSE"]
+license = {text = "BSD-3-Clause"}
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",

View File

@@ -0,0 +1,23 @@
Django ModelSearch allows you to index Django models and search them using the
ORM!
It supports PostgreSQL FTS, SQLite FTS5, MySQL FTS, MariaDB FTS, Elasticsearch
(7.x, 8.x, and 9.x), and OpenSearch (2.x and 3.x).
Features:
- Index models in Elasticsearch and OpenSearch and query with the Django ORM
- Reuse existing QuerySets for search, works with Django paginators and
django-filter
- Also supports PostgreSQL FTS, MySQL FTS, MariaDB FTS and SQLite FTS5
- Autocomplete
- Faceting
- Per-field boosting
- Fuzzy Search
- Phrase search
- Structured queries
- Multi-table inheritance
- Zero-downtime index rebuilding (uses aliases to atomically swap in a new index
when its ready)
This has been built into Wagtail CMS since 2014 and extracted into a separate
package in March 2025.