www-apps/changedetection-io - 0.60.9 (tatsh-overlay)

Search

Install

Install this version:

emerge -a =www-apps/changedetection-io-0.60.9

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =www-apps/changedetection-io-0.60.9

Or alternatively:

emerge --autounmask-write -a =www-apps/changedetection-io-0.60.9

Package Information

Description:
Website change detection and monitoring service
Homepage:
https://changedetection.io https://github.com/dgtlmoon/changedetection.io
License:
Apache-2.0

Ebuild Details

Version EAPI Keywords Slot
0.60.9 8 ~amd64 0
View Raw Ebuild
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

PYPI_PN="changedetection.io"
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{12..14} )

inherit distutils-r1 pypi systemd

DESCRIPTION="Website change detection and monitoring service"
HOMEPAGE="https://changedetection.io https://github.com/dgtlmoon/changedetection.io"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"

# Optional and not packaged: gevent (SOCKETIO_MODE=gevent), pyppeteer-ng and pyppeteerstealth (the
# Puppeteer fetcher), litellm and rank-bm25 (LLM features). orjson (deprecated in ::gentoo) only
# speeds up JSON; the stdlib is used without it.
RDEPEND="acct-group/changedetection
	acct-user/changedetection
	app-arch/brotli[python,${PYTHON_USEDEP}]
	>=dev-python/apprise-2.0.1[${PYTHON_USEDEP}]
	dev-python/arrow[${PYTHON_USEDEP}]
	>=dev-python/babel-2.18.0[${PYTHON_USEDEP}]
	>=dev-python/beautifulsoup4-4.15.0[${PYTHON_USEDEP}]
	dev-python/blinker[${PYTHON_USEDEP}]
	dev-python/chardet[${PYTHON_USEDEP}]
	>=dev-python/cryptography-50.0.2[${PYTHON_USEDEP}]
	dev-python/diff-match-patch[${PYTHON_USEDEP}]
	>=dev-python/elementpath-5.1.4[${PYTHON_USEDEP}]
	dev-python/extruct[${PYTHON_USEDEP}]
	>=dev-python/feedgen-1.0[${PYTHON_USEDEP}]
	>=dev-python/feedparser-6.0[${PYTHON_USEDEP}]
	>=dev-python/flask-3.1[${PYTHON_USEDEP}]
	<dev-python/flask-4[${PYTHON_USEDEP}]
	>=dev-python/flask-babel-4.0.0[${PYTHON_USEDEP}]
	dev-python/flask-compress[${PYTHON_USEDEP}]
	dev-python/flask-cors[${PYTHON_USEDEP}]
	>=dev-python/flask-login-0.6.3[${PYTHON_USEDEP}]
	dev-python/flask-paginate[${PYTHON_USEDEP}]
	dev-python/flask-restful[${PYTHON_USEDEP}]
	>=dev-python/flask-socketio-5.6.1[${PYTHON_USEDEP}]
	<dev-python/flask-socketio-6[${PYTHON_USEDEP}]
	>=dev-python/flask-wtf-1.3[${PYTHON_USEDEP}]
	>=dev-python/greenlet-3.5.6[${PYTHON_USEDEP}]
	>=dev-python/inscriptis-2.7[${PYTHON_USEDEP}]
	>=dev-python/jinja2-3.1[${PYTHON_USEDEP}]
	dev-python/jq[${PYTHON_USEDEP}]
	>=dev-python/jsonpath-ng-1.9.1[${PYTHON_USEDEP}]
	>=dev-python/jsonschema-4.26.0[${PYTHON_USEDEP}]
	dev-python/linkify-it-py[${PYTHON_USEDEP}]
	dev-python/loguru[${PYTHON_USEDEP}]
	>=dev-python/lxml-6.1.3[${PYTHON_USEDEP}]
	>=dev-python/openapi-core-0.23[${PYTHON_USEDEP}]
	dev-python/openpyxl[${PYTHON_USEDEP}]
	dev-python/paho-mqtt[${PYTHON_USEDEP}]
	dev-python/panzi-json-logic[${PYTHON_USEDEP}]
	>=dev-python/pluggy-1.6[${PYTHON_USEDEP}]
	dev-python/price-parser[${PYTHON_USEDEP}]
	dev-python/psutil[${PYTHON_USEDEP}]
	dev-python/puremagic[${PYTHON_USEDEP}]
	>=dev-python/pydantic-2.13.5[${PYTHON_USEDEP}]
	dev-python/pysocks[${PYTHON_USEDEP}]
	>=dev-python/python-engineio-4.14.0[${PYTHON_USEDEP}]
	>=dev-python/python-socketio-5.17.0[${PYTHON_USEDEP}]
	dev-python/pytz[${PYTHON_USEDEP}]
	dev-python/rapidfuzz[${PYTHON_USEDEP}]
	>=dev-python/referencing-0.37.0[${PYTHON_USEDEP}]
	dev-python/requests[${PYTHON_USEDEP}]
	dev-python/requests-file[${PYTHON_USEDEP}]
	>=dev-python/segno-1.6.6[${PYTHON_USEDEP}]
	>=dev-python/selenium-4.50.0[${PYTHON_USEDEP}]
	>=dev-python/timeago-1.0[${PYTHON_USEDEP}]
	dev-python/tzdata[${PYTHON_USEDEP}]
	>=dev-python/validators-0.35[${PYTHON_USEDEP}]
	>=dev-python/werkzeug-3.1.9[${PYTHON_USEDEP}]
	>=dev-python/wtforms-3.2[${PYTHON_USEDEP}]"

src_prepare() {
	# Upstream pins exact versions and lists optional and test-only packages here; Portage handles
	# the dependencies instead.
	: > requirements.txt || die
	distutils-r1_src_prepare
}

python_install_all() {
	distutils-r1_python_install_all
	newinitd "${FILESDIR}/${PN}.initd" "${PN}"
	newconfd "${FILESDIR}/${PN}.confd" "${PN}"
	systemd_dounit "${FILESDIR}/${PN}.service"
}

# Tests need a running server and network access.

Inherited Eclasses

Dependencies

RDEPEND

acct-group/changedetection
	acct-user/changedetection
	app-arch/brotli[python,]
	>=dev-python/apprise-2.0.1[]
	dev-python/arrow[]
	>=dev-python/babel-2.18.0[]
	>=dev-python/beautifulsoup4-4.15.0[]
	dev-python/blinker[]
	dev-python/chardet[]
	>=dev-python/cryptography-50.0.2[]
	dev-python/diff-match-patch[]
	>=dev-python/elementpath-5.1.4[]
	dev-python/extruct[]
	>=dev-python/feedgen-1.0[]
	>=dev-python/feedparser-6.0[]
	>=dev-python/flask-3.1[]
	<dev-python/flask-4[]
	>=dev-python/flask-babel-4.0.0[]
	dev-python/flask-compress[]
	dev-python/flask-cors[]
	>=dev-python/flask-login-0.6.3[]
	dev-python/flask-paginate[]
	dev-python/flask-restful[]
	>=dev-python/flask-socketio-5.6.1[]
	<dev-python/flask-socketio-6[]
	>=dev-python/flask-wtf-1.3[]
	>=dev-python/greenlet-3.5.6[]
	>=dev-python/inscriptis-2.7[]
	>=dev-python/jinja2-3.1[]
	dev-python/jq[]
	>=dev-python/jsonpath-ng-1.9.1[]
	>=dev-python/jsonschema-4.26.0[]
	dev-python/linkify-it-py[]
	dev-python/loguru[]
	>=dev-python/lxml-6.1.3[]
	>=dev-python/openapi-core-0.23[]
	dev-python/openpyxl[]
	dev-python/paho-mqtt[]
	dev-python/panzi-json-logic[]
	>=dev-python/pluggy-1.6[]
	dev-python/price-parser[]
	dev-python/psutil[]
	dev-python/puremagic[]
	>=dev-python/pydantic-2.13.5[]
	dev-python/pysocks[]
	>=dev-python/python-engineio-4.14.0[]
	>=dev-python/python-socketio-5.17.0[]
	dev-python/pytz[]
	dev-python/rapidfuzz[]
	>=dev-python/referencing-0.37.0[]
	dev-python/requests[]
	dev-python/requests-file[]
	>=dev-python/segno-1.6.6[]
	>=dev-python/selenium-4.50.0[]
	>=dev-python/timeago-1.0[]
	dev-python/tzdata[]
	>=dev-python/validators-0.35[]
	>=dev-python/werkzeug-3.1.9[]
	>=dev-python/wtforms-3.2[]