Python Login

thumbnail

This is a simple login system built using python. It is made for backend and used in the terminal but does have colors for a good aesthethic. It is lightweight and includes features like banning and messaging


This is my first project I have made. The idea was that it is a simple login system built in python, because that was what I was learning. I made it as a way of learning python. With that it is not the most complex project ive made but definitely a memorable one.

  • Readme

    Simple file-based authentication system with messaging, permissions, and moderation.

    DocumentationReport BugRequest Feature


    🌟 Why This Project?

    • Fully customizable and easy to extend
    • Includes real-world features (messaging, permissions, banning, etc.)
    • Lightweight — no database required

    ✨ Features

    • 🔑 User authentication (login & signup)
    • 🔒 Password hashing using SHA-256
    • 📬 User-to-user messaging
    • 📥 Mailbox system (read, send, clear)
    • 🛡️ Permission system (tiers 1–5)
    • ⬆️ User promotion system
    • 🚫 User banning system
    • ❌ Account deletion
    • 🛠️ Initial setup mode

    🔐 System Overview

    This system uses plain text files as a simple, lightweight database.

    📁 Data Storage

    • users.txt → Stores usernames and hashed passwords
    • bannedusers.txt → Stores banned usernames
    • user_(id).txt → Stores user permissions
    • mailbox_(username).txt → Stores user messages

    🛠️ First-Time Setup

    download the program by running:

    pip install simple-login-system==0.1.3

    Run it by typing

    python -m simplelogin.login

    Run the program and type:

    setup

    This will:

    • Create a default admin account
    • Grant admin promotion permissions

    Default credentials:

    • Username: setup
    • Password: setup

    ⚠️ Important: Delete this account after creating your own admin account and give it perms.


    🧑‍💻 Usage

    At startup, choose:

    • log in
    • sign up
    • setup

    📜 Commands

    CommandDescription
    helpShow all commands
    date/timeShows the current date and time
    messageSend a message to a user
    readmailRead your mailbox
    promotePromote a user (requires permission)
    banBan a user
    blacklistBlacklists a username from use for a new account
    deleteaccountDelete your account
    changelogView changes
    quitExit the program

    🚫 Banning System

    • Stored in bannedusers.txt

    When a user is banned:

    • Their account is removed
    • Their mailbox is deleted
    • Their username cannot be reused

    🔮 Planned Features

    • Improved security (salted hashing, validation)
    • Better error handling
    • Cleaner code structure
    • Database support (SQLite)
    • Logging system
    • Admin tools / interface

    🤝 Contributing

    • 🐛 Found a bug? Open an issue
    • 💡 Have an idea? Suggest a feature
    • 🔧 Want to improve the code? Submit a PR

    All contributions are welcome.


    🤖 AI declaration

    Used copilot for deployment to PyPi and chatgpt for simple bug fixes early on and for writing part of the ReadMe


    📄 License

    This project is free to use for educational purposes.


    Made with learning in mind.
    If you like it, consider ⭐ starring the repo!

    I will try to update this program once in a while so I have a changelog aswel.
  • Github Repository