Metadata-Version: 2.4
Name: Invenio-Theme-TUW
Version: 2026.0.8
Summary: TU Wien corporate design for InvenioRDM.
Project-URL: Repository, https://gitlab.tuwien.ac.at/crdm/invenio-theme-tuw
Author-email: "Team of the Center for Research Data Management (TU Wien)" <tudata@tuwien.ac.at>
License-Expression: MIT
License-File: AUTHORS.rst
License-File: LICENSE
Keywords: corporate design,invenio,theme,tu wien
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Requires-Dist: flask-session-captcha>=1.5.0
Requires-Dist: flask-webpackext>=1.0.0
Requires-Dist: flask>=2.0.2
Requires-Dist: invenio-app-rdm>=13.1.0
Requires-Dist: invenio-search>=2.0.0
Requires-Dist: setuptools<82
Provides-Extra: comstats
Requires-Dist: folium; extra == 'comstats'
Requires-Dist: geopandas; extra == 'comstats'
Requires-Dist: pandas; extra == 'comstats'
Provides-Extra: tests
Requires-Dist: opensearch-dsl>=2.1.0; extra == 'tests'
Requires-Dist: opensearch-py~=2.0; extra == 'tests'
Requires-Dist: pytest-black>=0.3.0; extra == 'tests'
Requires-Dist: pytest-invenio>=3; extra == 'tests'
Requires-Dist: pytest-ruff>=0.4.1; extra == 'tests'
Description-Content-Type: text/x-rst

..
    SPDX-FileCopyrightText: 2020-2026 TU Wien.
    SPDX-License-Identifier: MIT

===================
 Invenio-Theme-TUW
===================

This package belongs to the `TU Wien suite of InvenioRDM customizations <https://gitlab.tuwien.ac.at/crdm>`__ that make up `TU Wien Research Data <https://researchdata.tuwien.ac.at>`__.

It provides various frontend components to give it the distinct look and feel of TU Wien services.
Also, it also brings some extra functionality and new endpoints.



Features
========

Some of the features provided by this package:

* TU Wien corporate design
* Form to contact the owner of records
* Guarded record deposit & community creation pages
* Per-community page with summarized download statistics for its records
* Extra pages with information related to the service at TU Wien (policies, contact, "about" pages, ...)
* Web UI for composing outreach emails to users in the system
* Small bespoke admin pages geared towards use at TU Wien
* Greetings from the Easter Bunny
* Etc.


Even though not strictly a provided feature, the extended testing setup is also noteworthy (see below).



Installation
============

After installing Invenio-Theme-TUW (e.g. via ``pip``), Invenio's assets have to be updated:

.. code-block:: console

   $ pip install invenio-theme-tuw  # or another package manager
   $ invenio-cli assets build



Tests
=====

To execute the tests, the project has to be installed locally.
Then, the ``run-tests.sh`` script can be executed.

.. code-block:: console

   $ uv sync --all-extras
   $ source .venv/bin/activate
   $ ./run-tests.sh
   $ deactivate



Testing setup
-------------

In addition to the usual events like merge requests, the tests are run nightly via GitLab CI/CD.

The definition for the installed environment (``uv.lock``, also exported as ``requirements.txt``) is provided as job artifacts to developers.
This makes it easier to diagnose breakage due to dependency upgrades.

Further, we're checking our overrides (like Jinja templates and JS) against the latest upstream definitions as part of the tests.
In combination with the nightly tests, this provides us with an early warning system about changes that need chasing.
