# MyHumbleSelf
**Show your webcam image on your desktop during presentations or screencasts. (Linux
only 🐧)**
<p align="center"><br>
<img alt="Tests passing" src="https://github.com/dynobo/myhumbleself/workflows/Test/badge.svg">
<a href="https://github.com/dynobo/myhumbleself/blob/main/LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-GPL3-blue.svg"></a>
<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/Code%20style-black-%23000000"></a>
<a href='https://coveralls.io/github/dynobo/myhumbleself'><img src='https://coveralls.io/repos/github/dynobo/myhumbleself/badge.svg' alt='Coverage Status' /></a>
</p>
![MyHumbleSelf Screenshot](https://raw.githubusercontent.com/dynobo/myhumbleself/main/resources/screenshot-00.png)
## Installation
- [Python Package from PyPi](https://pypi.org/project/myhumbleself/) and its
[prerequisites](#prerequisites)!
## Usage
✨
**[Watch the screencast](https://raw.githubusercontent.com/dynobo/myhumbleself/main/resources/screencast.webm)**
✨
**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](https://github.com/umlaeute/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](https://github.com/dynobo/myhumbleself/issues/new). Otherwise,
consider using a tool like [OBS Studio](https://obsproject.com/), 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](https://github.com/dynobo/myhumbleself/issues) to avoid
an unnecessary disappointment.
### Development Setup
**Prerequisites:** <a name="prerequisites"></a>
- Python 3.12+
- GTK 4.6+ and related dev packages:
```sh
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](https://github.com/dynobo/myhumbleself/fork).
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**<br>Everything should run locally without any network
communication.
- **Simplicity**<br>Focus on key features. Keep the UI simple. Avoid text in the UI if
possible.
- **Dependencies**<br>The less dependencies, the better.
## Certification
![WOMM](https://raw.githubusercontent.com/dynobo/myhumbleself/main/resources/badge.png)
Raw data
{
"_id": null,
"home_page": null,
"name": "MyHumbleSelf",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "webcam, camera, utility, tool, presentation, screencast",
"author": null,
"author_email": "dynobo <dynobo@mailbox.org>",
"download_url": "https://files.pythonhosted.org/packages/fb/ce/fe5e9bf1f40c5f803aea160bdd31fefc97343743169987ff1a4e06006d43/myhumbleself-0.1.1.tar.gz",
"platform": null,
"description": "# MyHumbleSelf\n\n**Show your webcam image on your desktop during presentations or screencasts. (Linux\nonly \ud83d\udc27)**\n\n<p align=\"center\"><br>\n<img alt=\"Tests passing\" src=\"https://github.com/dynobo/myhumbleself/workflows/Test/badge.svg\">\n<a href=\"https://github.com/dynobo/myhumbleself/blob/main/LICENSE\"><img alt=\"License: MIT\" src=\"https://img.shields.io/badge/License-GPL3-blue.svg\"></a>\n<a href=\"https://github.com/psf/black\"><img alt=\"Code style: black\" src=\"https://img.shields.io/badge/Code%20style-black-%23000000\"></a>\n<a href='https://coveralls.io/github/dynobo/myhumbleself'><img src='https://coveralls.io/repos/github/dynobo/myhumbleself/badge.svg' alt='Coverage Status' /></a>\n</p>\n\n![MyHumbleSelf Screenshot](https://raw.githubusercontent.com/dynobo/myhumbleself/main/resources/screenshot-00.png)\n\n## Installation\n\n- [Python Package from PyPi](https://pypi.org/project/myhumbleself/) and its\n [prerequisites](#prerequisites)!\n\n## Usage\n\n\u2728\n**[Watch the screencast](https://raw.githubusercontent.com/dynobo/myhumbleself/main/resources/screencast.webm)**\n\u2728\n\n**Quick start:**\n\n- Launch MyHumbleSelf\n- Resize the window and move it to the desired location\n- Set it to \"always on top\" via your window manager (right-click on titlebar)\n- Hover the webcam image and click the \"eye\"-button on top right to hide the window\n controls\n\n**Some notable features:**\n\n- Use face tracking to keep your head in the center\n- Choose from a variety of shape-masks to add some style\n\n## Frequently Asked Questions\n\n**1) How can I display my webcam stream in MyHumbleSelf _and_ in a video conferencing\ntool at the same time?**\n\nYou can use [v4l2loopback](https://github.com/umlaeute/v4l2loopback) to create a virtual\nwebcam that you can access by multiple applications at the same time.\n\n**2) What should I do if I need more features?**\n\nIf you think it is an important basic feature, open a\n[feature request](https://github.com/dynobo/myhumbleself/issues/new). Otherwise,\nconsider using a tool like [OBS Studio](https://obsproject.com/), which is much more\npowerful (but a bit more difficult to use).\n\n## Contributing\n\nYou are very welcome to contribute to this project! However, before you invest a lot of\ntime in a contribution, it might be worth\n[sharing your idea in advance](https://github.com/dynobo/myhumbleself/issues) to avoid\nan unnecessary disappointment.\n\n### Development Setup\n\n**Prerequisites:** <a name=\"prerequisites\"></a>\n\n- Python 3.12+\n- GTK 4.6+ and related dev packages:\n ```sh\n sudo apt-get install \\\n libgirepository1.0-dev \\\n libcairo2-dev \\\n python3-gi \\\n gobject-introspection \\\n libgtk-4-dev\n ```\n\n**Setup your version of the repository:**\n\n1. [Fork the project's repository](https://github.com/dynobo/myhumbleself/fork).\n2. Copy your fork to the local file system: \\\n `git clone https://github.com/<YOUR-USERNAME>/myhumbleself.git`\n\n**Setup Virtual Environment:**\n\n1. Navigate into the repository root directory: \\\n `cd myhumbleself`\n2. Create the virtual environment: \\\n `python -m venv .venv`\n3. Activate the environement: \\ `source .venv/bin/activate`\n\n**Install dependencies:**\n\n1. Install the package, it's dependencies, and development dependencies in editable\n mode: \\\n `pip install -e '.[dev]'`\n2. Verify installation by launching MyHumbleSelf: \\\n `python myhumbleself/app.py`\n\n**Run checks and tests:**\n\n1. Run all project checks locally, to verify a correct setup of the dev environment: \\\n `pre-commit run --all-files`\n2. You should run those checks before doing any `git commit` to ensure your change\n doesn't break anything. You can do this automatically by installing them as git hook:\n \\\n `pre-commit install`\n\n## Design Principles\n\n- **No network connection**<br>Everything should run locally without any network\n communication.\n- **Simplicity**<br>Focus on key features. Keep the UI simple. Avoid text in the UI if\n possible.\n- **Dependencies**<br>The less dependencies, the better.\n\n## Certification\n\n![WOMM](https://raw.githubusercontent.com/dynobo/myhumbleself/main/resources/badge.png)\n",
"bugtrack_url": null,
"license": null,
"summary": "Show your webcam image on the desktop for presentations.",
"version": "0.1.1",
"project_urls": {
"Source": "https://github.com/dynobo/myhumbleself"
},
"split_keywords": [
"webcam",
" camera",
" utility",
" tool",
" presentation",
" screencast"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "90b346201da5d9d500f49077123b660304025cef6d895056cbd0656d3ea4095e",
"md5": "1d7608e01aa5e33763eda5971e2b2b00",
"sha256": "22f5f43f58e5239881f1da7e489c725a90129ea5a45991505f496d1dab07e055"
},
"downloads": -1,
"filename": "MyHumbleSelf-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1d7608e01aa5e33763eda5971e2b2b00",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 3262415,
"upload_time": "2024-09-01T08:09:42",
"upload_time_iso_8601": "2024-09-01T08:09:42.202439Z",
"url": "https://files.pythonhosted.org/packages/90/b3/46201da5d9d500f49077123b660304025cef6d895056cbd0656d3ea4095e/MyHumbleSelf-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fbcefe5e9bf1f40c5f803aea160bdd31fefc97343743169987ff1a4e06006d43",
"md5": "a6da4dd094d55c98bc20665115b2ce0c",
"sha256": "ec9aa59892b4f50c509a0ee30ffad720fa0325eaff32225daac986af5676e2c9"
},
"downloads": -1,
"filename": "myhumbleself-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "a6da4dd094d55c98bc20665115b2ce0c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 3264834,
"upload_time": "2024-09-01T08:09:44",
"upload_time_iso_8601": "2024-09-01T08:09:44.154767Z",
"url": "https://files.pythonhosted.org/packages/fb/ce/fe5e9bf1f40c5f803aea160bdd31fefc97343743169987ff1a4e06006d43/myhumbleself-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-01 08:09:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dynobo",
"github_project": "myhumbleself",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "myhumbleself"
}