Skip to content

Prompts

Prompts

When you create a package, you are prompted to enter these values.

Templated Values

The following appear in various parts of your generated project.

plugin_name
The base name of your plugin (without "NetBox" or "Plugin"). This is used to initialize most of the other settings.
project_name
The name of your new Python package project. This is used in documentation, so spaces and any characters are fine here.
hyphenated
The name of your Python package for PyPI, also as the repository name of GitHub. Typically, it is the slugified version of project_name.
underscored
The name of the python module and directory in the project.
project_short_description
A 1-sentence description of what your Python package does.
full_name
Your full name.
email
Your email address.
github_username
Your GitHub username (or organization name).
version
The starting version number of the package.

Options

The following package configuration options set up different features for your project.

open_source_license
Choose a license. Options: [1. Apache-2.0, 2. MIT, 3. BSD, 4. ISC, 5. GPL-3.0-only, 6. Not open source]
include_rest_api
Include REST API support for your plugin. Options: [1. yes, 2. no]
When enabled, generates a complete REST API structure with:
  • Serializers for NetBox model serialization
  • ViewSets for API endpoints
  • URL routing configuration
  • Integration with NetBox's REST API framework
This follows NetBox best practices for plugin API development and provides automatic CRUD operations for your models through the REST API.
include_graphql
Include GraphQL support for your plugin. Options: [1. yes, 2. no]
When enabled, generates GraphQL schema and resolvers:
  • GraphQL type definitions for your models
  • Query resolvers for data fetching
  • Integration with NetBox's GraphQL API
This allows your plugin's data to be queried through NetBox's GraphQL endpoint, providing flexible and efficient data retrieval.

Additional Configuration

Modern plugin projects should use PyPI Trusted Publishing instead of API tokens. See the Publishing Guide for detailed setup instructions.

If you cannot use trusted publishing, you'll need to configure GitHub repository secrets:

  1. Go to your repository > Settings > Secrets and variables > Actions
  2. Add the following secrets:
  3. PERSONAL_TOKEN - Required for publishing documentation to GitHub Pages (How to create)
  4. TEST_PYPI_API_TOKEN - Required for publishing to TestPyPI (How to create)
  5. PYPI_API_TOKEN - Required for publishing to PyPI (How to create)

Security Notice

API tokens are being phased out in favor of trusted publishing for improved security. Consider migrating to trusted publishing if possible.