← all repositories
wit-ai/pywit

Facebook's abandoned NLP SDK still gets the job done

A thin Python wrapper for Wit.ai's intent-extraction API that hasn't seen a meaningful update since 2020.

1.5k stars Python Language ModelsChat Assistants
pywit
Velocity · 7d
+0.3
★ / day
Trend
steady
star history

What it does

pywit is the official Python SDK for Wit.ai, Meta’s natural-language-understanding platform. You instantiate a Wit client with an access token, then call .message() to extract intents and entities from text, .speech() to do the same from audio files, or .interactive() to chat with your bot in a REPL.

The interesting bit

The SDK is almost aggressively minimal—three API methods, no async, no streaming, no type hints. The default API version is pinned to 20200513, which tells you most of what you need to know about maintenance velocity. Yet it still works, and the logging setup is actually thoughtful: you can inject a custom logger or just tweak the level on the default one.

Key highlights

  • .message('set an alarm tomorrow at 7am') — one-liner intent extraction
  • .speech(f, {'Content-Type': 'audio/wav'}) — pass a binary file handle, get back structured NLU
  • .interactive() — drops you into a conversation loop for quick bot testing
  • Install via pip install wit (note the package name mismatch: wit, not pywit)
  • Logging to STDOUT by default, configurable per standard Python logging

Caveats

  • Default API version 20200513 is four years old; you can override via WIT_API_VERSION, but the README doesn’t explain what versions are available or what changed
  • No mention of rate limits, error handling, retries, or connection pooling—bring your own resilience
  • The examples folder is referenced but not documented; you’re on your own for patterns

Verdict

Good if you need a quick, no-dependency wrapper for Wit.ai and don’t mind 2019-era Python. Skip it if you want async, modern typing, or any guarantee the SDK will keep pace with API changes.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.