Metadata-Version: 2.4
Name: ulagen
Version: 1.0.0
Summary: Generate IPv6 ULA prefixes according to RFC4193
Project-URL: Homepage, https://gitlab.com/sebastianw/ulagen/
Project-URL: Repository, https://gitlab.com/sebastianw/ulagen/
Author-email: Sebastian Wiesinger <sebastian@karotte.org>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: System :: Networking
Classifier: Topic :: Utilities
Requires-Python: >=3.13
Requires-Dist: click>=8.4.2
Description-Content-Type: text/markdown

# ULAGen

Generate IPv6 ULA prefixes according to [RFC4193](https://datatracker.ietf.org/doc/html/rfc4193), using the local node
address (MAC-Address) and NTP time from an NTP server.

## Usage

### As standalone tool

```terminaloutput
▶ uvx ulagen
fdd0:7fb6:2ef0::/48
```

or

```terminaloutput
▶ pipx run ulagen
fdd0:7fb6:2ef0::/48
```

### As a library

Returns an [IPv6Network](https://docs.python.org/3.13/library/ipaddress.html#ipaddress.IPv6Network) instance.

```python
from ulagen import ULAGen

u = ULAGen()
network = u.generate()
```

## Different NTP Server

By default the package uses the `pool.ntp.org` [pool servers](https://www.ntppool.org/en/) to get the current NTP time.
If you want to use a different server, use the `--ntp-server ntp.example.com` command line option or, when using the
library, use `ULAGen(ntp_server="ntp.example.com")`.
