enable

Enable: low-level drawing and interaction

https://github.com/enthought/enable

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.6%) to scientific vocabulary

Keywords from Contributors

closember spec-0 repl notebook ipython wx tk qt gtk flexible
Last synced: 10 months ago · JSON representation

Repository

Enable: low-level drawing and interaction

Basic Info
  • Host: GitHub
  • Owner: enthought
  • License: other
  • Language: C
  • Default Branch: main
  • Homepage:
  • Size: 20.8 MB
Statistics
  • Stars: 95
  • Watchers: 53
  • Forks: 46
  • Open Issues: 124
  • Releases: 21
Created over 15 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog Contributing License

README.rst

=========================================
enable: low-level drawing and interaction
=========================================

https://docs.enthought.com/enable

.. image:: https://github.com/enthought/enable/workflows/Test%20with%20EDM/badge.svg
   :target: https://github.com/enthought/enable/actions?query=workflow%3A%22Test+with+EDM%22
   :alt: Build status

The Enable *project* provides two related multi-platform *packages* for drawing
GUI objects.

- **Enable**: An object drawing library that supports containment and event
  notification.
- **Kiva**: A multi-platform DisplayPDF vector drawing engine.

Enable
------

The Enable package is a multi-platform object drawing library built on top of
Kiva. The core of Enable is a container/component model for drawing and event
notification. The core concepts of Enable are:

- Component
- Container
- Events (mouse, drag, and key events)

Enable provides a high-level interface for creating GUI objects, while
enabling a high level of control over user interaction. Enable is a supporting
technology for the Chaco and BlockCanvas projects.


Kiva
----

Kiva is a multi-platform DisplayPDF vector drawing engine that supports
multiple output backends, including Windows, GTK, and Macintosh native
windowing systems, a variety of raster image formats, PDF, and Postscript.

DisplayPDF is more of a convention than an actual specification. It is a
path-based drawing API based on a subset of the Adobe PDF specification.
Besides basic vector drawing concepts such as paths, rects, line sytles, and
the graphics state stack, it also supports pattern fills, antialiasing, and
transparency. Perhaps the most popular implementation of DisplayPDF is
Apple's Quartz 2-D graphics API in Mac OS X.

Kiva Features
`````````````
Kiva currently implements the following features:

- paths and compiled paths; arcs, bezier curves, rectangles
- graphics state stack
- clip stack, disjoint rectangular clip regions
- raster image blitting
- arbitrary affine transforms of the graphics context
- bevelled and mitered joins
- line width, line dash
- Freetype or native fonts
- RGB, RGBA, or grayscale color depths
- transparency

Prerequisites
-------------

You must have the following libraries installed before building
the Enable/Kiva project:

- `Setuptools `_
- `Numpy `_
- `SWIG `_
- `fonttools `_
- (on Linux) X11-devel (development tools for X11)
- (on Mac OS X) `Cython `_

Enable/Kiva also have the following requirements:

.. rubric:: Runtime:

- `Numpy `_
- `PIL `_ or preferably `pillow `_
- `traits `_
- `traitsui `_
- `pyface `_

.. rubric:: Optional:

- `apptools `_
- (Qt backend) `PySide2, PySide6 `_ or `PyQt5 `_
- (WX backend) `WxPython `_
- (SVG backend) `PyParsing `_
- (PDF backend) `ReportLab Toolkit `_
- (Cairo backend) `PyCairo `_
- (Constrained layout) `kiwisolver `_

Owner

  • Name: Enthought, Inc.
  • Login: enthought
  • Kind: organization
  • Location: Austin, TX

GitHub Events

Total
  • Create event: 2
  • Release event: 1
  • Issues event: 3
  • Watch event: 3
  • Delete event: 1
  • Issue comment event: 10
  • Push event: 54
  • Pull request event: 4
  • Fork event: 1
Last Year
  • Create event: 2
  • Release event: 1
  • Issues event: 3
  • Watch event: 3
  • Delete event: 1
  • Issue comment event: 10
  • Push event: 54
  • Pull request event: 4
  • Fork event: 1

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 2,015
  • Total Committers: 92
  • Avg Commits per committer: 21.902
  • Development Distribution Score (DDS): 0.857
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
John Wiggins j****s@e****m 288
Corran Webster c****r@e****m 245
Ioannis Tziakos i****t@e****m 199
pwang p****g@6****a 195
bhendrix b****x@6****a 170
ischnell i****l@6****a 101
aaronayres35 3****5 69
jwiggins j****s@6****a 65
Ilan Schnell i****l@e****m 60
dpeterson d****n@6****a 60
Poruri Sai Rahul r****i@e****m 60
JCorson j****n@e****m 45
Robert Kern r****n@e****m 33
rkern r****n@6****a 29
Kit Choi k****i 27
Mark Dickinson m****n@e****m 24
kriehl k****l@6****a 24
ccasey c****y@6****a 21
warren.weckesser w****r@6****a 19
epatters e****s@6****a 15
kammeyer k****r@6****a 13
phil p****l@6****a 12
Pankaj Pandey p****j@e****m 12
Jonathan Rocher j****r@k****m 11
vibha v****a@6****a 11
swisher s****r@6****a 11
Brett Patterson b****0@g****m 10
Warren Weckesser w****r@e****m 10
cwebster c****r@6****a 9
Ioannis Tziakos e****t@s****) 8
and 62 more...

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 61
  • Total pull requests: 55
  • Average time to close issues: 6 months
  • Average time to close pull requests: 2 months
  • Total issue authors: 9
  • Total pull request authors: 7
  • Average comments per issue: 1.56
  • Average comments per pull request: 2.02
  • Merged pull requests: 45
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 8 months
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.5
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • corranwebster (34)
  • homosapien-lcy (10)
  • jwiggins (4)
  • mdickinson (2)
  • markasbach (2)
  • capn-freako (2)
  • brechtm (1)
  • kitchoi (1)
  • dpinte (1)
  • rgommers (1)
Pull Request Authors
  • corranwebster (39)
  • homosapien-lcy (9)
  • itziakos (3)
  • drbsg (2)
  • capn-freako (2)
  • mdickinson (1)
  • aaronayres35 (1)
Top Labels
Issue Labels
type: bug (3) type: refactor (2) difficulty: advanced (2) component: build (1) priority: high (1) ETS Backlog (1) needs investigation (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 3,207 last-month
  • Total dependent packages: 3
  • Total dependent repositories: 79
  • Total versions: 29
  • Total maintainers: 5
pypi.org: enable

low-level drawing and interaction

  • Versions: 29
  • Dependent Packages: 3
  • Dependent Repositories: 79
  • Downloads: 3,207 Last month
Rankings
Dependent repos count: 1.7%
Dependent packages count: 2.4%
Average: 4.9%
Forks count: 6.0%
Downloads: 7.2%
Stargazers count: 7.5%
Last synced: 11 months ago

Dependencies

ci/requirements_3.6.txt pypi
  • pygarrayimage *
  • pyglet *
ci/requirements_3.8.txt pypi
  • pygarrayimage *
  • pyglet *
  • pypdf2 *
  • reportlab *
.github/workflows/bleeding-edge.yml actions
  • GabrielBB/xvfb-action v1 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • voxmedia/github-action-slack-notify-build v1 composite
.github/workflows/publish-on-pypi.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/test-with-edm.yml actions
  • GabrielBB/xvfb-action v1 composite
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • enthought/setup-edm-action v1 composite
.github/workflows/build-wheels.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • docker/setup-qemu-action v2 composite
  • pypa/cibuildwheel v2.12.1 composite
.github/workflows/test-with-pip.yml actions
  • ./.github/actions/install-qt-support * composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite