{"id":27246,"library":"pretenders","title":"Pretenders: Fake servers for testing","description":"Pretenders provides fake implementations of external services (HTTP, SMTP, IMAP) for testing. Version 1.4.5 is the latest stable release; the project is maintained with irregular releases.","status":"active","version":"1.4.5","language":"python","source_language":"en","source_url":"https://github.com/pretenders/pretenders","tags":["testing","mock","fake server","http","smtp"],"install":[{"cmd":"pip install pretenders","lang":"bash","label":"Latest release"}],"dependencies":[],"imports":[{"note":"Correct import for HTTP mock server.","wrong":"","symbol":"PretenderServer","correct":"from pretenders.http import PretenderServer"},{"note":"Main class for creating HTTP mock endpoints.","wrong":"","symbol":"HTTPMock","correct":"from pretenders.http import HTTPMock"}],"quickstart":{"code":"from pretenders.http import HTTPMock, PretenderServer\n\n# Start a mock HTTP server\nserver = PretenderServer(host='127.0.0.1', port=8888)\nserver.start()\n\n# Create a mock\nmock = HTTPMock('http://127.0.0.1:8888')\nmock.when('GET /api').respond(200, body='{\"status\": \"ok\"}')\n\n# Test your code\nimport requests\nresponse = requests.get('http://127.0.0.1:8888/api')\nprint(response.json())\n\n# Cleanup\nserver.stop()","lang":"python","description":"Starts a mock HTTP server, defines a mock response, and tests an HTTP call."},"warnings":[{"fix":"Upgrade your environment to Python 3.4 or higher.","message":"Pretenders 1.4.x no longer supports Python 2.7; use Python 3.4+.","severity":"deprecated","affected_versions":">=1.4"},{"fix":"Use the HTTP mock for testing, or consider other tools for SMTP testing.","message":"For SMTP mock, the popular 'smtp' subpackage is not available as of version 1.4. SMTP mock is unsupported according to release notes.","severity":"gotcha","affected_versions":">=1.4"},{"fix":"Upgrade to 1.4 or later.","message":"The mock URL returned by HTTPMock may have a trailing path stripped incorrectly. Reported in issue #121 fixed in 1.4.","severity":"gotcha","affected_versions":"<1.4"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'pip install pretenders'","cause":"The package is not installed.","error":"ImportError: No module named 'pretenders'"},{"fix":"Use from pretenders.http import HTTPMock instead of import pretenders then pretenders.http","cause":"Using import pretenders and trying to access submodule incorrectly.","error":"AttributeError: module 'pretenders' has no attribute 'http'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}