Saravanan666/pypi-org huggingface dataset:
Package: netbox-paloalto
Palo Alto Networks firewall/Panorama NetBox pluginThis plugin enables you to list firewall rules defined on your Palo Alto Networks firewall or Panorama management server directly in NetBox. The URL<NETBOX>/plugins/paloalto/<object>will list all firewall rules associated with object (see limitations further down).PreviewCompatibilityNetBox 2.8 and higher.Tested on Panorama PAN-OS 9.1 and PA-220 PAN-OS 9.1.InstallationAddnetbox-paloaltoto your local_requirements.txt.Addnetbox_paloaltotoconfiguration.pylike this:PLUGINS = ['netbox_paloalto']Run./upgrade.shwhich will download the package and run the necessary database migrations.Add you firewall/Panorama (can have multiple) through the Admin GUI of NetBox.Available settingsAssume a NetBox object with name Server01 and IP 1.2.3.4.Available settings in PLUGINS_CONFIG is:transform: True/False - Netbox object is transformed before the search in Panorama/firewall. 
                        Additional search term will be Server01.3.4. Default: False
nesting: <int> - The number of levels of nesting within address groups to perform. Default: 1Generate your Palo Alto firewall API keySeePalo Alto Networks documentationon generating your API key. As this plugin is only reading the configuration a read-only user is recommended.LimitationsLimited nesting for address groups as defaultDoes not include "any" rules based on zones (can't tell the zone from the object name)Does not match with subnet rules (you can have a rule saying 10.0.0.0/8 is allowed, but your object with the address 10.1.1.1 is not listed)Does currently not support other rule types than security rules (no NAT/Decryption/etc)
Package: netbox-plugin-circuit-map
NetBox circuit mapA simple circuit map plugin with filtering criteria for NetBoxInstallationRequirementsThe plugin has been tested and confirmed works on NetBox versions from 3.5.7 and Python version 3.10.StepsIf your NetBox installation uses virtualenv, activate it like this:source /opt/netbox/venv/bin/activateInstall the plugin.To ensure plugin is automatically re-installed during future NetBox upgrades, create a file namedlocal_requirements.txt(if not already existing) in the NetBox root directory
and list thenextbox-plugin-circuit-mappackage:Option A: if you want to install it from PyPI:echo netbox-plugin-circuit-map | sudo tee -a /opt/netbox/local_requirements.txtOption B: if you manually downloaded the plugin distribution from releases:echo "/path/to/netbox-plugin-circuit-map.tar.gz" | sudo tee -a /opt/netbox/local_requirements.txtThen run:sudo pip install -U -r /opt/netbox/local_requirements.txtto install the plugin.Collect static files:sudo python /opt/netbox/netbox/manage.py collectstaticTo enable plugin, add the plugin's name to the PLUGINS list inconfiguration.py(it's usually located in/opt/netbox/netbox/netbox/) like so:PLUGINS = [
    'netbox_circuit_map'
]Restart NetBox WSGI service to apply changes:sudo systemctl restart netboxConfigurationYou can customize plugin behavior according to your needs. For example, install custom map tiles.
Update PLUGINS_CONFIG parameter in theconfiguration.pylike this:PLUGINS_CONFIG={'netbox_circuit_map':{'geomap_settings':{'attribution':'<a href="https://osm.yourdomain.net">Your company</a> | © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors','tiles':{'url_template':'https://osm.yourdomain.net/hot/{z}/{x}/{y}.png','options':{'maxZoom':19}}}}}SettingsSettingDefault valueDescriptiongeomap_settings…Geographical map settingsGeographical map settingsSettingDefault valueDescriptionattributionData by &copy; <a href="https://openstreetmap.org">OpenStreetMap</a>Attribution text in the lower right corner of the mapcrsEPSG3857Coordinate reference systemtiles…Tiles layer settingsCustom tiles layer settings:SettingExample valueDescriptionurl_templatehttps://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png{s}means one of the available subdomains (used sequentially to help with browser parallel requests per domain limitation; subdomain values are specified in options; a, b or c by default, can be omitted),{z}— zoom level,{x}and{y}— tile coordinates.{r}can be used to add "@2x" to the URL to load retina tiles.options{'subdomains' : ['a', 'b', 'c'], 'minZoom': 0, 'maxZoom': 18}Leaflet TileLayeroptionsAcknowledgementsnetbox-plugin-device-mapby Victor Golovanenko, which this plugin's code is based onLeafletLeaflet pluginsleaflet.fullscreenLeaflet-SVGIconleaflet-sidebar
Package: netbox-plugin-device-map
NetBox device mapA simple device map plugin with filtering criteria for NetBoxInstallationRequirementsThe plugin has been tested and confirmed works on NetBox versions from 3.2 to 3.5 and Python versions from 3.10 to 3.11.StepsIf your NetBox installation uses virtualenv, activate it like this:source /opt/netbox/venv/bin/activateInstall the plugin.To ensure plugin is automatically re-installed during future NetBox upgrades, create a file namedlocal_requirements.txt(if not already existing) in the NetBox root directory
and list thenextbox-plugin-device-mappackage:Option A: if you want to install it from PyPI:echo netbox-plugin-device-map | sudo tee -a /opt/netbox/local_requirements.txtOption B: if you manually downloaded the plugin distribution from releases:echo "/path/to/netbox-plugin-device-map.tar.gz" | sudo tee -a /opt/netbox/local_requirements.txtThen run:sudo pip install -U -r /opt/netbox/local_requirements.txtto install the plugin.Collect static files:sudo python /opt/netbox/netbox/manage.py collectstaticTo enable plugin, add the plugin's name to the PLUGINS list inconfiguration.py(it's usually located in/opt/netbox/netbox/netbox/) like so:PLUGINS = [
    'netbox_device_map'
]Restart NetBox WSGI service to apply changes:sudo systemctl restart netboxConfigurationYou can customize plugin behavior according to your needs. For example, change the custom field that contains device coordinates or install custom map tiles.
Update PLUGINS_CONFIG parameter in theconfiguration.pylike this:PLUGINS_CONFIG={'netbox_device_map':{'device_geolocation_cf':'coordinates','cpe_device_role':'CPE','geomap_settings':{'attribution':'<a href="https://osm.yourdomain.net">Your company</a> | © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors','tiles':{'url_template':'https://osm.yourdomain.net/hot/{z}/{x}/{y}.png','options':{'maxZoom':19}}}}}SettingsSettingDefault valueDescriptiondevice_geolocation_cfgeolocationNetBox custom field for storing geographical location of devices (in the"<latitude>,<longitude>"format)cpe_device_roleCPEName of the NetBox device role that contains CPE devicesgeomap_settings…Geographical map settingsGeographical map settingsSettingDefault valueDescriptionattributionData by &copy; <a href="https://openstreetmap.org">OpenStreetMap</a>Attribution text in the lower right corner of the mapcrsEPSG3857Coordinate reference systemtiles…Tiles layer settingsCustom tiles layer settings:SettingExample valueDescriptionurl_templatehttps://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png{s}means one of the available subdomains (used sequentially to help with browser parallel requests per domain limitation; subdomain values are specified in options; a, b or c by default, can be omitted),{z}— zoom level,{x}and{y}— tile coordinates.{r}can be used to add "@2x" to the URL to load retina tiles.options{'subdomains' : ['a', 'b', 'c'], 'minZoom': 0, 'maxZoom': 18}Leaflet TileLayeroptionsAcknowledgementsLeafletLeaflet pluginsleaflet.fullscreenLeaflet-SVGIconleaflet-sidebar
Package: netbox-plugin-dns
NetBox DNSNetBox DNS is a NetBox plugin for managing DNS views, zones, name servers and records.FeaturesManage name servers, zones and recordsAutomatically generate SOA and NS records for zonesAutomatically create and update PTR records for IPv4 and IPv6 recordsOptionally organize DNS zones in views for split horizon DNS and multi-site deploymentsOptionally maintain domain registrar and registrant information for zonesMaintain RFC2317 reverse zones for IPv4 prefixes with a network mask length longer than 24 bitsNetBox DNS is using the standardized NetBox plugin interface, so it also takes advantage of the NetBox tagging and change log features.RequirementsNetBox 3.5.0 or higherPython 3.8 or higherInstallation & ConfigurationInstallation$ source /opt/netbox/venv/bin/activate
(venv) $ pip install netbox-plugin-dnsNetBox ConfigurationAdd the plugin to the NetBox config.~/netbox/configuration.pyPLUGINS=["netbox_dns",]To permanently keep the plugin installed when updating NetBox viaupdate.sh:echo netbox-plugin-dns >> ~/netbox/local_requirements.txtTo add the required netbox_dns tables to your database run the following command from your NetBox directory:./manage.py migrateFull documentation on using plugins with NetBox:Using Plugins - NetBox DocumentationContributeContributions are always welcome! Please see:contributing guideDocumentationFor further information, please refer to the full documentation:Using NetBox DNSLicenseMIT
Package: netbox-plugin-machine-tracking
Machine failures tracking systemA Netbox plugin for keeping track of failures and other state changes for individual devices.InstallationThe plugin is available as a Python package in pypi and can be installed with pippip install netbox-plugin-machine-trackingOnce installed, the plugin needs to be added to the configuration.py file.PLUGINS=['machine_tracking']UsageThe plugin shows a log of all state changes under the 'Events' page and log of all replacements under 'Replacements'.For each device, a panel has been added to show the number of failures in the past 60 days, average time between failures and a link to see all events (state changes) related to that device.
Package: netbox-plugin-webhook-receiver
NetBox Webhook ReceiverNetBox Webhook Receiver is a NetBox plugin for managing webhook receiver endpoints and executing assigned actions.This plugin aims mainly to streamline the deployment process of scripts and export templates to Netbox by triggering the synchronisation of its Data Sources through incomming webhooks. Adding the receiver capability to Netbox opens other possible use cases, which might be worth exploring further. One exemple could be running Netbox Scripts triggered by remote events where it is not easy to execute a direct API call.FeaturesPer endpoint authentication (signature validation or custom header) on receiving webhooksWebhook url enriched with automaticaly generated uuid value for additional securityDedicated view to configure each webhook receiver urlLogical grouping of the receiversOptionally store incomming webhook payloadCustom actions execution on successfully receving authenticated webhook message. Currently only one action available: Synchronize Netbox git 'Data Source'Use of standard Netbox jobs to enqueue webhook actions in the workers.Additional actions to be implementedPlugin configuration parametersRequirementsNetBox 3.5 or higherPython 3.10 or higherInstallation & ConfigurationFor all netbox plugin installations please refer to the oficial guide:Using Plugins - NetBox DocumentationPlease remember that this plugin introduces new database models, therefore you must run the provided database schema migrations:$ source /opt/netbox/venv/bin/activate
(venv) $ cd /opt/netbox/netbox/
(venv) $ python3 manage.py migrateScreenshots
Package: netbox-python
NetBox PythonPython API client library forNetBox.Note:This is a preliminary release and still under development.Github repository:https://github.com/netbox-community/netbox-python/Documentationhttps://netbox-community.github.io/netbox-python/Report a BugRequest a FeatureAsk a QuestionTable of ContentsAboutGetting StartedUsageRoadmapSupportContributingAuthors & contributorsLicenseAboutThis is a thin python wrapper over the NetBox API.Getting StartedTo install runpip install netbox-python.Alternatively, you can clone the repo and runpython setup.py install.UsageThe full documentation is athttps://netbox-community.github.io/netbox-python/, but the following should be enough to get started using it.To begin, import the NetBox client and instantiate it:from netbox_python import NetBoxClient, Result
nb = NetBoxClient(
    base_url="http://127.0.0.1:8000/", token="1dc6fa5bfcef8390dd83a261c36ed8f1551b2d6b"
)The first argument NetBoxClient takes is the NetBox URL. The 'token' argument is from NetBox.Now using the client you can make calls to the api, for example:# 1. List (paginated)
ret = nb.dcim.sites.list(limit=3)

# 2. Filtered List
ret = nb.dcim.sites.list(region_id="43")

# 3. All
ret = nb.dcim.sites.all()

# 4. Get
ret = nb.dcim.sites.get(24)

# 5. Create
ret = nb.dcim.sites.create(name="foo3", slug="foo3")

# 6. Bulk Create
data = [
    {"name": "foo4", "slug": "foo4"},
    {"name": "foo5", "slug": "foo5"},
    {"name": "foo6", "slug": "foo6"},
]
ret = nb.dcim.sites.create(data)

# 7. Update
ret = nb.dcim.sites.update(26, name="foo2-new", slug="foo2-new-slug")

# 8. Bulk Update
data = [
    {"id": 28, "name": "foo4-new", "slug": "foo4-new"},
    {"id": 29, "name": "foo5-new", "slug": "foo5-new"},
]
ret = nb.dcim.sites.update(data)

# 9. Delete
ret = nb.dcim.sites.delete(37)

# 10. Bulk Delete
data = [{"id": 25}, {"id": 27}]
ret = nb.dcim.sites.delete(data)The methods on the api's correspond to the NetBox REST API, so ('circuits', 'core', 'dcim', 'extras', 'ipam', 'plugins', 'tenancy', 'users', 'virtualization', 'wireless')circuits would have 'circuit_terminations', 'circuit_types', etc... off of it.  Each of the endpoints has 'list', 'get', 'create', 'update' and 'delete' functions.RoadmapSee theopen issuesfor a list of proposed features (and known issues).Top Feature Requests(Add your votes using the 👍 reaction)Top Bugs(Add your votes using the 👍 reaction)Newest BugsSupportReach out to the maintainer at one of the following places:GitHub DiscussionsContributingFirst off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and aregreatly appreciated.Please readour contribution guidelines, and thank you for being involved!Authors & contributorsThe original setup of this repository is byArthur Hanson.For a full list of all authors and contributors, seethe contributors page.LicenseThis project is licensed under theApache Software License 2.0.SeeLICENSEfor more information.
Package: netbox-rbac
IntroductionThis package is an opinionated implementation of role based access control for NetBox.It completely replaces the default authentication backend, using Active Directory for authentication and determining group membership. A user's roles are updated only on login, and are stored in the database.Once installed, a user mayview their roles.Installation$ pip3 install netbox-rbacConfigurationAdd the following tourls.py._patterns += [
	path('', include('netbox_rbac.urls') ),
]Add the following tosettings.py. Either the LDAP or MOCK driver can be used, but not both.AUTHENTICATION_BACKENDS = [
    'netbox_rbac.backend.Backend',
]

INSTALLED_APPS += (
	'netbox_rbac',
)

MIDDLEWARE += (
	'netbox_rbac.middleware.Middleware',
)

REST_FRAMEWORK.update({
	'DEFAULT_PERMISSION_CLASSES': (
		'netbox_rbac.api.TokenPermissions',
		'netbox.api.TokenPermissions',
	)
})

LOGGING.update({
	'loggers': {
		'netbox_rbac': {
			'handlers': ['console'],
			'level':     'INFO',
		},
	},
})LDAPRBAC = {
	'AUTH': {
		'LDAP': {
			'domain': 'COMPANY.COM',
			'server': 'ldap://ldap.company.com:3268',
			'search': {
				'group': {
					'base':   'OU=Groups,DC=company,DC=com',
					'filter': '(&(sAMAccountName=%s)(objectClass=group))',
				},
				'member': {
					'base':   'OU=Accounts,DC=company,DC=com',
					'filter': '(&(sAMAccountName=%s)(memberOf:1.2.840.113556.1.4.1941:=%s))',
				},
				'user': {
					'base':   'OU=Accounts,DC=company,DC=com',
					'filter': '(&(sAMAccountName=%s)(objectClass=user))',
				},
			},
		},
	},
	'RULE': [
		'/opt/netbox-rules/rules.yaml',
		'https://rules.company.com/rules.yaml',
	],
}MockRBAC = {
	'AUTH': {
		'MOCK': {
			'users': [{
				'username': 'ebusto',
				'password': 'pw12345',
				'email':    'ebusto@nvidia.com',
				'first_name': 'Eric',
				'last_name':  'Busto',
				'groups': ['Access-NetBox-Read', 'Access-NetBox-Admin-DCIM'],
			}],
		},
	},
	'RULE': [
		'/opt/netbox-rules/rules.yaml',
		'https://rules.company.com/rules.yaml',
	],
}DatabaseGenerate and apply RBAC model migrations.$ ./manage.py makemigrations netbox_rbac
$ ./manage.py showmigrations
$ ./manage.py migrateRulesSee theexamplerules, anddocumentation. The rule paths can be local files or URLs, and the backend will try each path in turn until it succeeds.
Package: netbox-reorder
NetBox plugin to order interfaces more intuitively:warning:This plugin hacks into NetBox: This plugin definitely does not follow the supported plugin protocol, and can break NetBox!CompatibilityThis plugin in compatible withNetBox2.8. Because of the way this plugin hacks into the internals of NetBox compatibility with other versions is not guaranteed.InstallationFirst, addnetbox_reorderto your/opt/netbox/local_requirements.txtfile. Create it if it doesn't exist.If you are using a local version of the plugin, for example for development, add-e /opt/path/to/plugininstead.Then enable the plugin in/opt/netbox/netbox/netbox/configuration.py, like:PLUGINS=['netbox_reorder',]And finally run/opt/netbox/upgrade.sh. This will download and install the plugin and update the database when necessary. Don't forget to runsudo systemctl restart netbox netbox-rqlikeupgrade.shtells you!UsageThis plugin overrides the default interface sorting algorithm of NetBox.Ordering of mixed interface type namesSome devices (for example Juniper switches) can have mixed interface type names. By default NetBox orders these as follows:ge-0/0/1ge-0/0/3xe-0/0/0xe-0/0/2xe-0/0/4ge-0/1/1ge-0/1/3xe-0/1/0xe-0/1/2xe-0/1/4This is because the interface type (georxe) has precedence over the last part of the interface name. This makes sense when using certain Cisco equipment that has both FastEthernet and GigabitEthernet interfaces with the same numbers:FastEthernet0/0FastEthernet0/1GigabitEthernet0/0GigabitEthernet0/1NetBox has consciously chosen this sorting algorithm. This plugin implements an alternative more intuitive algorithm where the ordering will be:xe-0/0/0ge-0/0/1xe-0/0/2ge-0/0/3xe-0/0/4xe-0/1/0ge-0/1/1xe-0/1/2ge-0/1/3xe-0/1/4The downside is that Cisco equipment with duplicate ports numbers will be less intuitive:FastEthernet0/0GigabitEthernet0/0FastEthernet0/1GigabitEthernet0/1Ordering of virtual chassis interfacesNetBox orders interfaces first by device name and then by name. This can cause interfaces in a virtual chassis to appear in an unexpected order. Consider for example the following virtual chassis:Device NamePositionInterface namesone1xe-1/x/ytwo2xe-2/x/ythree3xe-3/x/yWhen viewing the virtual chassis the intuitive order of interfaces would be firstxe-1/x/y, thenxe-2/x/yand finallyxe-3/x/y.However, because NetBox by default sorts first on device name, the order will be firstxe-1/x/y, thenxe-3/x/yand finallyxe-2/x/y.Why? Because "three" comes before "two" alphabetically.This plugin patches NetBox to implement the intuitive order.
Package: netbox-rolesandgroups
Netbox Roles And Groups PluginA plugin designed to faciliate the storage of site, circuit, device type and device specific software withinNetBoxCompatibilityNetBox VersionPlugin Version3.2+0.5.0InstallationA working installation of Netbox 3.2+ is required. 3.4+ is recommended.Package Installation from PyPiActivate your virtual env and install via pip:$ source /opt/netbox/venv/bin/activate
(venv) $ pip install netbox-rolesandgroupsTo ensure the Netbox software plugin is automatically re-installed during future upgrades, add the package to yourlocal_requirements.txt:# echo netbox-rolesandgroups >> local_requirements.txtEnable the PluginIn the Netboxconfiguration.pyconfiguration file add or update the PLUGINS parameter, addingnetbox-rolesandgroups:PLUGINS=['netbox-rolesandgroups',](Optional) Add or update a PLUGINS_CONFIG parameter inconfiguration.pyto configure plugin settings. Options shown below are the configured defaults:PLUGINS_CONFIG={'netbox-rolesandgroups':{"enable_navigation_menu":True,"enable_system_roles":True,"enable_system_rolegroups":True,"system_roles_location":"left","system_rolegroups_location":"left",}}Apply Database MigrationsApply database migrations with Netboxmanage.py:(venv) $ python manage.py migrateRestart NetboxRestart the Netbox service to apply changes:sudo systemctl restart netboxRe-index Netbox search index (Upgrade to 3.4 only)If you are upgrading from Netbox 3.2 or above to Netbox 3.4, any previously inserted software may not show up in the new search feature. To resolve this, re-index the plugin:(venv) $ python manage.py reindex netbox-rolesandgroups
Package: netbox-software
Netbox Software PluginA plugin designed to faciliate the storage of site, circuit, device type and device specific software withinNetBoxFeaturesStore software against the following NetBox models:CircuitsDevicesDevice TypesSitesUpload software to your NetBox media/ folder or other Django supported storage method e.g. S3Supports a wide array of common file types (bmp, gif, jpeg, jpg, png, pdf, txt, doc, docx, xls, xlsx, xlsm)Store links to external URL's to save duplication of remote softwareCompatibilityNetBox VersionPlugin Version3.2+0.2.4InstallationA working installation of Netbox 3.2+ is required. 3.4+ is recommended.Package Installation from PyPiActivate your virtual env and install via pip:$ source /opt/netbox/venv/bin/activate
(venv) $ pip install netbox-softwareTo ensure the Netbox software plugin is automatically re-installed during future upgrades, add the package to yourlocal_requirements.txt:# echo netbox-software >> local_requirements.txtEnable the PluginIn the Netboxconfiguration.pyconfiguration file add or update the PLUGINS parameter, addingnetbox_software:PLUGINS=['netbox_software',](Optional) Add or update a PLUGINS_CONFIG parameter inconfiguration.pyto configure plugin settings. Options shown below are the configured defaults:PLUGINS_CONFIG={'netbox_software':{# Enable the management of device specific software (True/False)'enable_device_software':True,# Location to inject the software widget in the device view (left/right'device_software_location':'left',}}(Optional) Add or replace the built-in software Type choices via Netbox'sFIELD_CHOICESconfiguration parameter:The colours that can be used are listed in the Netbox CSS netbox-light.css:(https://github.com/netbox-community/netbox/blob/develop/netbox/project-static/dist/netbox-light.css)The bg- must not be specified in the configuration.
Here are a few examples from the CSS:bg-indigo = #6610f2 --> 'indigo'bg-blue = #0d6efd --> 'blue'bg-purple = #6f42c1 --> 'purple'bg-pink = #d63384 --> 'pink'bg-red = #dc3545 --> 'red'bg-orange = #fd7e14 --> 'orange'bg-yellow = #ffc107 --> 'yellow'bg-green = #198754 --> 'green'bg-teal = #20c997 --> 'teal'bg-cyan = #0dcaf0 --> 'cyan'bg-gray = #adb5bd --> 'gray'bg-black = #000 --> 'black'bg-white --> 'white'FIELD_CHOICES={'netbox_software.DocTypeChoices.device+':(('mysoftware','My Custom Device software Type','green'),)}Apply Database MigrationsApply database migrations with Netboxmanage.py:(venv) $ python manage.py migrateRestart NetboxRestart the Netbox service to apply changes:sudo systemctl restart netboxRe-index Netbox search index (Upgrade to 3.4 only)If you are upgrading from Netbox 3.2 or above to Netbox 3.4, any previously inserted software may not show up in the new search feature. To resolve this, re-index the plugin:(venv) $ python manage.py reindex netbox_software