Metadata-Version: 2.0
Name: luma.core
Version: 0.4.2
Summary: A component library to support SBC display drivers
Home-page: https://github.com/rm-hull/luma.core
Author: Richard Hull
Author-email: richard.hull@destructuring-bind.org
License: MIT
Download-URL: https://github.com/rm-hull/luma.core/tarball/0.4.2
Keywords: raspberry orange banana pi rpi opi sbc oled lcd led display screen spi i2c
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Developers
Classifier: Topic :: Education
Classifier: Topic :: System :: Hardware
Classifier: Topic :: System :: Hardware :: Hardware Drivers
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Dist: RPi.GPIO
Requires-Dist: pillow (>=4.0.0)
Requires-Dist: smbus2
Requires-Dist: spidev
Provides-Extra: docs
Requires-Dist: sphinx (>=1.5.1); extra == 'docs'
Provides-Extra: test
Requires-Dist: mock; extra == 'test'
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'

luma.core **|** 
`luma.emulator <https://github.com/rm-hull/luma.emulator>`__ **|** 
`luma.examples <https://github.com/rm-hull/luma.examples>`__ **|** 
`luma.lcd <https://github.com/rm-hull/luma.lcd>`__ **|** 
`luma.led_matrix <https://github.com/rm-hull/luma.led_matrix>`__ **|** 
`luma.oled <https://github.com/rm-hull/luma.oled>`__ 

Luma.Core
=========

.. image:: https://travis-ci.org/rm-hull/luma.core.svg?branch=master
   :target: https://travis-ci.org/rm-hull/luma.core

.. image:: https://coveralls.io/repos/github/rm-hull/luma.core/badge.svg?branch=master
   :target: https://coveralls.io/github/rm-hull/luma.core?branch=master

.. image:: https://img.shields.io/pypi/pyversions/luma.core.svg
   :target: https://pypi.python.org/pypi/luma.core

.. image:: https://img.shields.io/pypi/v/luma.core.svg
   :target: https://pypi.python.org/pypi/luma.core

.. image:: https://img.shields.io/maintenance/yes/2017.svg?maxAge=2592000

**luma.core** is a component library providing a Pillow-compatible drawing
canvas, and other functionality to support drawing primitives and
text-rendering capabilities for small displays on the Raspberry Pi and other
single board computers:

* scrolling/panning capability,
* terminal-style printing,
* state management,
* color/greyscale (where supported),
* dithering to monochrome,
* sprite animation,
* flexible framebuffering (depending on device capabilities)

Device drivers extend **luma.core** to provide the correct initialization 
sequences for specific physical display devices/chipsets.

There are several drivers for different classes of device available:

* `luma.oled <https://github.com/rm-hull/luma.oled/>`_
* `luma.lcd <https://github.com/rm-hull/luma.lcd/>`_
* `luma.led_matrix <https://github.com/rm-hull/luma.led_matrix/>`_
* `luma.emulator <https://github.com/rm-hull/luma.emulator/>`_

There are emulators that run in real-time (with pygame) and others that can
take screenshots, or assemble animated GIFs, as per the examples below. Source
code for these are available in the `examples
<https://github.com/rm-hull/luma.examples/tree/master/examples>`_
directory of the ``luma.examples`` repository.

.. image:: https://raw.githubusercontent.com/rm-hull/luma.oled/master/doc/images/clock_anim.gif?raw=true
   :alt: clock

.. image:: https://raw.githubusercontent.com/rm-hull/luma.oled/master/doc/images/invaders_anim.gif?raw=true
   :alt: invaders

.. image:: https://raw.githubusercontent.com/rm-hull/luma.oled/master/doc/images/crawl_anim.gif?raw=true
   :alt: crawl

License
-------
The MIT License (MIT)

Copyright (c) 2017 Richard Hull & Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


Contributing
------------

Pull requests (code changes / documentation / typos / feature requests / setup)
are gladly accepted. If you are intending to introduce some large-scale
changes, please get in touch first to make sure we're on the same page: try to
include a docstring for any new method or class, and keep method bodies small,
readable and PEP8-compliant. Add tests and strive to keep the code coverage
levels high.

GitHub
^^^^^^
The source code is available to clone at: https://github.com/rm-hull/luma.core

Contributors
^^^^^^^^^^^^
* Thijs Triemstra (@thijstriemstra)
* Christoph Handel (@fragfutter)
* Boeeerb (@Boeeerb)
* xes (@xes)
* Roger Dahl (@rogerdahl)
* Václav Šmilauer (@eudoxos)
* Claus Bjerre (@bjerrep)
* Unattributed (@bkntrx)
* Unattributed (@7754359337)


ChangeLog
---------

+------------+---------------------------------------------------------------------+------------+
| Version    | Description                                                         | Date       |
+============+=====================================================================+============+
| *Upcoming* | *TBC*                                                               |            |
+------------+---------------------------------------------------------------------+------------+
| **0.4.2**  | * Optional alignment of framebuffer bounding_box to word-boundaries | 2017/02/28 |
+------------+---------------------------------------------------------------------+------------+
| **0.4.1**  | * Refactor framebuffer interface                                    | 2017/02/27 |
+------------+---------------------------------------------------------------------+------------+
| **0.4.0**  | * Add spritesheet and framerate_regulator functionality             | 2017/02/27 |
|            | * Add full-frame and diff-to-previous framebuffer implementations   |            |
|            | * Remove unnecessary travis/tox dependencies                        |            |
+------------+---------------------------------------------------------------------+------------+
| **0.3.2*** | * Bug fix: ``legacy.show_message`` wrong device height              | 2017/02/24 |
|            | * Add Cyrillic chars to legacy font                                 |            |
|            | * Make pytest-runner a conditional requirement                      |            |
+------------+---------------------------------------------------------------------+------------+
| **0.3.1**  | * Imported legacy font handling from ``rm-hull/luma.led_matrix``    | 2017/02/19 |
+------------+---------------------------------------------------------------------+------------+
| **0.2.0**  | * Fix bug in seven_segment transform (display correct char)         | 2017/02/17 |
|            | * Moved emulator code to ``rm-hull/luma.emulator`` github repo      |            |
+------------+---------------------------------------------------------------------+------------+
| **0.1.15** | * Require at least Pillow 4.0.0                                     | 2017/02/11 |
|            | * Configurable ``transfer_size`` on SPI writes                      |            |
|            | * Documentation updates                                             |            |
+------------+---------------------------------------------------------------------+------------+
| **0.1.14** | * Use a more flexible no-op implementation                          | 2017/02/03 |
|            | * Use spidev's ``writebytes()`` rather than ``xfer2()``             |            |
|            | * Dont write GIF animation if nothing was displayed                 |            |
|            | * Attempt to optimize palette when saving GIF animations            |            |
+------------+---------------------------------------------------------------------+------------+
| **0.1.13** | * Fix bug in setup script                                           | 2017/01/23 |
+------------+---------------------------------------------------------------------+------------+
| **0.1.12** | * Assert valid SPI bus speed                                        | 2017/01/21 |
|            | * Don't report errors in shutdown                                   |            |
|            | * Don't package as zip-safe                                         |            |
|            | * Add 7-segment LED emulation transformer                           |            |
+------------+---------------------------------------------------------------------+------------+
| **0.1.11** | * Rejig packaging to include emulator assets                        | 2017/01/20 |
+------------+---------------------------------------------------------------------+------------+
| **0.1.3**  | * Reset SPI device on initialization                                | 2017/01/19 |
|            | * Add LED matrix emulation transformer                              |            |
+------------+---------------------------------------------------------------------+------------+
| **0.1.2**  | * Namespace packaging                                               | 2017/01/10 |
+------------+---------------------------------------------------------------------+------------+
| **0.1.0**  | * Split out core functionality from ``rm-hull/ssd1306``             | 2017/01/10 |
+------------+---------------------------------------------------------------------+------------+


