Skip to main content

chatterflow

Python Version License Python CI Build and Deploy Sphinx Docs

A simple, terminal-based chat application with user authentication and private messaging, built with Python sockets.

Features

  • User Authentication: Secure registration and login system.
  • Password Hashing: Passwords are securely hashed using PBKDF2.
  • Public Chat: Broadcast messages to all connected users.
  • Private Messaging: Send private messages to specific users.
  • User List: View a list of all online users.
  • Multi-client Support: The server uses threading to handle multiple clients concurrently.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • Python 3.11 or higher

Installation

  1. Clone the repository:

    git clone https://github.com/bhatishan2003/chatterflow.git
    cd chatterflow
    
  2. Create and activate a virtual environment (recommended):

    • Windows:

      python -m venv .venv
      .venv\Scripts\activate
      
    • macOS & Linux:

      python -m venv .venv
      source .venv/bin/activate
      
  3. Install the package:

    • For regular use:

      pip install .
      
    • For development (editable mode):

      pip install -e .
      

Usage

1. Start the Server

Open a terminal and run the following command to start the chat server on the default host (127.0.0.1) and port (9009):

chatterflow --server

2. Start the Client

Open one or more new terminals and run the following command to connect a client to the server:

chatterflow --client

Commands

The client supports the following commands:

Command Description
/msg <user> <message> Send a private message.
/list List all online users.
/help Show this help message.
/quit Disconnect from the server.

Testing

To run the test suite, execute the following command:

pytest -v

Contributing

Contributions are welcome! Please feel free to open an issue or submit a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for chatterflow 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chatterflow 0.0.7
File Size Uploaded Provenance Actions
chatterflow-0.0.7.tar.gz 14.4 kB Without provenance Details for chatterflow-0.0.7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for chatterflow 0.0.7
File Interpreter ABI Platform Actions
chatterflow-0.0.7-py3-none-any.whl Python 3 none any Details for chatterflow-0.0.7-py3-none-any.whl

Total release size: 29.0 kB

Release files / chatterflow-0.0.7.tar.gz

Download URL chatterflow-0.0.7.tar.gz
Size 14.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f68fe740d3385af7dab8998979fb0aa0a59c75fe76b1dda3bd4fa882a740885f
BLAKE2b-256 checksum
How to use checksums
e37a4684e60b7029a829214b286a534a3dff115f300a896740bca51640f410e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / chatterflow-0.0.7-py3-none-any.whl

Download URL chatterflow-0.0.7-py3-none-any.whl
Size 14.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a11fcad8efe5d02c79e0899bf76e0dd335069a5d535c6f47619e66827dd8230e
BLAKE2b-256 checksum
How to use checksums
bc0efdbe73cd2072a317d9fc2e065d0393b505bc174cbe58a62f28645eb05971
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for chatterflow 0.0.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page