Declarative DSL for building rich user interfaces in Python
Project description
Welcome to Enaml
================
.. image:: https://travis-ci.org/nucleic/enaml.svg?branch=master
:target: https://travis-ci.org/nucleic/enaml
:alt: Build Status
.. image:: https://ci.appveyor.com/api/projects/status/p2bapt3y6n7xixcl?svg=true
:target: https://ci.appveyor.com/project/nucleic/enaml
:alt: Appveyor Build Status
.. image:: https://readthedocs.org/projects/enaml/badge/?version=latest
:target: http://enaml.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://img.shields.io/pypi/v/enaml.svg
:target: https://pypi.org/project/enaml/
:alt: PyPI version
.. image:: https://codecov.io/gh/nucleic/enaml/branch/master/graph/badge.svg
:target: https://codecov.io/gh/nucleic/enaml
:alt: Code Coverage Status
Enaml is a programming language and framework for creating professional-quality
user interfaces with minimal effort.
What you get
============
* A declarative programming language, with a Pythonic flavour.
* Dozens of widgets, ready to go out-of-the-box (built on `Qt <https://www.qt.io/>`_).
* A constraints-based layout engine (built on `Kiwi <https://github.com/nucleic/kiwi>`_).
* Integration with a data model tool (built on `Atom <https://github.com/nucleic/atom>`_).
* An (optional) editor to allow you to see what the results will look like, as you type your code.
* A well-documented and easy-to-follow code base, plus documentation with plenty of worked examples.
* Language definitions for a number of popular editors.
What it can do for you
======================
- Build native GUI applications for a range of platforms
+ Quick and simple or complex and specialised.
+ See the structure of your GUI at a glance.
- Let you rapidly protoype new GUIs interfaces.
+ Intelligently layout your GUI, using symbolic constraints.
+ It automatically adapts for different platforms, different window sizes.
+ Tell the layout engine what your priorities are for layout, without having to count pixels.
- Encourages easy-to-maintain code:
+ The GUI can detect updates in the model, and refresh its widgets automatically, without low-level code.
+ Clean separation between your model and view, while keeping your controller code simple.
* You can incorporate Python code directly in the view layer.
* As your GUI design evolves, the constraints engine can adapt the layout.
* Object-Oriented design allows you to reuse parts of your GUI in other parts of your projects.
- Let you customise a GUI for your particular needs.
+ Integrates with your Python code.
+ Include style-sheets to change the appearance across all, or part, of your application quickly.
+ Extend the available widgets or build your own.
Supported Versions
==================
Enaml applications can be run on any platform which supports Python (2.7, 3.4, 3.5 and 3.6) and `Qt <https://doc.qt.io/qt-5/supported-platforms.html>`_ (versions 4 or 5).
This includes Linux, Windows, macOs, Android and iOS. (Automated testing of Enaml runs on Linux.)
Enaml is licensed under the `Modified BSD License <https://github.com/nucleic/enaml/blob/master/LICENSE>`_.
Learn More
==========
The `Getting Started <http://enaml.readthedocs.io/en/latest/get_started/index.html>`_ chapter is a good first step to learn more. It includes `installation instructions <http://enaml.readthedocs.io/en/latest/get_started/installation.html>`_.
Watch some introductory talks about Enaml and what it can do:
.. image:: https://img.youtube.com/vi/ycFEwz_hAxk/2.jpg
:target: https://youtu.be/ycFEwz_hAxk
`S. Chris Colbert (@sccolbert) presents at Enthought 2012. <https://www.youtube.com/watch?v=ycFEwz_hAxk>`_
.. image:: https://img.youtube.com/vi/G5ZYUGL7uTo/1.jpg
:target: https://www.youtube.com/watch?v=G5ZYUGL7uTo
`Tom Stordy-Allison (@tstordyallison) presents at Pycon UK 2016. <https://www.youtube.com/watch?v=G5ZYUGL7uTo>`_
The `Enaml documentation <http://enaml.readthedocs.io/en/latest>`_ includes all the details, including `useful examples <http://enaml.readthedocs.io/en/latest/examples>`_.
You can ask questions on the `Enaml Google Group <http://groups.google.com/d/forum/enaml>`_
or with the `Enaml tag on StackOverflow <https://stackoverflow.com/questions/tagged/enaml>`_.
For version information, see the `release notes <https://github.com/nucleic/enaml/blob/master/releasenotes.rst>`_.
Examples
========
The `Enaml documentation <http://enaml.readthedocs.io/en/latest>`_ includes many `fully-functioning code samples <http://enaml.readthedocs.io/en/latest/examples/index.html>`_ of how to use Enaml. They range from `simple demonstrations of how a widget is used <http://enaml.readthedocs.io/en/latest/examples/ex_progress_bar.html>`_, to advanced explorations of the customisability of Enaml GUIs.
Employee Tutorial
~~~~~~~~~~~~~~~~~
The `Employee Tutorial <http://enaml.readthedocs.io/en/latest/examples/tut_employee.html>`_ shows how constraints and validators can be used to create easy-to-use and professional-looking applications:
.. image:: http://enaml.readthedocs.io/en/latest/_images/tut_employee_layout.png
:target: http://enaml.readthedocs.io/en/latest/examples/tut_employee.html
Button Ring
~~~~~~~~~~~
The `Button Ring Example <https://enaml.readthedocs.io/en/latest/examples/ex_button_ring.html>`_ goes the other way. The result is neither professional-looking nor easy-to-use, but it shows the power and flexibility of constraints-based layout - it might be silly, but this could not be achieved with typical layout systems.
.. image:: http://enaml.readthedocs.io/en/latest/_images/ex_button_ring.png
:target: https://enaml.readthedocs.io/en/latest/examples/ex_button_ring.htm
Dock Item Alerts
~~~~~~~~~~~~~~~~
The `Dock Item Alerts Example <https://enaml.readthedocs.io/en/latest/examples/ex_dock_item_alerts.html>`_ shows some of the customisability of the appearances of an Enaml application. This application's appearance is based on Visual Studio 2010 style, with dockable items, but has some customisations based on the importance of the alerts being shown.
.. image:: http://enaml.readthedocs.io/en/latest/_images/ex_dock_item_alerts.png
:target: https://enaml.readthedocs.io/en/latest/examples/ex_dock_item_alerts.html
Check out the `documentation <http://enaml.readthedocs.io/en/latest/examples/index.html>`_ for more examples.
================
.. image:: https://travis-ci.org/nucleic/enaml.svg?branch=master
:target: https://travis-ci.org/nucleic/enaml
:alt: Build Status
.. image:: https://ci.appveyor.com/api/projects/status/p2bapt3y6n7xixcl?svg=true
:target: https://ci.appveyor.com/project/nucleic/enaml
:alt: Appveyor Build Status
.. image:: https://readthedocs.org/projects/enaml/badge/?version=latest
:target: http://enaml.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://img.shields.io/pypi/v/enaml.svg
:target: https://pypi.org/project/enaml/
:alt: PyPI version
.. image:: https://codecov.io/gh/nucleic/enaml/branch/master/graph/badge.svg
:target: https://codecov.io/gh/nucleic/enaml
:alt: Code Coverage Status
Enaml is a programming language and framework for creating professional-quality
user interfaces with minimal effort.
What you get
============
* A declarative programming language, with a Pythonic flavour.
* Dozens of widgets, ready to go out-of-the-box (built on `Qt <https://www.qt.io/>`_).
* A constraints-based layout engine (built on `Kiwi <https://github.com/nucleic/kiwi>`_).
* Integration with a data model tool (built on `Atom <https://github.com/nucleic/atom>`_).
* An (optional) editor to allow you to see what the results will look like, as you type your code.
* A well-documented and easy-to-follow code base, plus documentation with plenty of worked examples.
* Language definitions for a number of popular editors.
What it can do for you
======================
- Build native GUI applications for a range of platforms
+ Quick and simple or complex and specialised.
+ See the structure of your GUI at a glance.
- Let you rapidly protoype new GUIs interfaces.
+ Intelligently layout your GUI, using symbolic constraints.
+ It automatically adapts for different platforms, different window sizes.
+ Tell the layout engine what your priorities are for layout, without having to count pixels.
- Encourages easy-to-maintain code:
+ The GUI can detect updates in the model, and refresh its widgets automatically, without low-level code.
+ Clean separation between your model and view, while keeping your controller code simple.
* You can incorporate Python code directly in the view layer.
* As your GUI design evolves, the constraints engine can adapt the layout.
* Object-Oriented design allows you to reuse parts of your GUI in other parts of your projects.
- Let you customise a GUI for your particular needs.
+ Integrates with your Python code.
+ Include style-sheets to change the appearance across all, or part, of your application quickly.
+ Extend the available widgets or build your own.
Supported Versions
==================
Enaml applications can be run on any platform which supports Python (2.7, 3.4, 3.5 and 3.6) and `Qt <https://doc.qt.io/qt-5/supported-platforms.html>`_ (versions 4 or 5).
This includes Linux, Windows, macOs, Android and iOS. (Automated testing of Enaml runs on Linux.)
Enaml is licensed under the `Modified BSD License <https://github.com/nucleic/enaml/blob/master/LICENSE>`_.
Learn More
==========
The `Getting Started <http://enaml.readthedocs.io/en/latest/get_started/index.html>`_ chapter is a good first step to learn more. It includes `installation instructions <http://enaml.readthedocs.io/en/latest/get_started/installation.html>`_.
Watch some introductory talks about Enaml and what it can do:
.. image:: https://img.youtube.com/vi/ycFEwz_hAxk/2.jpg
:target: https://youtu.be/ycFEwz_hAxk
`S. Chris Colbert (@sccolbert) presents at Enthought 2012. <https://www.youtube.com/watch?v=ycFEwz_hAxk>`_
.. image:: https://img.youtube.com/vi/G5ZYUGL7uTo/1.jpg
:target: https://www.youtube.com/watch?v=G5ZYUGL7uTo
`Tom Stordy-Allison (@tstordyallison) presents at Pycon UK 2016. <https://www.youtube.com/watch?v=G5ZYUGL7uTo>`_
The `Enaml documentation <http://enaml.readthedocs.io/en/latest>`_ includes all the details, including `useful examples <http://enaml.readthedocs.io/en/latest/examples>`_.
You can ask questions on the `Enaml Google Group <http://groups.google.com/d/forum/enaml>`_
or with the `Enaml tag on StackOverflow <https://stackoverflow.com/questions/tagged/enaml>`_.
For version information, see the `release notes <https://github.com/nucleic/enaml/blob/master/releasenotes.rst>`_.
Examples
========
The `Enaml documentation <http://enaml.readthedocs.io/en/latest>`_ includes many `fully-functioning code samples <http://enaml.readthedocs.io/en/latest/examples/index.html>`_ of how to use Enaml. They range from `simple demonstrations of how a widget is used <http://enaml.readthedocs.io/en/latest/examples/ex_progress_bar.html>`_, to advanced explorations of the customisability of Enaml GUIs.
Employee Tutorial
~~~~~~~~~~~~~~~~~
The `Employee Tutorial <http://enaml.readthedocs.io/en/latest/examples/tut_employee.html>`_ shows how constraints and validators can be used to create easy-to-use and professional-looking applications:
.. image:: http://enaml.readthedocs.io/en/latest/_images/tut_employee_layout.png
:target: http://enaml.readthedocs.io/en/latest/examples/tut_employee.html
Button Ring
~~~~~~~~~~~
The `Button Ring Example <https://enaml.readthedocs.io/en/latest/examples/ex_button_ring.html>`_ goes the other way. The result is neither professional-looking nor easy-to-use, but it shows the power and flexibility of constraints-based layout - it might be silly, but this could not be achieved with typical layout systems.
.. image:: http://enaml.readthedocs.io/en/latest/_images/ex_button_ring.png
:target: https://enaml.readthedocs.io/en/latest/examples/ex_button_ring.htm
Dock Item Alerts
~~~~~~~~~~~~~~~~
The `Dock Item Alerts Example <https://enaml.readthedocs.io/en/latest/examples/ex_dock_item_alerts.html>`_ shows some of the customisability of the appearances of an Enaml application. This application's appearance is based on Visual Studio 2010 style, with dockable items, but has some customisations based on the importance of the alerts being shown.
.. image:: http://enaml.readthedocs.io/en/latest/_images/ex_dock_item_alerts.png
:target: https://enaml.readthedocs.io/en/latest/examples/ex_dock_item_alerts.html
Check out the `documentation <http://enaml.readthedocs.io/en/latest/examples/index.html>`_ for more examples.
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
enaml-0.10.3.tar.gz
(8.0 MB
view hashes)
Built Distributions
enaml-0.10.3-cp37-none-win_amd64.whl
(714.1 kB
view hashes)
enaml-0.10.3-cp37-none-win32.whl
(702.4 kB
view hashes)
enaml-0.10.3-cp36-none-win_amd64.whl
(714.1 kB
view hashes)
enaml-0.10.3-cp36-none-win32.whl
(702.4 kB
view hashes)
enaml-0.10.3-cp35-none-win_amd64.whl
(714.1 kB
view hashes)
enaml-0.10.3-cp35-none-win32.whl
(702.4 kB
view hashes)
enaml-0.10.3-cp34-none-win_amd64.whl
(682.5 kB
view hashes)
enaml-0.10.3-cp34-none-win32.whl
(680.4 kB
view hashes)
enaml-0.10.3-cp27-none-win_amd64.whl
(657.1 kB
view hashes)
enaml-0.10.3-cp27-none-win32.whl
(657.3 kB
view hashes)
Close
Hashes for enaml-0.10.3-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2130f62cb428725325e3c2a99ead2084ecd2f29bb689c24edf9fbc177d94b967 |
|
MD5 | 5e30b18d0435995df0585f6c0e217fc9 |
|
BLAKE2b-256 | 5714679933c33e601d34fe55bc7c963c121a8f2fc3123170c60d6fbf1de4c886 |
Close
Hashes for enaml-0.10.3-cp37-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66247cb5e41e7ebcce066633fb23f1f2039818311b238d1a386ee9b65b6c7f6d |
|
MD5 | 97049aacc01d95b2d00a98ba5fbfe531 |
|
BLAKE2b-256 | b851e6774ff80e0d5c0c62e8d7bde1a07af80bfce2b7252330d57c8647887cae |
Close
Hashes for enaml-0.10.3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae7042e22e680d82862b23e500d88388995b06aef450ad15dc433a8d3bf1e53b |
|
MD5 | 3964e1f8cab0d1115374492160617b7d |
|
BLAKE2b-256 | 05b0473b5c9fa7ceea78a38f47fbea04294e128bb09354923559b018ae2dc023 |
Close
Hashes for enaml-0.10.3-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f72a19d69e2d7af26ce4bcc548fca1efcff0e63dd5a928f28feb88f8a15146c0 |
|
MD5 | 303ae5a523cf48dbbccaaef52f74df31 |
|
BLAKE2b-256 | 9657069b68e69ea3ab40b7dbb078603c364d4fe8bd2d3f3cdc303949a5f11fda |
Close
Hashes for enaml-0.10.3-cp37-cp37m-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 | 23090f53ca99a77f3c16b56273e5ed19e6e4fcd7816f119380facfb9ae2b0d8e |
|
MD5 | 562921c46a447e995a4bbc57b8c54600 |
|
BLAKE2b-256 | 7587474bc8ddd7fefe15ec508480ebe32b8ad6041af51d1bf37fa3720107711d |
Close
Hashes for enaml-0.10.3-cp36-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4f601506501e49a3faabe99697c6c7117f1b83b5f3f50983ecc681d048a633a |
|
MD5 | a60178fc7d5eac7adc98de21ab0e65be |
|
BLAKE2b-256 | 47c09b6aa49d530aad4f68bbd2125fae0cb795955ad708bbe47361ab0534b183 |
Close
Hashes for enaml-0.10.3-cp36-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86b00daf714b48856535859382f5fc4855ef50960b7f1e120744c8f31f6d1050 |
|
MD5 | 40691f2089ae99ae0e6a82a8b24088fd |
|
BLAKE2b-256 | 2ba96b19c46dea30240abcf034c7afe3e4af43e2bbebed807ec83f720631d60b |
Close
Hashes for enaml-0.10.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14cf5b70e4cd529cd5bbbeaa1a4a1dbfcc7195a2b445ed9101a82832d17b07d8 |
|
MD5 | 484bcdd758a3f266ea43b060c41bd33b |
|
BLAKE2b-256 | c3a078f8c33c66a0b21b509c628f02f3a799742fd32c463824beea40657be671 |
Close
Hashes for enaml-0.10.3-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb62ae562e8086f725676f2b6f6fcf62376ef87b71ffd6b691a88a01e9cf33d3 |
|
MD5 | 0bddd2ca4eb11c5a929c45f290c6b63b |
|
BLAKE2b-256 | ce77036a406bd9b62cc84da9aed83c5b367691d49eae639cd38cc4c9151f39f9 |
Close
Hashes for enaml-0.10.3-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 | 4359cf82968812d978c289fef2822b1ac72a773e9e0a5bf750673c33ece9c7da |
|
MD5 | 0bcac07142d3b6a6b9eda232ec7bfb9c |
|
BLAKE2b-256 | 870fa0e0e6e0de4041bd689d881bc97265888fa2c8f1bd681745273b934fd87b |
Close
Hashes for enaml-0.10.3-cp35-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4629ba7b1848f8a8c4817cb01d1df2a6ae50ff74169ba763a99344d8cdcdadcd |
|
MD5 | 4fe550a362e058f74a6afb36a8335c2b |
|
BLAKE2b-256 | 32b13c8bb17950e832e20ce19829a522c9635cd3501aa6a890404d103f3a89a5 |
Close
Hashes for enaml-0.10.3-cp35-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48382eaaa287f4a89a8752f2e1f5134267b4e17b3aa5c59c63701bd04f69b2ee |
|
MD5 | 3dbaf862f9c66579916b5a1b68cd40e5 |
|
BLAKE2b-256 | d8010c898f918342448828d810fc36dec26bcdb0a2df10bd17f2c219c4b7e68e |
Close
Hashes for enaml-0.10.3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56e45d8ecee9b0a2a64ad78d061f305052591709f5f75da02b5b8edd982e0944 |
|
MD5 | 0aa11310f06d9c7c764b3a1a04ed558e |
|
BLAKE2b-256 | f20375eaf33cb4b069ff8a70751f2d5ef91952d246b7d9ff2425e44aefa20b35 |
Close
Hashes for enaml-0.10.3-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1e6b189a21bfc146c25429fb648829b40243b3a05effe76009322f5224dbed3 |
|
MD5 | 471e620ed5c495d71477214af7d7faf0 |
|
BLAKE2b-256 | 46674938899ec5ce18929dc46096da4fb5d9cd6fadf1cd9567b214494cb63159 |
Close
Hashes for enaml-0.10.3-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 | d028adf0a0ec999c1d065fdf7c1bcaada09c467d88098fc92fc0d2eb5357f3a6 |
|
MD5 | 9db6dbe78a24c380ff4b2338c8eebdca |
|
BLAKE2b-256 | ceb4562ca9dbdd33e4a5e91d2978d95766bf6f3c44198166d519097603b3a0c1 |
Close
Hashes for enaml-0.10.3-cp34-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 851e1021f01edb0ccfa2c4a499e65bb3a53e538d1d446f6d242083a387b3e4c0 |
|
MD5 | 7316e9df3290e833217f5ddde795ad9a |
|
BLAKE2b-256 | da604667e1ca97e0628f12185af7d80df950c1408c271f0a2c928306a17c2f82 |
Close
Hashes for enaml-0.10.3-cp34-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11c36d93558cd6ea48d4a0a6c8b9dd0c0957c54a95f9e8f6510f73eef3274ecf |
|
MD5 | 6e77cb8eecf5de32cdf117eee2065235 |
|
BLAKE2b-256 | 3104f1d8008dc6a5fc09093636a9946f7bfdd72e27086a509a37394606dbe4bc |
Close
Hashes for enaml-0.10.3-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9f17dfe9a08f1f9c060e0c0a219b86399d8001d33af37782f0e1c5b97729946 |
|
MD5 | 4d5aba85d3b4b92fa578dfb199356f6a |
|
BLAKE2b-256 | e7ba6551c29ffd2fa348d64947e06e9b87936097bda30e7ec590f0a5e485670a |
Close
Hashes for enaml-0.10.3-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbde5cdc23cc9cee45c1f3033d8613c6764c8f89c62fad51404c865a270148cd |
|
MD5 | 7b003d7ee891a03ff36f23f6babfcef8 |
|
BLAKE2b-256 | 134b69c7dd9a2fb42de0de1c9dce78bb0be089be2bc28df1ac6c5af84b6b4d69 |
Close
Hashes for enaml-0.10.3-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 | 857685fd0bc163d5f786154c7d6f82c2d46bf32bba7bba930a6e8d44cb1307ed |
|
MD5 | 45b9d411879376f1a02ecdd220e4fa78 |
|
BLAKE2b-256 | 49794c7dae13a6b6c35b0c8e336f32482f677e8c43192b61091d9388abfed104 |
Close
Hashes for enaml-0.10.3-cp27-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7a44bf01ed15d014b885e9134c2744cc16d43ce27c1c3b79438af141b13301f |
|
MD5 | 05d5520d8198b144cb0584779478bbf6 |
|
BLAKE2b-256 | 0fbfc0ad5a5ba930b0fd9cebee8447af2342b78282333146450b8c8c2b75d9bc |
Close
Hashes for enaml-0.10.3-cp27-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1827d75f987a0be7ed1e42c3a9eebcd65c30b4d197c1219ae21fd1fa3c9c333f |
|
MD5 | 1c553c65b520c9d71164cb795f0a1958 |
|
BLAKE2b-256 | 89ed9c983ed58f6c6e3caf91666d2a7532c02bb9b09b21c9728ca9b0a9baa373 |
Close
Hashes for enaml-0.10.3-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7df63cdedb2b7be809e8e76600d4e25354a8a0aefdabebf9d103d4349873ca78 |
|
MD5 | fd90c4db929b40983dd1a575ea4e7a33 |
|
BLAKE2b-256 | c6d23d07c18310262ca02a8708e27ddfbdf01fdad4083d89e34bab29334e0c4f |
Close
Hashes for enaml-0.10.3-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31ed3dafb584c06ab9b89f11ad87f0bf6243a10bbc132100eb253efcfc06b07e |
|
MD5 | 83e2d2a78b16e374e3e78a070e15aa99 |
|
BLAKE2b-256 | 2afeb53ad3fda9569ece0de689dd31f21c8ade168b56ddfc8c9bbb22828bb434 |
Close
Hashes for enaml-0.10.3-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 302edfcd71c652583e0c1dd7271532babf9dc08fcb39de023b101f736fa5269a |
|
MD5 | c3392f21ae4553445b6b789d0119b0c0 |
|
BLAKE2b-256 | e9659379730b313353c665f2c3549bc6257ad8a6d5ffc9632562b0485217791b |
Close
Hashes for enaml-0.10.3-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb074ba2767a6a9a1d142cbad4b17da1cd76e85cc6e1fe953c6d10b9e5ba49c9 |
|
MD5 | 0c9bb76680e08a69e012977c61374450 |
|
BLAKE2b-256 | 38646126fa89c0878d2d3522282b56f9c5fee56af5dad3171921e22706ea3813 |
Close
Hashes for enaml-0.10.3-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 | ef3eeef702976cf1b066de1d252dbf6e78c862480b768bdbfd272e8da9930048 |
|
MD5 | 8bc800a20492819436f9b72a4a64f25a |
|
BLAKE2b-256 | 090c5b8e76c2b08a242b3a3852b59f5785a75d70a15e275f39be2ccd7c127d47 |