Toolbox for Python scripts
Project description
Afraid of red status ? Please click on the link, sometimes this is not my fault ;-)
This module is a Toolbox for Python scripts.
This library supports Python 2.6, 2.7, 3.2, 3.3, 3.4 and PyPy.
What the release number stands for ?
I do my best to follow this interesting recommendation : Semantic Versioning 2.0.0
How to install it (Python 2.7) ?
Install some packages that are not handled by pip:
sudo apt-add-repository ppa:mc3man/trusty-media sudo apt-get update sudo apt-get install ffmpeg git-core libyaml-dev libxml2-dev libxslt-dev libz-dev python-dev python-pip screen sudo apt-get install gir1.2-gexiv2-0.10 libexiv2-dev python-gi
Make sure that pip is up-to-date (PIPception):
sudo pip-2.7 install --upgrade pip
Then, you only need to run setup.py:
python2 setup.py test sudo python2 setup.py install
How to install it (Python 3.3) ?
Install some packages that are not handled by pip:
sudo apt-add-repository ppa:mc3man/trusty-media sudo apt-get update sudo apt-get install ffmpeg git-core libyaml-dev libxml2-dev libxslt-dev libz-dev python3-dev python3-pip screen sudo apt-get install gir1.2-gexiv2-0.10 libexiv2-dev python3-gi
Make sure that pip is up-to-date (PIPception):
sudo pip-3.3 install --upgrade pip
Then, you only need to run setup.py:
python3 setup.py test sudo python3 setup.py install
How to enable features/modules ?
Example:
sudo python setup.py install --help usage: setup.py [-h] [--extra-flask] [--extra-ming] [--extra-mongo] [--extra-smpte2022] [--extra-django] [--extra-all] optional arguments: -h, --help show this help message and exit --extra-flask Install dependencies for the module/feature flask. (default: False) --extra-ming Install dependencies for the module/feature ming. (default: False) --extra-mongo Install dependencies for the module/feature mongo. (default: False) --extra-smpte2022 Install dependencies for the module/feature smpte2022. (default: False) --extra-django Install dependencies for the module/feature django. (default: False) --extra-all Install dependencies for all modules/features. (default: False) Some Python utility functions sudo python setup.py install --extra-smpte2022
Another way to do this, with pip:
sudo pip install -e .[django,flask,ming,mongo,smpte2022] --use-mirrors
How to check coverage ?
python setup.py test xdg-open tests/cover/index.html
How to use it ?
Here is an example hello.py using the cmd function provided by pytoolbox:
from pytoolbox.subprocess import cmd print(cmd('echo Hello World!')['stdout'])
How to generate documentation ?
The documentation is generated by Sphinx. In fact this documentation is extracted from the docstrings of the modules.
I am not fully happy with the actual results, for example it miss some parts of the modules … It probably requires some tweaks in order to fix this.
Here is the procedure:
cd doc/ python update.py xdg-open doc/build/html/index.html
How to add it to dependencies of my own project ?
Here is an example setup.py for a project called my-cool-project:
from setuptools import setup setup(name='my-cool-project', version='0.8', author='Firstname Lastname', author_email='author@something.com', install_requires=['...', 'pytoolbox', '...'], tests_require=['nose'], license='GPLv3', url='https://github.com/nickname/my-cool-project', packages=['my_cool_project'])
See pip vcs support to get further details about this.
You also need to install git-core, but it is probably already the case, at least on your development computer ;-)
2014 - David Fischer
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.