Back to Projects

ALogin

A lightweight, open-source Python authentication library — v0.1.2

PyPI Package GitHub Docs Download

Overview

ALogin is a lightweight, open-source Python authentication library developed to simplify user authentication for developers building CLI applications, desktop software, and backend services without relying on complex authentication frameworks. It provides a clean, beginner-friendly interface for implementing secure user registration and login using a local JSON database.

The project was created to solve the repetitive task of building authentication systems from scratch for every project, while remaining lightweight, dependency-free, and easy to understand. It's built entirely in Python, focuses on ease of integration, requires minimal setup, and offers a reliable authentication foundation for small to medium-sized projects.

Key Features

Screenshots & Demo

Technologies & Tools

Python JSON (local storage) SHA-256 hashing PyPI packaging MkDocs Material Git / GitHub

Architecture & Workflow

ALogin follows a simple, file-based architecture with no external services required. On registration, the library validates the input, checks the local JSON store for duplicate emails, hashes the password with SHA-256, and writes the new user record to disk. On login, credentials are checked against the stored hash to authenticate the user. This keeps the entire authentication flow self-contained within the application using the library.

Installation & Usage

Install:

pip install alogin

Basic usage:

from alogin import AuthManager auth = AuthManager() # Register a new user auth.register(email="[email protected]", password="secure_password") # Log in auth.login(email="[email protected]", password="secure_password")

Challenges Faced

Challenge: Storing passwords securely without adding heavy dependencies.
Solution: Implemented SHA-256 password hashing so credentials are never stored in plain text, while keeping the library dependency-free.

Challenge: Preventing duplicate accounts in a simple JSON-based store.
Solution: Added duplicate email protection that checks existing records before allowing a new registration.

Challenge: Designing a clean, beginner-friendly API without sacrificing usability.
Solution: Iterated on the public API across versions, culminating in v0.1.2's validation improvements, bug fixes, and cleaner code structure.

Results & Impact

ALogin is published on PyPI and installable with a single command, making it accessible to any Python developer. Beyond its practical use, it has served as a hands-on learning project demonstrating modular software design, package publishing, version management, and open-source documentation practices.

Future Plans

Development Timeline

Initial Release
Core authentication library built — JSON-based storage, SHA-256 hashing, and basic registration/login workflows.
v0.1.2
Stability improvements, better input validation, bug fixes, cleaner code structure, and improved documentation.
In Progress
OAuth integration exploration (Google, Meta, Microsoft, Discord, Reddit) and planning for SQLite, JWT, and REST API support.

Links

License

ALogin is released as an open-source project. See the LICENSE file in the GitHub repository for full license details.

Contributors & Acknowledgements

Built and maintained by Adeep AG. Community contributions, bug reports, and feature requests are welcome through the GitHub repository.

Related Projects

Contact & Support

Found a bug or have a question? Open an issue on GitHub, or reach out through the contact page.