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.

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, notpywit) - Logging to
STDOUTby default, configurable per standard Pythonlogging
Caveats
- Default API version
20200513is four years old; you can override viaWIT_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
examplesfolder 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.