[project] name = "invenio-theme-iform" dynamic = ["version"] description = "Invenio module for the I-Form theme." readme = { file = "README.rst", content-type = "text/x-rst" } license = "MIT" authors = [ { name = "I-Form Advanced Research Manufacturing Research Centre", email = "cian.hughes@dcu.ie" }, ] keywords = ["invenio", "theme", "invenioRDM", "I-Form"] classifiers = [ "Environment :: Web Environment", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules", "Programming Language :: Python :: 3.12", "Development Status :: 3 - Alpha", ] requires-python = ">=3.10,<3.13" dependencies = [ "invenio-assets>=2.0.0", "invenio-i18n>=1.3.1", "invenio-config-iform>=0.11.0", "invenio_records_global_search>=0.0.1", "invenio_records_marc21>=0.21.0", ] [tool.uv.sources] invenio-config-iform = { path = "wheel/invenio_config_iform-0.13.1-py3-none-any.whl" } [project.urls] Homepage = "https://github.com/Cian-H/invenio-theme-iform" Issues = "https://github.com/Cian-H/invenio-theme-iform/issues" [dependency-groups] tests = [ "invenio-app>=1.3.4,<2.0.0", "invenio-previewer>=2.2.0", "invenio-rdm-records<17.0.0", "invenio-search[opensearch2]>=2.1.0", "pytest<8.0.0", "pytest-invenio>=2.1.0", "pytest-ruff>=0.4.1", "Sphinx>=4.5.0", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.version] path = "invenio_theme_iform/__version__.py" [tool.hatch.build] include = ["invenio_theme_iform"] exclude = [".venv", "tests/*", "*/tests/*", "*.rst", "run-tests.sh"] # Testing configuration [tool.pytest] addopts = "--ruff --ruff-format --pydocstyle --doctest-glob=\"*.rst\" --doctest-modules --cov=invenio_config_iform --cov-report=term-missing tests invenio_theme_iform" testpaths = ["tests", "invenio_theme_iform"] live_server_scope = "module" [tool.pytest.ini_options] addopts = "--ruff --ruff-format --pydocstyle --doctest-glob=\"*.rst\" --doctest-modules --cov=invenio_config_iform --cov-report=term-missing tests invenio_theme_iform" testpaths = ["tests", "invenio_theme_iform"] live_server_scope = "module" # Code style tools configuration [tool.ruff] line-length = 100 target-version = "py313" exclude = ["docs"] [tool.ruff.lint.isort] force-sort-within-sections = true lines-after-imports = -1 [tool.ruff.format] quote-style = "double" indent-style = "space" line-ending = "auto" [tool.pydocstyle] add_ignore = ["D401"] # Babel configuration [tool.babel.compile_catalog] directory = "invenio_theme_iform/translations/" use-fuzzy = true [tool.babel.extract_messages] copyright_holder = "I-Form Advanced Research Manufacturing Research Centre" msgid_bugs_address = "cian.hughes@dcu.ie" mapping-file = "babel.ini" output-file = "invenio_theme_iform/translations/messages.pot" add-comments = "NOTE" [tool.babel.init_catalog] input-file = "invenio_theme_iform/translations/messages.pot" output-dir = "invenio_theme_iform/translations/" [tool.babel.update_catalog] input-file = "invenio_theme_iform/translations/messages.pot" output-dir = "invenio_theme_iform/translations/"