# See PEP 518 for the spec of this file # https://www.python.org/dev/peps/pep-0518/ [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" [project] name = "netbox-librenms-plugin" version = "0.4.6" authors = [ {name = "Andy Norwood"}, ] description = "Netbox plugin to sync data between LibreNMS and Netbox." readme = "README.md" classifiers=[ 'Development Status :: 3 - Alpha', 'Intended Audience :: Developers', 'Natural Language :: English', "Programming Language :: Python :: 3 :: Only", 'Programming Language :: Python :: 3.12', 'Programming Language :: Python :: 3.13', 'Programming Language :: Python :: 3.14', ] requires-python = ">=3.12.0" [project.urls] "Homepage" = "https://github.com/bonzo81/netbox-librenms-plugin/" "Bug Tracker" = "https://github.com/bonzo81/netbox-librenms-plugin/issues/" # New: Restrict package discovery to our plugin only [tool.setuptools] include-package-data = true [tool.setuptools.packages.find] include = ["netbox_librenms_plugin*"] exclude = ["site*", "netbox_librenms_plugin.tests*"] [tool.setuptools.package-data] netbox_librenms_plugin = ["templates/**"] [tool.pytest.ini_options] DJANGO_SETTINGS_MODULE = "netbox.settings" pythonpath = ["/opt/netbox/netbox"] testpaths = ["netbox_librenms_plugin/tests"] python_files = "test_*.py" python_classes = "Test*" python_functions = "test_*" addopts = "-v --tb=short" [tool.ruff] line-length = 120 [tool.ruff.lint] # Follow NetBox conventions - ignore certain rules ignore = [ "E501", # Line too long (strongly encouraged but not enforced) "F403", # Undefined local with import star "F405", # Undefined local with import star usage ] [tool.ruff.lint.mccabe] # Flag errors (`C901`) whenever the complexity level exceeds 15. # Rule not enforced - only to bump default 10 to 15 to allow for manual check max-complexity = 15 [tool.ruff.lint.per-file-ignores] # Allow re-exports in __init__.py files "__init__.py" = ["F401"]