Declarative DSL for building rich user interfaces in Python
Project description
Welcome to Enaml
Enaml is a programming language and framework for creating professional quality user interfaces with minimal effort. Enaml combines a domain specific declarative language with a constraints based layout system to allow users to easily define rich UIs with complex and flexible layouts. Enaml applications can be run on any platform which supports Python and Qt.
Highlights of the framework
A declarative language which extends the grammar of Python
A set of operators which automatically track runtime dependencies
A layout system which uses symbolic constraint declarations
A design which encourages model-view separation
A well documented and easy to follow code base
Docs and Examples
See the docs and examples for more information.
Also several talks on Enaml:
Enthought 2012 by @sccolbert
Pycon UK 2016 by @tstordyallison
Help
Ask questions on the Q&A forum.
For version information, see the Revision History.
Screenshots
From the examples in the docs
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.
Source Distribution
Built Distributions
Hashes for enaml-0.10.2-cp36-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4824e9de26a7c261dfba7d0a59c4f47b4239a49efa69b6f1b0c42afecfd429db |
|
MD5 | ffa2248d2bb00473332ea8e6f66af87a |
|
BLAKE2b-256 | efe2e210cd44e28ef501f8fcd1bd567a6c9a81c47a4b554b064e87c9aed97522 |
Hashes for enaml-0.10.2-cp36-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c8cfd1dad5df63dc80a187599887148729eb6124d6711086a942cc43a2fe998 |
|
MD5 | c09d92383d0227e7cd79675b2119d732 |
|
BLAKE2b-256 | 30ebcba5b1dc2b39aaf23d84bd93dc7406ec8b57543078e6704a25e954942761 |
Hashes for enaml-0.10.2-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7449209029d5a43e6668bfeb523f53901d78b8561df2687b4a372862751ccc59 |
|
MD5 | b2f59bc6535c85a975508c5107045b7d |
|
BLAKE2b-256 | 3147d3b872cab4b6e02c9cc17f820ec5f020e59ac3a77b96b147f41ab11f30ac |
Hashes for enaml-0.10.2-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e271f350062b56153217493d6e64a50428024546a62930b1a2675e935670a618 |
|
MD5 | 70b9a1ad11e15941b7f161f52009e89f |
|
BLAKE2b-256 | d8400b13513536c3ad05e50601e2d9cc6a7ebba76cd72d9f820d18055aa93e42 |
Hashes for enaml-0.10.2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1fb9e77698f16d56d4c8451c16320d848818050b19a94cafef7c902ad2d7a14 |
|
MD5 | 508b9321ae2b1e9d6537de594d8b043a |
|
BLAKE2b-256 | a7cdedf809dedcee24122eaba840ca47e3b98dde4d06d1568d2c835c78af4e3c |
Hashes for enaml-0.10.2-cp35-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ad018b65ef5fa8e1a40d14fa7296edabdaaa6040cb63ad5aee2e32669c60db1 |
|
MD5 | 1623ae2807cd283889c85c7303cbc8ec |
|
BLAKE2b-256 | 11f9f0137352d9b5a2a36e70bcf16381c74d2d33575c16eefe74298b44d72007 |
Hashes for enaml-0.10.2-cp35-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da4ac5d0e213aa84544b37f3382cff49e8400b44034c2b4d7b868dd92b3b450e |
|
MD5 | 0c5c84cd7889f662b7621bcc444cbae4 |
|
BLAKE2b-256 | 751d7cee06eea467e07075bd96a70e427f6f812d959df46f2a92a20fc9e3bee9 |
Hashes for enaml-0.10.2-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 962a3146302c0b63800dfd25e063d044c8f83bd464ad7b49a4e2043e4a59ee6b |
|
MD5 | 82ab8ba5787d0ddbb875d7f6ad1b33a1 |
|
BLAKE2b-256 | f35a9d8e3fcc94f26bddb6f0bf69c2128748c0098720fcbfd09e35dc28b78dd7 |
Hashes for enaml-0.10.2-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e813c5448d0f47fadd91a25a580f364fe93982a88134043995f7a77ab9675d19 |
|
MD5 | edbaa10b19e5396b850ed527aba8508e |
|
BLAKE2b-256 | 3e1aad43615d6af3821e83c677a4b02710dd3a737251850987173faa15966b7e |
Hashes for enaml-0.10.2-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 330e66e8266e5709094d2b6666699838dc16f0740b78c6f26e0a94443c6aa0b1 |
|
MD5 | b9b5b5079f34a8c1a102432c83fb32dc |
|
BLAKE2b-256 | 91c0fc7ca4a589da3d0ecd6e76f9474b85c6d57d2ed2b03169fbed9358e1014f |
Hashes for enaml-0.10.2-cp34-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a222dcf695e934611a960bbb7c3850a9a6a0cd48263a30f173c95e779e3a791d |
|
MD5 | 91cc14012ae75718bd2bd7e12c310742 |
|
BLAKE2b-256 | 37f449dbe91cfc519d65c7d2ca3928321ea7df98e0e68c46a61bdb80fcf2fa6a |
Hashes for enaml-0.10.2-cp34-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4daa3c42f3194eac7c699a0a129c358d94ad21aa746c522e823e1ca31b2c9fd8 |
|
MD5 | dc6d34a3114043b87c1841acf78f18ee |
|
BLAKE2b-256 | b1fcede34c613791dd6416ef3c0acce808e8bc27f0025dc365c85a20b6c183c0 |
Hashes for enaml-0.10.2-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ac759d168083e193ab3dd54d80758dc6b31b0f974367dde65d6771e8e52a4b0 |
|
MD5 | c3ff13253e460a23339c80f9954463db |
|
BLAKE2b-256 | d9ffb311751c7e8782e01f3be915bfda04054eb358434b5968f0c17bf2e83faa |
Hashes for enaml-0.10.2-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9d8302e7956600053d78f6f43773d8afbcfb72ac6fa3a596882cde66f4622ce |
|
MD5 | dbb62d4c3a6d636dc7105356286a6938 |
|
BLAKE2b-256 | a94af3e3bafeae9d58f8e7050436001af88f64bafbfff20d9883b7a76f242312 |
Hashes for enaml-0.10.2-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 280a62ae906587929393a0b98e866c0c0e3fe8db9abc1c2da41d5d117e87dd12 |
|
MD5 | a1261f27f8e7492586580bf0e5a58ad8 |
|
BLAKE2b-256 | 6541b55580c8c0d8ae8e5cf67d8f7e17b9a2a5c51bc8c1e4cffc42ae5d5c0cec |
Hashes for enaml-0.10.2-cp27-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06ba3ee2d6b9f73e270013622cdf31a33f948d9728e34510fc0698987c22d0ca |
|
MD5 | da0e345c3d4d08dcb6cbe6d03bd09f47 |
|
BLAKE2b-256 | 8781126e5c35961fd3c32cf6a8ee661b882726e9a6cac8178b35d313db03f7de |
Hashes for enaml-0.10.2-cp27-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d44fe4795beea975955dd102f09d314a3ee4d67745b4d8a7899782821ea33438 |
|
MD5 | a4bc26bd05b7e6ec1451dcc1b11f5a4f |
|
BLAKE2b-256 | 387651eab2531828fe95da49765a23ba295666778be0134efbfd2550efc96100 |
Hashes for enaml-0.10.2-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecd2abd99e429831a3404877910b576d51421d6954a25a267aaa466c20e921b7 |
|
MD5 | fa081289f552f5339ba4bf6a31860add |
|
BLAKE2b-256 | 48d7655b88ad62e790ea3045890fb31d46524606e6ad36453c008dab8a2ed0f5 |
Hashes for enaml-0.10.2-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5ada10215adad8970509760eb60d607a614ec07dcd38d4c24e5dc5ac1eef0a8 |
|
MD5 | eae445a944694bb4d5155913373374c0 |
|
BLAKE2b-256 | 6c769a4d56ae9f300f23f127e922f81142471ef1c00b16cc2190c7272c34890a |
Hashes for enaml-0.10.2-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02b86079b547990d381b14808ddcc887dbc4b10c0f9487e396547d096ecc7ed4 |
|
MD5 | 4b3a8e11a30cfefd54afcb8da73c0e20 |
|
BLAKE2b-256 | 5f2fe70712843279246cd429ebf5c5a5e05da095163d7b5942a233787eba5254 |
Hashes for enaml-0.10.2-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e5fd24345c9550d04f1bde98baba15b9c1d9403c0e1660e3bb4bc3306c85de3 |
|
MD5 | 6f472ef94ce7b07f33fe551fab386909 |
|
BLAKE2b-256 | a9f33c4339f88dc1f7c771715281f7a1ebce15c5457c62aadf1337a9d6a6cad4 |
Hashes for enaml-0.10.2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d372d76e51f4daa5006d6f896c11bc8b7f85536009945865fbae766f7fc4fd46 |
|
MD5 | fa8db3112fd0e0b240119d66797baf5a |
|
BLAKE2b-256 | ecabb8a2afc9a05c4804e78ca6abc84f845351969a70a10bcf9ba66cb8b07287 |