netbox-toolkit-plugin 0.1.1__tar.gz → 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/PKG-INFO +1 -1
  2. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/__init__.py +1 -1
  3. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/connectors/factory.py +1 -1
  4. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/connectors/netmiko_connector.py +1 -1
  5. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/connectors/scrapli_connector.py +1 -1
  6. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/services/command_service.py +1 -1
  7. netbox_toolkit_plugin-0.1.1/netbox_toolkit_plugin/config.py → netbox_toolkit_plugin-0.1.2/netbox_toolkit_plugin/settings.py +17 -7
  8. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin.egg-info/PKG-INFO +1 -1
  9. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin.egg-info/SOURCES.txt +1 -1
  10. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/pyproject.toml +2 -2
  11. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/LICENSE +0 -0
  12. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/README.md +0 -0
  13. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/admin.py +0 -0
  14. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/__init__.py +0 -0
  15. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/mixins.py +0 -0
  16. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/schemas.py +0 -0
  17. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/serializers.py +0 -0
  18. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/urls.py +0 -0
  19. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/views/__init__.py +0 -0
  20. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/views/command_logs.py +0 -0
  21. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/views/commands.py +0 -0
  22. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/connectors/__init__.py +0 -0
  23. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/connectors/base.py +0 -0
  24. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/exceptions.py +0 -0
  25. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/filtersets.py +0 -0
  26. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/forms.py +0 -0
  27. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/0001_initial.py +0 -0
  28. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/0002_alter_command_options_alter_command_unique_together_and_more.py +0 -0
  29. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/0003_permission_system_update.py +0 -0
  30. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/0004_remove_django_permissions.py +0 -0
  31. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/0005_alter_command_options_and_more.py +0 -0
  32. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/0006_commandlog_parsed_data_commandlog_parsing_success_and_more.py +0 -0
  33. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/0007_alter_commandlog_parsing_template.py +0 -0
  34. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/__init__.py +0 -0
  35. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/models.py +0 -0
  36. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/navigation.py +0 -0
  37. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/search.py +0 -0
  38. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/services/__init__.py +0 -0
  39. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/services/device_service.py +0 -0
  40. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/services/rate_limiting_service.py +0 -0
  41. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/static/netbox_toolkit_plugin/css/toolkit.css +0 -0
  42. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/static/netbox_toolkit_plugin/js/toolkit.js +0 -0
  43. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/tables.py +0 -0
  44. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit/command.html +0 -0
  45. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit/command_list.html +0 -0
  46. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit/commandlog.html +0 -0
  47. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit/device_toolkit.html +0 -0
  48. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit_plugin/command.html +0 -0
  49. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit_plugin/command_edit.html +0 -0
  50. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit_plugin/command_list.html +0 -0
  51. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit_plugin/commandlog.html +0 -0
  52. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit_plugin/commandlog_list.html +0 -0
  53. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit_plugin/device_toolkit.html +0 -0
  54. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/urls.py +0 -0
  55. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/utils/__init__.py +0 -0
  56. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/utils/connection.py +0 -0
  57. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/utils/error_parser.py +0 -0
  58. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/utils/logging.py +0 -0
  59. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/utils/network.py +0 -0
  60. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/views.py +0 -0
  61. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin.egg-info/dependency_links.txt +0 -0
  62. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin.egg-info/entry_points.txt +0 -0
  63. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin.egg-info/requires.txt +0 -0
  64. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin.egg-info/top_level.txt +0 -0
  65. {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: netbox-toolkit-plugin
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: NetBox plugin for running pre-defined commands on network devices
5
5
  Author: Andy Norwood
6
6
  Classifier: Development Status :: 3 - Alpha
@@ -1,7 +1,7 @@
1
1
  from netbox.plugins import PluginConfig
2
2
 
3
3
  __author__ = "Andy Norwood"
4
- __version__ = "0.1.1"
4
+ __version__ = "0.1.2"
5
5
 
6
6
 
7
7
  class ToolkitPluginConfig(PluginConfig):
@@ -7,7 +7,7 @@ from django.db.models import Model
7
7
  from dcim.models import Device
8
8
 
9
9
  from ..exceptions import UnsupportedPlatformError, DeviceConnectionError
10
- from ..config import ToolkitSettings
10
+ from ..settings import ToolkitSettings
11
11
  from ..utils.logging import get_toolkit_logger
12
12
  from .base import BaseDeviceConnector, ConnectionConfig
13
13
  from .scrapli_connector import ScrapliConnector
@@ -13,7 +13,7 @@ from netmiko.exceptions import (
13
13
  )
14
14
 
15
15
  from .base import BaseDeviceConnector, ConnectionConfig, CommandResult
16
- from ..config import ToolkitSettings
16
+ from ..settings import ToolkitSettings
17
17
  from ..exceptions import (
18
18
  DeviceConnectionError,
19
19
  CommandExecutionError,
@@ -8,7 +8,7 @@ from scrapli.driver.generic import GenericDriver
8
8
  from scrapli.exceptions import ScrapliException
9
9
 
10
10
  from .base import BaseDeviceConnector, ConnectionConfig, CommandResult
11
- from ..config import ToolkitSettings
11
+ from ..settings import ToolkitSettings
12
12
  from ..exceptions import (
13
13
  DeviceConnectionError,
14
14
  CommandExecutionError,
@@ -10,7 +10,7 @@ from ..connectors.factory import ConnectorFactory
10
10
  from ..connectors.base import CommandResult
11
11
  from ..connectors.netmiko_connector import NetmikoConnector
12
12
  from ..exceptions import DeviceConnectionError, CommandExecutionError
13
- from ..config import ToolkitSettings
13
+ from ..settings import ToolkitSettings
14
14
  from ..utils.logging import get_toolkit_logger
15
15
 
16
16
  logger = get_toolkit_logger(__name__)
@@ -1,8 +1,18 @@
1
1
  """Configuration settings for the NetBox Toolkit plugin."""
2
2
 
3
- from typing import Dict, Any
3
+ from typing import Any
4
+
4
5
  from django.conf import settings
5
6
 
7
+ # Plugin metadata - required by NetBox's plugin discovery system
8
+ __version__ = "0.1.1"
9
+ __author__ = "Andy Norwood"
10
+
11
+ # Make these available as module-level attributes for NetBox's plugin system
12
+ version = __version__
13
+ author = __author__
14
+ release_track = "stable" # or "beta", "alpha" - indicates the release track
15
+
6
16
 
7
17
  class ToolkitSettings:
8
18
  """Configuration class for toolkit settings."""
@@ -104,7 +114,7 @@ class ToolkitSettings:
104
114
  }
105
115
 
106
116
  @classmethod
107
- def get_fast_test_timeouts(cls) -> Dict[str, int]:
117
+ def get_fast_test_timeouts(cls) -> dict[str, int]:
108
118
  """Get fast connection test timeouts for initial viability testing."""
109
119
  return cls.FAST_TEST_TIMEOUTS.copy()
110
120
 
@@ -117,7 +127,7 @@ class ToolkitSettings:
117
127
  )
118
128
 
119
129
  @classmethod
120
- def get_timeouts_for_device(cls, device_type_model: str = "") -> Dict[str, int]:
130
+ def get_timeouts_for_device(cls, device_type_model: str = "") -> dict[str, int]:
121
131
  """Get timeout configuration for a specific device type."""
122
132
  timeouts = cls.DEFAULT_TIMEOUTS.copy()
123
133
 
@@ -140,17 +150,17 @@ class ToolkitSettings:
140
150
  return cls.PLATFORM_ALIASES.get(platform_lower, platform_lower)
141
151
 
142
152
  @classmethod
143
- def get_ssh_options(cls) -> Dict[str, Any]:
153
+ def get_ssh_options(cls) -> dict[str, Any]:
144
154
  """Get SSH transport options."""
145
155
  return cls.SSH_TRANSPORT_OPTIONS.copy()
146
156
 
147
157
  @classmethod
148
- def get_retry_config(cls) -> Dict[str, int]:
158
+ def get_retry_config(cls) -> dict[str, int]:
149
159
  """Get retry configuration."""
150
160
  return cls.RETRY_CONFIG.copy()
151
161
 
152
162
  @classmethod
153
- def get_ssh_transport_options(cls) -> Dict[str, Any]:
163
+ def get_ssh_transport_options(cls) -> dict[str, Any]:
154
164
  """Get SSH transport options for Scrapli."""
155
165
  user_config = getattr(settings, "PLUGINS_CONFIG", {}).get(
156
166
  "netbox_toolkit_plugin", {}
@@ -158,7 +168,7 @@ class ToolkitSettings:
158
168
  return {**cls.SSH_TRANSPORT_OPTIONS, **user_config.get("ssh_options", {})}
159
169
 
160
170
  @classmethod
161
- def get_netmiko_config(cls) -> Dict[str, Any]:
171
+ def get_netmiko_config(cls) -> dict[str, Any]:
162
172
  """Get Netmiko configuration for fallback connections."""
163
173
  user_config = getattr(settings, "PLUGINS_CONFIG", {}).get(
164
174
  "netbox_toolkit_plugin", {}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: netbox-toolkit-plugin
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: NetBox plugin for running pre-defined commands on network devices
5
5
  Author: Andy Norwood
6
6
  Classifier: Development Status :: 3 - Alpha
@@ -3,13 +3,13 @@ README.md
3
3
  pyproject.toml
4
4
  netbox_toolkit_plugin/__init__.py
5
5
  netbox_toolkit_plugin/admin.py
6
- netbox_toolkit_plugin/config.py
7
6
  netbox_toolkit_plugin/exceptions.py
8
7
  netbox_toolkit_plugin/filtersets.py
9
8
  netbox_toolkit_plugin/forms.py
10
9
  netbox_toolkit_plugin/models.py
11
10
  netbox_toolkit_plugin/navigation.py
12
11
  netbox_toolkit_plugin/search.py
12
+ netbox_toolkit_plugin/settings.py
13
13
  netbox_toolkit_plugin/tables.py
14
14
  netbox_toolkit_plugin/urls.py
15
15
  netbox_toolkit_plugin/views.py
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
7
7
 
8
8
  [project]
9
9
  name = "netbox-toolkit-plugin"
10
- version = "0.1.1"
10
+ version = "0.1.2"
11
11
  authors = [
12
12
  {name = "Andy Norwood"},
13
13
  ]
@@ -28,7 +28,7 @@ requires-python = ">=3.10.0"
28
28
 
29
29
  dependencies = [
30
30
  "scrapli>=2023.1.30",
31
- "scrapli-netconf>=2023.1.30",
31
+ "scrapli-netconf>=2023.1.30",
32
32
  "scrapli-community>=2023.1.30",
33
33
  "netmiko>=4.0.0"
34
34
  ]