Skip to content

Commit 8b3e74a

Browse files
authored
Merge for Develop Branch (#43)
1 parent 3adeba6 commit 8b3e74a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+5017
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
name: ✨ Feature Request
3+
description: Propose a new feature or enhancement
4+
labels: ["type: feature", "status: needs triage"]
5+
body:
6+
- type: input
7+
attributes:
8+
label: Plugin Version
9+
description: What version of the plugin are you currently running?
10+
validations:
11+
required: true
12+
- type: textarea
13+
attributes:
14+
label: Proposed functionality
15+
description: >
16+
Describe in detail the new feature or behavior you are proposing. Include any specific changes to work flows,
17+
data models, and/or the user interface. The more detail you provide here, the greater chance your proposal has
18+
of being discussed.
19+
validations:
20+
required: true
21+
- type: textarea
22+
attributes:
23+
label: Use case
24+
description: >
25+
Explain how adding this functionality would benefit users. What specific need(s) does it address?
26+
validations:
27+
required: true
28+
- type: textarea
29+
attributes:
30+
label: External dependencies
31+
description: >
32+
List any new dependencies on external libraries or services that this new feature would introduce. For example,
33+
does the proposal require the installation of a new Python package?
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
name: 🐛 Bug Report
3+
description: Report a reproducible bug in the current stable release
4+
labels: ["type: bug", "status: needs triage"]
5+
body:
6+
- type: input
7+
attributes:
8+
label: Plugin Version
9+
description: What version of the plugin are you currently running?
10+
validations:
11+
required: true
12+
- type: input
13+
attributes:
14+
label: NetBox Version
15+
description: What version of NetBox are you currently running?
16+
validations:
17+
required: true
18+
- type: input
19+
attributes:
20+
label: Python Version
21+
description: What version of Python are you currently running?
22+
validations:
23+
required: true
24+
- type: textarea
25+
attributes:
26+
label: Steps to Reproduce
27+
description: >
28+
Describe in detail the exact steps that someone else can take to reproduce this bug. A numbered list of discrete
29+
steps is strongly preferred. Remember to capture the creation of any objects which must exist to reproduce the
30+
behavior.
31+
placeholder: |
32+
1. Click on "create widget"
33+
2. Set foo to 12 and bar to G
34+
3. Click the "create" button
35+
validations:
36+
required: true
37+
- type: textarea
38+
attributes:
39+
label: Expected Behavior
40+
description: What did you expect to happen?
41+
placeholder: A new widget should have been created with the specified attributes
42+
validations:
43+
required: true
44+
- type: textarea
45+
attributes:
46+
label: Observed Behavior
47+
description: What happened instead? Be sure to include any error messages.
48+
placeholder: A TypeError exception was raised
49+
validations:
50+
required: true
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: 📖 Documentation Change
3+
description: Suggest an addition or modification to the plugin's documentation
4+
labels: ["type: documentation", "status: needs triage"]
5+
body:
6+
- type: dropdown
7+
attributes:
8+
label: Change Type
9+
description: What type of change are you proposing?
10+
options:
11+
- Addition
12+
- Correction
13+
- Removal
14+
- Cleanup (formatting, typos, etc.)
15+
- Other
16+
validations:
17+
required: true
18+
- type: textarea
19+
attributes:
20+
label: Proposed Changes
21+
description: Describe the proposed changes and explain why they are necessary.
22+
validations:
23+
required: true
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
name: 🏡 Housekeeping
3+
description: An internal change pertaining to the codebase itself
4+
labels: ["type: housekeeping"]
5+
body:
6+
- type: textarea
7+
attributes:
8+
label: Proposed Changes
9+
description: Describe in detail the proposed changes.
10+
validations:
11+
required: true
12+
- type: textarea
13+
attributes:
14+
label: Justification
15+
description: How will these changes benefit the project?
16+
validations:
17+
required: true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
blank_issues_enabled: false

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<!--
2+
Please note that pull requests are accepted ONLY for approved
3+
issues. Specify the issue resolved by this PR below.
4+
-->
5+
### Fixes: #1234
6+
7+
<!--
8+
Please include a summary of the changes within this PR below.
9+
-->

.github/workflows/release.yaml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Release
2+
3+
on:
4+
release:
5+
types: [released]
6+
7+
permissions:
8+
contents: read
9+
10+
jobs:
11+
build:
12+
name: Build distribution
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v4
16+
with:
17+
persist-credentials: false
18+
- uses: actions/setup-python@v5
19+
with:
20+
python-version: "3.x"
21+
- name: Install pypa/build
22+
run: |
23+
python3 -m pip install build
24+
- name: Build distribution package
25+
run: |
26+
python3 -m build
27+
- name: Upload distribution package
28+
uses: actions/upload-artifact@v4
29+
with:
30+
name: python-package-distributions
31+
path: dist/
32+
if-no-files-found: error
33+
34+
publish:
35+
name: Publish to PyPI
36+
needs:
37+
- build
38+
runs-on: ubuntu-latest
39+
permissions:
40+
id-token: write
41+
steps:
42+
- name: Download distribution package
43+
uses: actions/download-artifact@v4
44+
with:
45+
name: python-package-distributions
46+
path: dist/
47+
- name: Publish distribution to PyPI
48+
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
*.pyc
2+
*.egg-info
3+
.idea/
4+
.DS_Store

.pre-commit-config.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
repos:
2+
- repo: https://github.com/astral-sh/ruff-pre-commit
3+
rev: v0.11.12
4+
hooks:
5+
- id: ruff
6+
name: "Ruff linter"
7+
args: [ netbox_custom_objects/ ]

LICENSE.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# NetBox Limited Use License 1.0
2+
3+
## Acceptance
4+
5+
In order to get any license under these terms, you must agree to them as
6+
both strict obligations and conditions to all your licenses.
7+
8+
## Copyright License
9+
10+
NetBox Labs grants you a copyright license to use and modify the software
11+
only as part of a NetBox installation obtained from NetBox Labs or a NetBox
12+
distributor authorized by NetBox Labs, and only for your own internal use.
13+
14+
For clarity, this license grants no rights to distribute the software or
15+
make it available to others as part of a commercial offering.
16+
17+
## Patent License
18+
19+
NetBox Labs grants you a patent license for the software that covers patent
20+
claims the licensor can license, or becomes able to license, that you would
21+
infringe by using the software, as allowed in the copyright license above.
22+
23+
## Patent Defense
24+
25+
If you make any written claim that the software infringes or contributes to
26+
infringement of any patent, your patent license for the software granted
27+
under these terms ends immediately. If your company makes such a claim,
28+
your patent license ends immediately for work on behalf of your company.
29+
Competitive Restrictions
30+
31+
This license does not grant you the right to use the software:
32+
33+
- To provide a managed service or software products that includes, integrates
34+
with, or extends NetBox in a way that competes with any product or service
35+
of NetBox Labs.
36+
37+
- To assist or enable a third party in offering a service or product that
38+
competes with any product or service of NetBox Labs.
39+
40+
## No Other Rights
41+
42+
These terms do not allow you to sublicense or transfer any of your licenses
43+
to anyone else, or prevent NetBox Labs from granting licenses to anyone else.
44+
These terms do not imply any other licenses.
45+
46+
## Violations
47+
48+
The first time you are notified in writing that you have violated any of
49+
these terms, or done anything with the software not covered by your licenses,
50+
your licenses can nonetheless continue if you come into full compliance with
51+
these terms, and take practical steps to correct past violations, within 30
52+
days of receiving notice. Otherwise, all your licenses end immediately.
53+
54+
## No Liability
55+
56+
As far as the law allows, the software comes as is, without any warranty or
57+
condition, and NetBox Labs will not be liable to you for any damages arising
58+
out of these terms or the use or nature of the software, under any kind of
59+
legal claim.
60+
61+
If this disclaimer is unenforceable under applicable law, this license is void.
62+
63+
## Definitions
64+
65+
**NetBox Labs** is NetBox Labs, Inc.
66+
67+
**NetBox** is the community edition of NetBox found at
68+
<https://github.com/netbox-community/netbox> or any derivative thereof.
69+
70+
The **software** is the software NetBox Labs makes available under these terms.
71+
72+
**You** refers to the individual or entity agreeing to these terms.
73+
74+
**Your company** is any legal entity, sole proprietorship, or other kind of
75+
organization that you work for, plus all organizations that have control over,
76+
are under the control of, or are under common control with that organization.
77+
78+
**Control** means ownership of substantially all the assets of an entity,
79+
or the power to direct its management and policies by vote, contract, or
80+
otherwise. Control can be direct or indirect.
81+
82+
**Your licenses** are all the licenses granted to you for the software under
83+
these terms.
84+
85+
**Use** means anything you do with the software requiring one of your licenses.

0 commit comments

Comments
 (0)