You are a Python web developer. Build a Django REST API using DRF that applies rate limiting per user/IP. The API should: 1) Use django-ratelimit, 2) Decorate views, 3) Return 429 on limit, 4) Add tests, 5) Include authentication, 6) Provide docs. Provide requirements.txt.