Skip to main content

Nmavail

PyPI version License: MIT

Nmavail is a powerful command-line tool designed to check the availability of names across multiple domains and platforms. Whether you are naming a startup, a new project, or an open-source library, Nmavail helps you secure your brand identity by verifying if a name is already taken.

Features

  • Domain Availability: Checks popular TLDs (e.g., .com, .io, .dev, .ai) via WHOIS and DNS lookups
  • Developer Platforms: Verifies username availability on GitHub and GitLab
  • Package Registries: Checks if a name is available on PyPI, NPM, Crates.io, and Go Modules
  • System Packages: Checks Homebrew, AUR, Debian/Ubuntu, and Alpine Linux
  • Asynchronous & Fast: Uses async I/O to perform checks in parallel (~13 seconds total)
  • Clean CLI Interface: Provides a beautiful, easy-to-read terminal output with smooth loading animations
  • No Configuration Required: Works out of the box, no tokens or setup needed
  • Proxy Aware: Honours the standard HTTP_PROXY / HTTPS_PROXY / ALL_PROXY environment variables, including SOCKS

Installation

The easiest and recommended way to install Nmavail is using uv:

# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install nmavail (uv will automatically manage Python environment)
uv tool install nmavail

# Verify installation
nmavail --version

Option 2: Install via pipx

Alternatively, you can use pipx:

# Install pipx (if not already installed)
pip install pipx

# Install nmavail (pipx will create an isolated environment)
pipx install nmavail

# Verify installation
nmavail --version

Option 3: Run without installation

Try Nmavail without installing:

uvx nmavail test

Option 4: Install from Source

For developers or those who want the latest unreleased features:

git clone https://github.com/nmavail/nmavail.git
cd nmavail
uv sync  # or: pip install -e .
uv run nmavail test

Usage

Check Name Availability

To check a name across all supported platforms:

nmavail my-awesome-name

Example Output:

Package Registries:
    ✓   PyPI                : Available
    ✗   NPM                 : Taken
    ✓   Crates.io           : Available
    ✓   Go Modules          : Available

Developer Platforms:
  - GitHub:
    ✗   User/Org            : Taken
    ✗   Total Repos         : 9702854
    ✗   Top Stars           : 25920 stars
  - GitLab (list first 100 results only):
    ✗   User/Group          : Taken
    ✗   Total Repos         : 100+
    ✗   Top Stars           : more than 0 stars

System Packages:
    ✓   Homebrew            : Available
    ✓   Arch (AUR)          : Available
    ✓   Debian/Ubuntu       : Available
    ✓   Alpine Linux        : Available

Domains:
    ✗   my-awesome-name.com : Taken
    ✓   my-awesome-name.io  : Available
    ✓   my-awesome-name.dev : Available

Command Line Options

Show Version:

nmavail --version
nmavail -V

Show Help:

nmavail --help
nmavail -h

Examples:

nmavail test
nmavail google
nmavail myproject

Supported Platforms

Category Platforms
Domains .com, .org, .net, .io, .co, .dev, .app, .xyz, .ai, .me, .cn, .tv, .ly, .it
Developer Platforms GitHub (User/Org & Repo Search), GitLab (User/Group & Repo Search)
Package Registries PyPI, NPM, Crates.io, Go Modules
System Packages Homebrew, Arch (AUR), Debian/Ubuntu, Alpine Linux

Performance

  • Total check time: ~13 seconds (varies based on network conditions)
  • Parallel execution: All checks run concurrently
  • Smart pagination: GitLab limited to 1 page (100 results) for speed
  • Optimized timeouts: 10 second timeout per request

Proxy Support

Nmavail relies on httpx for its HTTP requests, so the usual proxy environment variables are picked up automatically:

export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export NO_PROXY=localhost,127.0.0.1

SOCKS proxies are supported as well. Note that the scheme must be socks5:// or socks5h://; the shorthand socks:// is not a scheme httpx understands. If socks:// is found, Nmavail rewrites it to socks5:// and prints a warning, so an existing shell profile will keep working:

export ALL_PROXY=socks5://127.0.0.1:7890

If a proxy cannot be used at all, Nmavail falls back to a direct connection and reports the affected platforms with a ! marker rather than aborting the run.

To bypass the proxy entirely, unset the variables for a single run:

env -u ALL_PROXY -u all_proxy nmavail myproject

Development

This project uses Ruff for linting and formatting.

# Format code
uv run ruff format .

# Lint code
uv run ruff check .

License

MIT

Metadata

Release files for nmavail 0.4.4

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

Source distribution (sdist)

Source distribution for nmavail 0.4.4
File Size Uploaded
nmavail-0.4.4.tar.gz 21.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nmavail 0.4.4
File Interpreter ABI Platform
nmavail-0.4.4-py3-none-any.whl Python 3 none any Details

Total release size: 37.9 kB

Release files / nmavail-0.4.4.tar.gz

Download URL nmavail-0.4.4.tar.gz
Size 21.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a133423ab13bb7e940699f998d0aad6412ff2f909c6f7cf9e38f4074b73ce248
BLAKE2b-256 checksum
How to use checksums
59d0aa2c137c7381f7fd09f952c4421c81752ee0b08b4951288eeee5812ba0c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / nmavail-0.4.4-py3-none-any.whl

Download URL nmavail-0.4.4-py3-none-any.whl
Size 16.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a86f0d14156a1ed36837b5130b5ab1a39af55904caa41ff26db850abd0d5ea09
BLAKE2b-256 checksum
How to use checksums
b10498f3aaa66765281fd79358a85f1a3eaf188991d422bef94db09410864adc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.4 This release

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

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