semvec/pypi-packages huggingface dataset:
unifi-dns-sync 1.0.1
Automatically sync DNS A records on Unifi controllers
License: MIT
Requires Python: >=3.8
Keywords: unifi, dns, networking, automation

# Unifi DNS Synchronization Tool

Automatically sync DNS A records on Unifi controllers via CLI.

![Demo Screenshot](https://raw.githubusercontent.com/cswitenky/unifi-dns-sync/main/demo.png)

## Installation

From PyPI (recommended)

```bash
python -m pip install --upgrade pip
python -m pip install unifi-dns-sync
```

From source (development)

```bash
git clone https://github.com/cswitenky/unifi-dns-sync.git
cd unifi-dns-sync
python -m pip install -e .
```

## Usage

Create a JSON file with your hostnames and IPs:

```json
[
  { "service1.example.com": "10.0.10.1" },
  { "service2.example.com": "10.0.20.1" },
  "service3.example.com"
]
```

Run the sync:

```bash
python -m unifi_dns_sync config/dns-records.json \
  --controller https://10.0.0.1 \
  --username admin \
  --password your-password \
  --target-ip 10.0.0.123 # Optional for hostnames without explicit IPs
```

## Options

- `--dry-run` - Show what would change without making changes
- `--show-diff` - Show detailed diff of changes
- `--target-ip` - Default IP for hostnames without explicit IPs (default: 10.0.0.123)
- `--verbose` - Enable debug logging

## JSON Formats

**Simple hostnames** (uses `--target-ip`):

```json
["host1.com", "host2.com"]
```

**Hostname to IP mapping**:

```json
[{ "host1.com": "1.2.3.4" }, { "host2.com": "5.6.7.8" }]
```

**Explicit format**:

```json
[{ "hostname": "host1.com", "ip": "1.2.3.4" }, { "hostname": "host2.com" }]
```

## License

MIT License
metapg-dev 0.0.1
Development tools and dependencies for metapg
License: MIT
Requires Python: >=3.11
Keywords: async, database, development, migration, pool, postgresql

# metapg-dev

Development dependencies for the metapg project.

## Purpose

This package provides all development dependencies needed for metapg development to ensure consistent development environments across all contributors.

## Installation

```bash
# Install development environment
pip install -e src/dev
```

## Included Tools

### Testing
- **pytest** - Testing framework with async support
- **pytest-asyncio** - Async test support
- **pytest-cov** - Coverage reporting

### Code Quality
- **black** - Code formatting
- **ruff** - Fast Python linter
- **mypy** - Static type checking

### Build Tools
- **build** - Modern Python package building
- **setuptools** - Package setup utilities
- **wheel** - Wheel format support

### Development Utilities
- **ipython** - Enhanced interactive Python shell
- **ipdb** - IPython debugger

## Usage

After installation, you can use all the development tools:

```bash
# Format code
black src/ tests/ examples/

# Lint code  
ruff check src/ tests/ examples/

# Type check
mypy src/pool/ src/migration/ src/cli/ src/metapg/

# Run tests
pytest tests/ -v --cov=metapg

# Build packages
python -m build
```

## Development Workflow

1. Install metapg-dev: `pip install -e src/dev`
2. Set up packages: `just install-dev`
3. Run quality checks: `just check`
4. Run tests: `just test`
5. Build packages: `just build`

This package ensures all developers have the same tools and versions for consistent development experience.