# https://packaging.python.org/en/latest/tutorials/packaging-projects/ # https://hatch.pypa.io/latest/config/build/ [project] name = "tutor-cairn" license = { text = "AGPL-3.0-only" } authors = [ {name = "Edly"}, {email = "hello@edly.io"}, ] maintainers = [ {name = "Eemaan Amir"}, {email = "eemaan.amir@arbisoft.com"} ] description = "Scalable, real-time analytics for Open edX" readme = {file = "README.rst", content-type = "text/x-rst"} requires-python = ">= 3.9" classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ] dependencies = [ "tutor>=20.0.0,<21.0.0", ] # these fields will be set by hatch_build.py dynamic = ["version"] [project.optional-dependencies] dev = [ "tutor[dev]>=20.0.0,<21.0.0", "ruff", ] [project.entry-points."tutor.plugin.v1"] cairn = "tutorcairn.plugin" # https://packaging.python.org/en/latest/specifications/well-known-project-urls/#well-known-labels [project.urls] Homepage = "https://docs.tutor.edly.io/" Documentation = "https://docs.tutor.edly.io/" Code = "https://github.com/overhangio/tutor-cairn" Issues = "https://github.com/overhangio/tutor-cairn.git/issues" Changelog = "https://github.com/overhangio/tutor-cairn/blob/release/CHANGELOG.md" Community = "https://discuss.openedx.org/tag/tutor" # hatch-specific configuration [tool.hatch.metadata.hooks.custom] path = ".hatch_build.py" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.sdist] # Disable strict naming, otherwise twine is not able to detect name/version strict-naming = false include = [ "/tutorcairn", '.hatch_build.py'] exclude = ["tests*"] [tool.hatch.build.targets.wheel] packages = ["tutorcairn"] [tool.ruff] exclude = ["templates", "docs/_ext"] [tool.ruff.lint] # E: pycodestyle errors # I: isort # N: pep8-naming select = ["E", "I", "N"] # F401: unused-import # F841: unused-variable # W292: missing-newline-at-end-of-file extend-select = ["F401", "F841", "W292"] [tool.ruff.format]