Skip to main content

Show your webcam image on the desktop for presentations.

Project description

MyHumbleSelf

Show your webcam image on your desktop during presentations or screencasts. (Linux only 🐧)


Tests passing License: MIT Code style: black Coverage Status

MyHumbleSelf Screenshot

Installation

Usage

Watch the screencast

Quick start:

  • Launch MyHumbleSelf
  • Resize the window and move it to the desired location
  • Set it to "always on top" via your window manager (right-click on titlebar)
  • Hover the webcam image and click the "eye"-button on top right to hide the window controls

Some notable features:

  • Use face tracking to keep your head in the center
  • Choose from a variety of shape-masks to add some style

Frequently Asked Questions

1) How can I display my webcam stream in MyHumbleSelf and in a video conferencing tool at the same time?

You can use v4l2loopback to create a virtual webcam that you can access by multiple applications at the same time.

2) What should I do if I need more features?

If you think it is an important basic feature, open a feature request. Otherwise, consider using a tool like OBS Studio, which is much more powerful (but a bit more difficult to use).

Contributing

You are very welcome to contribute to this project! However, before you invest a lot of time in a contribution, it might be worth sharing your idea in advance to avoid an unnecessary disappointment.

Development Setup

Prerequisites:

  • Python 3.12+
  • GTK 4.6+ and related dev packages:
    sudo apt-get install \
       libgirepository1.0-dev \
       libcairo2-dev \
       python3-gi \
       gobject-introspection \
       libgtk-4-dev
    

Setup your version of the repository:

  1. Fork the project's repository.
  2. Copy your fork to the local file system:
    git clone https://github.com/<YOUR-USERNAME>/myhumbleself.git

Setup Virtual Environment:

  1. Navigate into the repository root directory:
    cd myhumbleself
  2. Create the virtual environment:
    python -m venv .venv
  3. Activate the environement: \ source .venv/bin/activate

Install dependencies:

  1. Install the package, it's dependencies, and development dependencies in editable mode:
    pip install -e '.[dev]'
  2. Verify installation by launching MyHumbleSelf:
    python myhumbleself/app.py

Run checks and tests:

  1. Run all project checks locally, to verify a correct setup of the dev environment:
    pre-commit run --all-files
  2. You should run those checks before doing any git commit to ensure your change doesn't break anything. You can do this automatically by installing them as git hook:
    pre-commit install

Design Principles

  • No network connection
    Everything should run locally without any network communication.
  • Simplicity
    Focus on key features. Keep the UI simple. Avoid text in the UI if possible.
  • Dependencies
    The less dependencies, the better.

Certification

WOMM

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

myhumbleself-0.1.1.tar.gz (3.3 MB view details)

Uploaded Source

Built Distribution

MyHumbleSelf-0.1.1-py3-none-any.whl (3.3 MB view details)

Uploaded Python 3

File details

Details for the file myhumbleself-0.1.1.tar.gz.

File metadata

  • Download URL: myhumbleself-0.1.1.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for myhumbleself-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ec9aa59892b4f50c509a0ee30ffad720fa0325eaff32225daac986af5676e2c9
MD5 a6da4dd094d55c98bc20665115b2ce0c
BLAKE2b-256 fbcefe5e9bf1f40c5f803aea160bdd31fefc97343743169987ff1a4e06006d43

See more details on using hashes here.

File details

Details for the file MyHumbleSelf-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for MyHumbleSelf-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 22f5f43f58e5239881f1da7e489c725a90129ea5a45991505f496d1dab07e055
MD5 1d7608e01aa5e33763eda5971e2b2b00
BLAKE2b-256 90b346201da5d9d500f49077123b660304025cef6d895056cbd0656d3ea4095e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page