Skip to content

PESUAuth v2.0

Choose a tag to compare

@aditeyabaral aditeyabaral released this 11 Jul 23:51
· 103 commits to main since this release
8568fb6

Welcome to PESUAuth v2.0.0 🚀

We're excited to announce the release of PESUAuth v2.0.0, a major refactor that brings the codebase up to date with modern Python tooling and frameworks! 🎉

This version focuses on performance, developer experience, and future-proofing the project by replacing legacy dependencies with modern, async-ready alternatives.

🆕 Modern Ecosystem.

Flask is so 2020. Welcome to FastAPI.

🔁 Migration From → To
Web Framework Flask + Flasgger → FastAPI
HTTP Client requests → httpx
HTML Parser BeautifulSoup (lxml) → selectolax
Validation Manual validation → Pydantic
Dependency Management requirements.txt → uv (w/ lockfile)

⚙️ Key Improvements

  • ✅ Asynchronous support for faster HTTP and IO operations
  • ✅ Built-in OpenAPI docs at / thanks to FastAPI
  • ✅ Faster HTML parsing via selectolax
  • ✅ Robust request validation using Pydantic models
  • ✅ Cleaner codebase with type hints and declarative logic
  • ✅ Modern dependency management using uv

🧭 Migration Notes

  • The /authenticate and /readme endpoints remain unchanged in behavior but are now backed by FastAPI.
  • Legacy requirements.txt is still available for Docker-based workflows, but uv is now the preferred method for local development.
  • All functionality is preserved, with improved error handling and validation.

🧪 Testing and Compatibility

  • All existing tests were updated to reflect the FastAPI and Pydantic interfaces.
  • Functional and integration test coverage expanded across endpoints and input validation paths.

📚 Docs

  • Interactive API docs now available at:

    • / (Swagger UI)
    • /redoc (ReDoc)

This release is the culmination of a focused effort to modernize PESUAuth’s backend infrastructure. Many thanks to everyone involved in this refactor!

Contributors:

  • Refactor: Migrate core authentication from requests and BeautifulSoup to httpx and selectolax by @aditeyabaral in #47
  • Added validation using Pydantic by @ndigvijay in #48
  • Add CONTRIBUTING.md, refactor and clean up directories by @achyu-dev in #51
  • Update app to use FastAPI instead of Flask and Flasgger by @silicoflare in #53

Full Changelog: https://github.com/pesu-dev/auth/commits/v2.0.0