Skip to main content

Watch me coding, a toolbox

Project description

===============
Watch me coding
===============
.. image:: https://img.shields.io/pypi/v/wmc
:alt: PyPI
:target: https://pypi.org/project/wmc/

.. image:: https://img.shields.io/pypi/pyversions/wmc
:alt: Python Version
:target: https://pypi.org/project/wmc/

.. image:: https://img.shields.io/pypi/wheel/wmc
:alt: Wheel
:target: https://pypi.org/project/wmc/

.. image:: https://img.shields.io/pypi/implementation/wmc
:alt: Implementation
:target: https://pypi.org/project/wmc/

.. image:: https://img.shields.io/pypi/dm/wmc
:alt: Downloads
:target: https://pypi.org/project/wmc/

.. image:: https://img.shields.io/pypi/l/wmc
:alt: License
:target: https://pypi.org/project/wmc/

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

Install
-------
It is on PyPi::

pip install wmc

Hot to uses
-----------
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

How does it work
----------------
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.

1. Clone the repo or download the files.::

git clone https://github.com/axju/wmc.git

2. 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

3. 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

4. Now install the Plugins::

python examples/plugin_func.py install
python examples/plugin_cls.py install

5. 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

6. 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


Development
-----------

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
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/*


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

wmc-0.3.3.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

wmc-0.3.3-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file wmc-0.3.3.tar.gz.

File metadata

  • Download URL: wmc-0.3.3.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.5

File hashes

Hashes for wmc-0.3.3.tar.gz
Algorithm Hash digest
SHA256 bf23ab176771475178ff09676e98dd55249319fbb5c5da40965533aa70509246
MD5 1b7b02ec6fa32d50211bee21a09be445
BLAKE2b-256 66c397ca319924c88be9649078695f12fbf7398f32df035bede8790f3411832c

See more details on using hashes here.

File details

Details for the file wmc-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: wmc-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.5

File hashes

Hashes for wmc-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d6da8307ca9dc3db449c191f1675d7ec8bf46a3c35c5d5a934090763f6bad79c
MD5 90836c81fe942b9d4a5b6b196f56ced9
BLAKE2b-256 7b644c0c09299c9a1f0fb9a45874feefdb383ee5f0d203302e9e57a87828787c

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