Skip to main content

Toolbox for Python scripts

Project description

https://badge.fury.io/py/pytoolbox.png https://pypip.in/d/pytoolbox/badge.png https://secure.travis-ci.org/davidfischer-ch/pytoolbox.png https://coveralls.io/repos/davidfischer-ch/pytoolbox/badge.png https://landscape.io/github/davidfischer-ch/pytoolbox/master/landscape.png 'Stories in Ready'

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


Download files

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

Source Distribution

pytoolbox-10.4.0.tar.gz (116.2 kB view hashes)

Uploaded Source

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