Skip to main content

CLI tool for checking name availability across domains, trademarks, and more

Project description

Namera

Name your startup like a YC founder. Namera is a CLI tool that generates domain name ideas, checks availability and pricing across TLDs, screens for trademark conflicts, and ranks everything — so you pick from the best options, not all of them.

What It Does

  1. Describe your business — pass context about what you're building, your niche, audience, and preferences
  2. Generate name candidates — compose names from keywords with prefixes, suffixes, and permutations
  3. Check everything — domain availability, WHOIS, RDAP, trademark status, and social handles
  4. Get ranked results — names are scored by availability, pricing, trademark safety, and string quality, giving you the top picks
 Ranked results: namera
┌──────┬────────────┬───────┬────────────┬───────────┐
│ Rank │ Name       │ Score │ .com       │ Trademark │
├──────┼────────────┼───────┼────────────┼───────────┤
│  1   │ getnamera  │  92   │ Available  │  Clear    │
│  2   │ trynamera  │  87   │ Available  │  Clear    │
│  3   │ namerahq   │  84   │ Available  │  Clear    │
└──────┴────────────┴───────┴────────────┴───────────┘

Install

git clone https://github.com/siddmax/Namera.git
cd Namera
python3 -m venv .venv && source .venv/bin/activate
pip install -e .

Commands

find — Discover names with business context

The main command for AI agents and structured input. Pass a JSON context with your business info and name candidates.

# See the full JSON schema
namera find --example

# Run a search
namera find --context '{"name_candidates": ["voxly", "dataprime"], "description": "fintech analytics platform", "niche": "finance"}'

# Only show available names
namera find --context '...' --only-available

# Output as JSON, CSV, or NDJSON
namera find --context '...' --format json

compose — Generate name permutations from keywords

# Add common prefixes and suffixes
namera compose namera --common-prefixes --common-suffixes

# Custom prefixes/suffixes with availability check
namera compose namera --prefix get --prefix try --suffix hq --check

# Specify TLDs
namera compose namera --common-suffixes --tlds com,io

# Output as JSON
namera compose namera --common-prefixes --json

rank — Score and rank name candidates

# Rank multiple names
namera rank voxly dataprime nimbus

# Rank with a scoring profile
namera rank voxly dataprime --profile fintech

# Rank with full business context
namera rank --context '{"name_candidates": ["voxly"], "niche": "fintech"}' --json

search — Run all checks on a single name

namera search myname
namera search myname --tlds com,io,ai

domain — Check domain availability

namera domain myname
namera domain myname --tlds com,ai,app

whois — WHOIS lookup

namera whois myname.com

trademark — Trademark check

namera trademark myname

presets — View TLD presets

namera presets

Available presets: popular, tech, startup, cheap, premium, finance, design, security, gaming, social, ecommerce, education, health, food, travel, media, creative, geo-us, geo-eu, geo-asia

Use presets anywhere TLDs are accepted:

namera compose myname --tlds startup --check
namera rank myname --tlds fintech

Configuration

Namera uses environment variables for API keys. None are required for basic lookups.

Variable Required What it does
GODADDY_API_KEY No Enables domain pricing via GoDaddy API
GODADDY_API_SECRET No Paired with the API key above
GODADDY_ENV No production or ote (default: ote)
SUPABASE_URL No Supabase URL for trademark database
SUPABASE_SERVICE_ROLE_KEY No Supabase key for trademark lookups

Architecture

src/namera/
  cli.py                          # CLI entry point (Click)
  composer.py                     # Name permutation generator
  context.py                      # Business context parser
  filters.py                      # Result filtering
  output.py                       # Output formatting (table, JSON, CSV)
  presets.py                      # TLD preset definitions
  runner.py                       # Concurrent provider runner
  cache.py                        # Result caching
  retry.py                        # Retry logic for providers
  session.py                      # Session management
  theme.py                        # Terminal theme/colors
  telemetry.py                    # Usage telemetry
  scoring/
    engine.py                     # Scoring engine
    models.py                     # Score data models
    local_signals.py              # String quality analysis (length, pronounceability)
    normalizers.py                # Score normalization
    profiles.py                   # Scoring profiles (fintech, tech, etc.)
  providers/
    base.py                       # Provider ABC + auto-registration
    domain.py                     # DNS-based domain check
    domain_api.py                 # GoDaddy API (availability + pricing)
    rdap.py                       # RDAP protocol lookup
    whois.py                      # Raw socket WHOIS lookup
    social.py                     # Social handle availability
    trademark.py                  # Trademark check (stub)
    trademark_supabase.py         # Trademark check via Supabase

Adding a provider

  1. Create src/namera/providers/yourprovider.py
  2. Subclass Provider, set name and check_type
  3. Implement async def check(self, query, **kwargs) -> ProviderResult
  4. Import it in cli.py — it auto-registers, no wiring needed

Development

pip install -e ".[dev]"
pytest tests/ -v                      # run tests
ruff check src/ tests/                # lint

To import trademark data into Supabase:

pip install -e ".[import]"
python scripts/import_trademarks.py

Tech Stack

  • Python 3.10+
  • Click — CLI framework
  • Rich — terminal UI and tables
  • httpx — async HTTP
  • Supabase — trademark database (optional)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

namera-0.1.0.tar.gz (60.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

namera-0.1.0-py3-none-any.whl (39.5 kB view details)

Uploaded Python 3

File details

Details for the file namera-0.1.0.tar.gz.

File metadata

  • Download URL: namera-0.1.0.tar.gz
  • Upload date:
  • Size: 60.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for namera-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1e267da7f97d708c2262726f07be6e6f1c4c5128f219e945665a568eaea87f54
MD5 86476514065d23d0671b648bd8ac345b
BLAKE2b-256 6718aed6abee2a165146f85ce12a019f97b6d2544d29162a2ac49d23b681d352

See more details on using hashes here.

Provenance

The following attestation bundles were made for namera-0.1.0.tar.gz:

Publisher: publish.yml on siddmax/Namera

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file namera-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: namera-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 39.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for namera-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 14ba233f2e26c27b76f64810c848db8aa2667c9b230341c7375e1fec48c9fe1c
MD5 95192490574ee0d3155ccdda05e4a1fa
BLAKE2b-256 37d44a89199ee12d3c4f849b3280feb0b24ed51fce943dd43b08b4fca142c6f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for namera-0.1.0-py3-none-any.whl:

Publisher: publish.yml on siddmax/Namera

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page