pybitchat


Namepybitchat JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryA Python implementation of the BitChat decentralized, peer-to-peer, encrypted chat application over BLE.
upload_time2025-07-17 23:54:06
maintainerNone
docs_urlNone
authorKağan IŞILDAK, Dmytro Yaroshenko
requires_python>=3.9
licenseNone
keywords bitchat ble ble-mesh irc-vibes chat-application p2p-chat
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # BitChat Python

A Python implementation of the BitChat decentralized, peer-to-peer, encrypted chat application over BLE.

*This project is a fork of [bitchat-python](https://github.com/kaganisildak/bitchat-python). This fork contains improvements that possibly not yet merged to original project.*

*This project is a rewrite of the [original Rust-based `bitchat-terminal`](https://github.com/ShilohEye/bitchat-terminal).*

## Table of contents
* [Installation](#installation)
* [Usage](#usage)
  * [Simple start](#simple-start)
  * [CLI startup options](#cli-startup-args)
  * [BitChat Commands](#bitchat-commands)
* [Clone, Develop and Build](#clone-develop-and-build)
  * [Setup environment](#clone-and-setup-editable-environment-using-uv)
  * [Build](#build-sdist-and-wheel)

## Installation
With pip
```shell
pip install pybitchat
```

With [`uv` package and project manager](https://docs.astral.sh/uv/)
```Shell
uv tool install pybitchat
```

With [`pipx` standalone python apps panager](https://github.com/pypa/pipx)
```Shell
pipx install pybitchat
```


## Usage

### Simple start
Installed with `pip`, `uv tool`, `pipx` 
```Shell
bitchat-python
```

With `uvx` command
> [!NOTE]
> This will only work once the project is published to the PyPI index.
```Shell
uvx bitchat-python
```

### CLI startup options
```shell
  -h, --help     show this help message and exit
  -d, --debug    enable BASIC debug (connection info)
  -v, --verbose  enable FULL debug (verbose output)
  -u, --usage    show usage info
  -V, --version  show program`s version number and exit
  --log [LOG]    log file path. If no path is provided, logs to 'bitchat.log'. If --log is omitted, no logging occurs.
```

### BitChat Commands

This section details the various commands available within BitChat.
```shell
General Commands

* `/help`               : Show this help menu
* `/h`                  : Alias for /help
* `/me`                 : Get your Nickname and peer_id
* `/name <name>`        : Change your nickname
* `/status`             : Show connection info
* `/clear`              : Clear the screen
* `/exit`               : Quit BitChat


Navigation Commands

* `1-9`                 : Quick switch to conversation
* `/list`               : Show all conversations
* `/switch`             : Interactive conversation switcher
* `/public`             : Go to public chat


Messaging Commands

(Type normally to send in current mode)

* `/dm <name>`          : Start private conversation
* `/dm <name> <msg>`    : Send quick private message
* `/reply`              : Reply to last private message


Channel Commands

* `/j #channel`               : Join or create a channel
* `/j #channel <password>`    : Join with password
* `/leave`                    : Leave current channel
* `/pass <pwd>`               : Set channel password (owner only)
* `/transfer @user`           : Transfer ownership (owner only)


Discovery Commands

* `/channels`                 : List all discovered channels
* `/online`                   : Show who`s online
* `/w`                        : Alias for `/online`


Privacy & Security Commands

* `/block @user`       : Block a user
* `/block`             : List blocked users
* `/unblock @user`     : Unblock a user
```


## Clone, Develop and Build
> [!TIP]  
> [`uv` package and project manager](https://docs.astral.sh/uv/) usage recommended for this step

### Clone and setup editable environment using `uv`
```Shell
git clone https://github.com/o-murphy/pybitchat.git
cd bitchat-python
uv sync --dev
.venv/bin/activate
```

### Type checking with
```Shell
uv run mypy 
```

### Linting and Formatting
Lint
```Shell
uv run ruff check
```

Format
```Shell
uv run ruff format
```

### Build sdist and wheel
```Shell
uv build
```




[//]: # (Old README.md content)
[//]: # (pip install bleak>=0.22.3 cryptography>=44.0.0 lz4>=4.3.3 aioconsole>=0.8.1 pybloom-live>=4.0.0)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pybitchat",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "bitchat, BLE, BLE-mesh, IRC-vibes, chat-application, p2p-chat",
    "author": "Ka\u011fan I\u015eILDAK, Dmytro Yaroshenko",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/68/e3/969596e623c259ecc411a7dd7a793724ebb43910879c7c5adfee53e1a9c0/pybitchat-0.1.0.tar.gz",
    "platform": null,
    "description": "# BitChat Python\n\nA Python implementation of the BitChat decentralized, peer-to-peer, encrypted chat application over BLE.\n\n*This project is a fork of [bitchat-python](https://github.com/kaganisildak/bitchat-python). This fork contains improvements that possibly not yet merged to original project.*\n\n*This project is a rewrite of the [original Rust-based `bitchat-terminal`](https://github.com/ShilohEye/bitchat-terminal).*\n\n## Table of contents\n* [Installation](#installation)\n* [Usage](#usage)\n  * [Simple start](#simple-start)\n  * [CLI startup options](#cli-startup-args)\n  * [BitChat Commands](#bitchat-commands)\n* [Clone, Develop and Build](#clone-develop-and-build)\n  * [Setup environment](#clone-and-setup-editable-environment-using-uv)\n  * [Build](#build-sdist-and-wheel)\n\n## Installation\nWith pip\n```shell\npip install pybitchat\n```\n\nWith [`uv` package and project manager](https://docs.astral.sh/uv/)\n```Shell\nuv tool install pybitchat\n```\n\nWith [`pipx` standalone python apps panager](https://github.com/pypa/pipx)\n```Shell\npipx install pybitchat\n```\n\n\n## Usage\n\n### Simple start\nInstalled with `pip`, `uv tool`, `pipx` \n```Shell\nbitchat-python\n```\n\nWith `uvx` command\n> [!NOTE]\n> This will only work once the project is published to the PyPI index.\n```Shell\nuvx bitchat-python\n```\n\n### CLI startup options\n```shell\n  -h, --help     show this help message and exit\n  -d, --debug    enable BASIC debug (connection info)\n  -v, --verbose  enable FULL debug (verbose output)\n  -u, --usage    show usage info\n  -V, --version  show program`s version number and exit\n  --log [LOG]    log file path. If no path is provided, logs to 'bitchat.log'. If --log is omitted, no logging occurs.\n```\n\n### BitChat Commands\n\nThis section details the various commands available within BitChat.\n```shell\nGeneral Commands\n\n* `/help`               : Show this help menu\n* `/h`                  : Alias for /help\n* `/me`                 : Get your Nickname and peer_id\n* `/name <name>`        : Change your nickname\n* `/status`             : Show connection info\n* `/clear`              : Clear the screen\n* `/exit`               : Quit BitChat\n\n\nNavigation Commands\n\n* `1-9`                 : Quick switch to conversation\n* `/list`               : Show all conversations\n* `/switch`             : Interactive conversation switcher\n* `/public`             : Go to public chat\n\n\nMessaging Commands\n\n(Type normally to send in current mode)\n\n* `/dm <name>`          : Start private conversation\n* `/dm <name> <msg>`    : Send quick private message\n* `/reply`              : Reply to last private message\n\n\nChannel Commands\n\n* `/j #channel`               : Join or create a channel\n* `/j #channel <password>`    : Join with password\n* `/leave`                    : Leave current channel\n* `/pass <pwd>`               : Set channel password (owner only)\n* `/transfer @user`           : Transfer ownership (owner only)\n\n\nDiscovery Commands\n\n* `/channels`                 : List all discovered channels\n* `/online`                   : Show who`s online\n* `/w`                        : Alias for `/online`\n\n\nPrivacy & Security Commands\n\n* `/block @user`       : Block a user\n* `/block`             : List blocked users\n* `/unblock @user`     : Unblock a user\n```\n\n\n## Clone, Develop and Build\n> [!TIP]  \n> [`uv` package and project manager](https://docs.astral.sh/uv/) usage recommended for this step\n\n### Clone and setup editable environment using `uv`\n```Shell\ngit clone https://github.com/o-murphy/pybitchat.git\ncd bitchat-python\nuv sync --dev\n.venv/bin/activate\n```\n\n### Type checking with\n```Shell\nuv run mypy \n```\n\n### Linting and Formatting\nLint\n```Shell\nuv run ruff check\n```\n\nFormat\n```Shell\nuv run ruff format\n```\n\n### Build sdist and wheel\n```Shell\nuv build\n```\n\n\n\n\n[//]: # (Old README.md content)\n[//]: # (pip install bleak>=0.22.3 cryptography>=44.0.0 lz4>=4.3.3 aioconsole>=0.8.1 pybloom-live>=4.0.0)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python implementation of the BitChat decentralized, peer-to-peer, encrypted chat application over BLE.",
    "version": "0.1.0",
    "project_urls": {
        "Bug Reports": "https://github.com/o-murphy/pybitchat/issues",
        "Homepage": "https://github.com/o-murphy/py-bitchat",
        "Source": "https://github.com/o-murphy/pybitchat"
    },
    "split_keywords": [
        "bitchat",
        " ble",
        " ble-mesh",
        " irc-vibes",
        " chat-application",
        " p2p-chat"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0b060d6c75116a783948450690156a88023d83b5f86b03ccc69815d65c36d6d2",
                "md5": "f3c406ef22dd4c3811359cb86c31e840",
                "sha256": "0b34353aade14bb907733349222bed837ff422f53c45d00cd19790256f152b4c"
            },
            "downloads": -1,
            "filename": "pybitchat-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f3c406ef22dd4c3811359cb86c31e840",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 30915,
            "upload_time": "2025-07-17T23:54:05",
            "upload_time_iso_8601": "2025-07-17T23:54:05.525125Z",
            "url": "https://files.pythonhosted.org/packages/0b/06/0d6c75116a783948450690156a88023d83b5f86b03ccc69815d65c36d6d2/pybitchat-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "68e3969596e623c259ecc411a7dd7a793724ebb43910879c7c5adfee53e1a9c0",
                "md5": "9f2a654e5e0017272083b641110a7b6f",
                "sha256": "67962474a4a1b90e3ca952a2a7dade7c695e341ffc41933ba75d4f1d60fb5016"
            },
            "downloads": -1,
            "filename": "pybitchat-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9f2a654e5e0017272083b641110a7b6f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 30080,
            "upload_time": "2025-07-17T23:54:06",
            "upload_time_iso_8601": "2025-07-17T23:54:06.382427Z",
            "url": "https://files.pythonhosted.org/packages/68/e3/969596e623c259ecc411a7dd7a793724ebb43910879c7c5adfee53e1a9c0/pybitchat-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-17 23:54:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "o-murphy",
    "github_project": "pybitchat",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pybitchat"
}
        
Elapsed time: 0.51555s