Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.7%) to scientific vocabulary

Keywords

django lan local-area-network network python starling

Scientific Fields

Engineering Computer Science - 40% confidence
Last synced: 6 months ago · JSON representation ·

Repository

Django LAN

Basic Info
  • Host: GitHub
  • Owner: starling-cloud
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage: https://djangolan.com
  • Size: 2 MB
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
django lan local-area-network network python starling
Created over 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing Funding License Code of conduct Citation Codeowners Security

README.md

Django LAN

Django LAN is a Django plugin designed to facilitate local area network (LAN) management directly from your Django applications. It provides a suite of tools and custom model fields to manage network configurations, validate network parameters, and interact with network hardware efficiently.

Features

  • Network Device Management: Manage and store configurations for various network devices.
  • Custom Field Types: Includes custom Django model fields for IP addresses, MAC addresses, CIDR notations, and more.
  • Network Validation Tools: Extensive validators for network-related data such as IP addresses, MAC addresses, port numbers, and CIDR blocks.
  • Dynamic Form Components: Utilize dynamic form fields that integrate directly with your network management models.

Quick Start

To get started with Django LAN, follow these steps:

Prerequisites

  • Django 3.1 or newer
  • Python 3.6 or newer

Installation

  1. Install Django LAN:

bash pip install django-lan

  1. Add django_lan to your INSTALLED_APPS in settings.py:

python INSTALLED_APPS = [ ... 'django_lan', ... ]

  1. Run Migrations:

bash python manage.py migrate

Usage

To use the custom model fields provided by Django LAN in your models:

``` python from django.db import models from django_lan.fields import IPAddressModelField, MACAddressModelField, PortNumberModelField

class NetworkDevice(models.Model): ipaddress = IPAddressModelField() macaddress = MACAddressModelField() port = PortNumberModelField() ```

Validators

Apply validators in your forms like this:

``` python from django import forms from djangolan.validators import validateipaddress, validatemac_address

class NetworkDeviceForm(forms.ModelForm): class Meta: model = NetworkDevice fields = 'all'

def clean_ip_address(self):
    ip_address = self.cleaned_data.get('ip_address')
    validate_ip_address(ip_address)
    return ip_address

```

Documentation

For more detailed documentation, visit Django LAN Documentation.

Contributing

Contributions are welcome! Please read our Contributing Guide for details on how to propose bugfixes and improvements, and how to build and test your changes to Django LAN.

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

Owner

  • Name: Starling
  • Login: starling-cloud
  • Kind: organization
  • Email: info@starling.associates
  • Location: Netherlands

Insight + Strategy + Design

Citation (CITATION.cff)

cff-version: 1.2.0
title: Django LAN
version: 0.0.1
date-released: 2024-07-01
url: "https://www.djangolan.com"
repository-code: "https://github.com/starling-cloud/django-lan"
license: "Apache License, Version 2.0"
message: >-
  If you use Django LAN, please cite it using
  the metadata from this file.
type: software
authors:
  - given-names: Lars Bastiaan
    family-names: van Vianen
    email: lars@starling.studio
    affiliation: Starling Associates
    orcid: 'https://orcid.org/0000-0002-8790-8630'

GitHub Events

Total
  • Delete event: 1
  • Push event: 24
  • Pull request event: 1
Last Year
  • Delete event: 1
  • Push event: 24
  • Pull request event: 1

Dependencies

.github/workflows/deploy_docs.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
.github/workflows/publish_package.yml actions
  • actions/checkout v4 composite
  • actions/checkout master composite
  • actions/create-release v1 composite
  • actions/download-artifact v4 composite
  • actions/setup-node v4 composite
  • actions/upload-artifact v4 composite
  • actions/upload-release-asset v1 composite
.devcontainer/Dockerfile docker
  • python 3.12-slim build
.devcontainer/docker-compose.yml docker
pyproject.toml pypi
  • pytest ^7.0 develop
  • Django ^4.0
  • python ^3.8