[project] name = "markdown-view-plugin" version = "0.1.1" description = "Airflow UI plugin to render Markdown content using FastAPI and React." readme = "README.md" requires-python = ">=3.9" authors = [ {name = "Abhishek Bhakat", email = "abhishek.bhakat@hotmail.com"} ] dependencies = [ "apache-airflow>=3.0.0", # Adjust as per your Airflow version compatibility "fastapi>=0.100.0", # Specify a version range as needed "anyio>=3.0.0", # Specify a version range as needed "importlib-resources>=5.0.0" # For static file access in Python <3.9, stdlib in >=3.9 ] classifiers = [ "Development Status :: 3 - Alpha", "Environment :: Plugins", "Framework :: Apache Airflow", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: System :: Monitoring" ] license = {text = "MIT"} # Updated to new license expression # license-files = ["LICEN[CS]E*"] # Optional: if you add a LICENSE file # Hatch-specific way to specify top-level Python modules py-modules = ["markdown_view_plugin"] [project.urls] GitHub = "https://github.com/abhishekbhakat/airflow-markdown-view-plugin" # Replace with actual URL if it exists Issues = "https://github.com/abhishekbhakat/airflow-markdown-view-plugin/issues" # Replace with actual URL [project.entry-points."airflow.plugins"] markdown_view_plugin = "markdown_view_plugin:MarkdownViewPlugin" [project.optional-dependencies] dev = [ "build>=1.2.2", "pre-commit>=4.0.1", "ruff>=0.9.2" ] [build-system] requires = ["hatchling>=1.24"] build-backend = "hatchling.build" [tool.hatch.build.hooks.custom] path = "hatch_build.py" [tool.hatch.build.targets.wheel] # Ensure data files are included in the wheel at the root. # markdown_view_plugin.py will be handled by `project.py-modules`. # These paths are relative to the pyproject.toml file. include = [ "view.md", "README.md", "ui/dist" # This tells Hatch to include the ui/dist directory and its contents ] [tool.ruff] line-length = 200 indent-width = 4 fix = true preview = true lint.select = [ "E", # pycodestyle errors "F", # pyflakes "I", # isort "W", # pycodestyle warnings "C90", # Complexity "C", # flake8-comprehensions "ISC", # flake8-implicit-str-concat "T10", # flake8-debugger "A", # flake8-builtins "UP", # pyupgrade ] lint.ignore = [ "C416", # Unnecessary list comprehension - rewrite as a generator expression "C408", # Unnecessary `dict` call - rewrite as a literal "ISC001", # Single line implicit string concatenation "C901" ] lint.fixable = ["ALL"] lint.unfixable = [] [tool.ruff.format] quote-style = "double" indent-style = "space" skip-magic-trailing-comma = false [tool.ruff.lint.isort] combine-as-imports = true [tool.ruff.lint.mccabe] max-complexity = 12