Create some screen recording. I would like to share my coding process. This small tool should help me. But you can use it for any long time recording.
It's still under develop, but you can try it. See "How does it work" for more information
It is on PyPi:
pip install wmc
Create a new project. This is basically a folder with a settings file:
wmc setup . wmc setup test
You can edit the config file or simple start recording:
wmc record
Use the help for more:
>>> wmc --help usage: wmc [-h] [-V] [-v] [-s SETTINGS] [-H] [{info,link,record,setup}] [path] Watch me coding, a toolbox positional arguments: {info,link,record,setup} Select one command. path Path to the project. optional arguments: -h, --help show this help message and exit -V, --version show program's version number and exit -v, --verbose Enable debug infos. -s SETTINGS, --settings SETTINGS The settings file. -H, --help-commands Some command infos. Copyright 2021 AxJu | WMCv0.3.2
Every sub command could have some different options. But you can look into there help, too:
>>> wmc info dummy -h usage: wmc info [-h] [-V] Watch me coding, a toolbox optional arguments: -h, --help show this help message and exit -V, --version show program's version number and exit Copyright 2021 AxJu | WMCv0.3.2
The workplace is simple folder with a data file. Every command work with this folder and the settings from the data file. To manage the different commands I create a basic class and uses the entry_points from the setuptools. This make it also easy to write custom commands. Write your own pypackage, integrate your command to the entry_points and the command is variable. To create the command you can inherit from the basic class and then override the functions. To take your dependency small and clean, you can overwrite single functions from the basic class.
It is simple as usual in python. I put some examples in the example folder, a class and an function example. Look into the folder, if you want to create your own command. I will explain how you can use this.
Clone the repo or download the files.:
git clone https://github.com/axju/wmc.git
Install wmc. You should always use a virtual environment, but that's not my business. If you would install wmc from source:
python setup.py install
or from PyPi:
pip install wmc
Take a look to the default commands:
>>> wmc -H info v0.3.2 - Print some infos link v0.3.2 - Concat all videos to one record v0.3.2 - Start the record setup v0.3.2 - Some help
Now install the Plugins:
python examples/plugin_func.py install python examples/plugin_cls.py install
Look again to the commands:
>>> wmc -H info v0.3.2 - Print some infos link v0.3.2 - Concat allvideos to one record v0.3.2 - Start the record setup v0.3.2 - Some help plugin-cls v0.1.0 - A Plugin with a the basic class plugin-func v0.1.0 - A Plugin with a function
Now you can use the command:
>>> wmc plugin-cls dummy -h usage: wmc plugin-cls [-h] [-V] [--hello] Watch me coding, a toolbox optional arguments: -h, --help show this help message and exit -V, --version show program's version number and exit --hello say hello Copyright 2021 AxJu | WMCv0.3.2
Virtual environment windows:
python -m venv venv venv\Scripts\activate
Virtual environment linux:
python3 -m venv venv source venv/bin/activate
Setup project:
python -m pip install --upgrade pip wheel setuptools tox flake8 pylama pylint coverage twine python -m pip install -e .
Run some test:
python -m unittest python -m flake8 wmc python -m pylint wmc
Test coverage:
coverage run --source wmc -m unittest coverage report -m
Multiple test with tox:
tox
Publish the packages:
git tag -a 0.3.3 -m 'Version 0.3.3' git push origin 0.3.3 python setup.py --version python setup.py check python setup.py sdist bdist_wheel twine upload dist/*