Skip to main content

Bindings for Little CMS

Project description

Little CMS Python Bindings
==========================

`SWIG <http://swig.org>`_ generated Python bindings for v2.7 of `Little CMS <http://www.littlecms.com>`_.

This distribution contains the necessary C source files from littlecms in the c_sources directory.


Installing
==========

The distributed product is best installed by users using pip:
pip install littlecms

Building in Development Mode
============================

Building the product during further development is best done in the setuptools
development mode. From the base of the repo, use this command:
setup develop --install-dir=<dir>

where <dir> is a location on your PYTHONPATH. This requires that you have both
setuptools and the appropriate C build tools available for the target version of
Python [On Windows, that's Visual Studio 2015 for Python 3.5 and Visual Studio 2010
for Python 3.3-3.4].

Installing setuptools
=====================

Follow the instructions at https://pypi.python.org/pypi/setuptools. The
recommended method is to download ez_setup.py and run it using the target Python
environment.
NB. This step isn't required for Python 3.4+ because setuptools are pre-installed
in the Python distribution.

Generating the SWIG Wrapper
===========================

This package contains swig/littlecms_wrap.cpp and littlecms/littlecms.py, which
form a pre-generated Python3 SWIG wrapper for the littlecms library.
If you need to regenerate the wrapper, the SWIG source files are also included.
This is the command line used on Windows:

swig -python -py3 -Ic_sources/include -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include" -outdir littlecms -o swig/littlecms_wrap.cpp swig/littlecms.i

This command requires that SWIG is installed, and that the VS2015 header files are
available in the given location.
NB. This command is for Python 3.5+ which requires VS2015 (includes Visual C v14).
Python 3.3-3.4 requires VS2010, so change this command to use headers from
"Microsoft Visual Studio 10.0" instead.
Actually, for the purpose of this command only, it doesn't make any difference
which headers are used for either version of Python.


Currently Unsupported LittleCMS Functions
=========================================
It is believed that support for the LittleCMS API is nearly complete with the
exception of these functions. They are unsupported because the types of the
named params aren't yet supported; they are mostly arrays:
cmsGetHeaderCreationDateTime - struct tm *Dest
cmsGetSupportedIntents - char** Descriptions
cmsCreateExtendedTransform - cmsBool BPC[]
cmsIT8EnumProperties - char ***PropertyNames
cmsIT8EnumPropertyMulti - char ***SubpropertyNames
cmsIT8EnumDataFormat - char ***SampleNames
cmsPipelineUnlinkStage - cmsStage **mpe (Does work with None value for pointer)
cmsStageAllocCLutFloat - cmsFloat32Number *Table (Does work with None value for pointer)
cmsStageSampleCLutFloat - cmsSAMPLERFLOAT (The uint16 sampler is supported)

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

littlecms-0.1b3.zip (435.6 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