Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

slimDNS

A simple DNS server written in vanilla Python.

Installation

pip install slimDNS

or simply git clone this repository.

Minimal example

import slimDNS

dns = slimDNS.server(slimDNS.UDP)

dns.run()

This would host a DNS server without any records.
There's two ways you can add records:

Swap out all records via annotation

@dns.records
def records(server):
	return {
		"example.com" : {
			"A" : {"target" : "264.30.198.2", "ttl" : 60},
			"SOA" : {"target" : "example.com", "ttl" : 60},
			"NS" : {"target" : "example.com", "ttl" : 60, "priority" : 10}
		},
		"nas.example.com" : {
			"A" : {"target" : "264.30.198.2", "type" : "A", "ttl" : 60}
		},
		"_matrix._tcp.riot.example.com" : {
			"SRV" : {"ttl" : 60, "priority" : 10, "port" : 8448, "target" : "nas.example.com"}
		}

	}

Which would swap out all current records for the defined set of records.

Add, delete and update records

dns.remove('example.com', 'A')
dns.add('example.com', 'A', '264.30.198.1')
dns.update('example.com', 'A', '264.30.198.5')

Which would remove the A record example.com,
Then add a new similar one with a new UP and
finally update that new record with a new IP.

Note

Requires Python 3.8+ & Linux (not tested on other platforms).

Metadata

Release files for slimDNS 1.0.0rc2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for slimDNS 1.0.0rc2
File Size Uploaded Provenance Actions
slimDNS-1.0.0rc2.tar.gz 2.4 kB Without provenance Details for slimDNS-1.0.0rc2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for slimDNS 1.0.0rc2
File Interpreter ABI Platform Actions
slimDNS-1.0.0rc2-py3-none-any.whl Python 3 none any Details for slimDNS-1.0.0rc2-py3-none-any.whl

Total release size: 4.6 kB

Release files / slimDNS-1.0.0rc2.tar.gz

Download URL slimDNS-1.0.0rc2.tar.gz
Size 2.4 kB
Tags Source
SHA-256 checksum
How to use checksums
950ff83af10aa1c3274ff99332f20f236f9c0874dcf07027b15077ab28ac59c9
BLAKE2b-256 checksum
How to use checksums
76edbe9246bed8164ef7d995ab982cb73084d64e06e2408e8a516954ce385710
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.0

Release files / slimDNS-1.0.0rc2-py3-none-any.whl

Download URL slimDNS-1.0.0rc2-py3-none-any.whl
Size 2.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
330a34f886506b15584d6c556dd30e272e21989088139f3c5d261f6a37c4df00
BLAKE2b-256 checksum
How to use checksums
bb3b8c8709e368c0dac8bdcb81061e0f2c1bf3c7715166681ac4ee8ab38272d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.0

Security for slimDNS 1.0.0rc2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page