Skip to content

Commit

Permalink
Docs (#465)
Browse files Browse the repository at this point in the history
* docs update installation documentation

* cis: fix documentation building

* cis: remove travis config

* docs: manually install wheel to handle pre-pep517 kiwi

* docs: ensure wheel is installed while kiwi does not use pep517

* docs: add missing links
  • Loading branch information
MatthieuDartiailh committed Dec 27, 2021
1 parent dc36cf9 commit afa1ca8
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 132 deletions.
10 changes: 4 additions & 6 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,13 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install bytecode ply
pip install https://github.com/nucleic/cppy/tarball/main
pip install https://github.com/nucleic/atom/tarball/main
pip install https://github.com/nucleic/kiwi/tarball/main
pip install wheel
pip install -r docs/requirements.txt
- name: Install project
run: |
python setup.py develop
pip install -e .
- name: Install graphviz
uses: kamiazya/setup-graphviz@v1
uses: ts-graphviz/setup-graphviz@v1
- name: Install doc building tools
run: |
cd tools/pygments
Expand Down
92 changes: 0 additions & 92 deletions .travis.yml

This file was deleted.

6 changes: 3 additions & 3 deletions docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
https://github.com/nucleic/cppy/tarball/main
https://github.com/nucleic/atom/tarball/main
https://github.com/nucleic/kiwi/tarball/main
git+https://github.com/nucleic/cppy@main
git+https://github.com/nucleic/atom@main
git+https://github.com/nucleic/kiwi@main
1 change: 1 addition & 0 deletions docs/rtd_requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
wheel
53 changes: 23 additions & 30 deletions docs/source/get_started/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ Installation
Installing Enaml is a straight-forward process. There are three approaches to
choose from.

Anaconda: The Easiest Way
-------------------------
Anaconda
--------

If you use the `Anaconda`_ Python distribution platform (or `Miniconda`_,
its lighter-weight companion), the latest release of Enaml can be installed
Expand All @@ -19,8 +19,8 @@ using conda from the conda-forge channel::
.. _Anaconda: https://store.continuum.io/cshop/anaconda
.. _Miniconda: https://conda.io/miniconda.html

Wheels: The Pretty Easy Way
---------------------------
Wheels
------

If you don't use Anaconda, you can install Enaml and its dependencies,
pre-compiled, through PIP, for most common platforms.
Expand All @@ -35,8 +35,13 @@ Python
~~~~~~

Enaml is a Python framework and requires a supported Python runtime. Enaml
currently supports **Python 3.6**, **Python 3.7**, **Python 3.8** and
**Python 3.9**.
currently supports **Python 3.7**, **Python 3.8**, **Python 3.9** and
**Python 3.10**.

.. note::

Currently Enaml does support the match syntax introduced in Python 3.10 in
.enaml files

The most recent Python releases are available on the `Python Downloads`_ pages.
Installers are available for Windows and OSX. Linux users should install Python
Expand All @@ -58,11 +63,13 @@ Toolkit Rendering Library
~~~~~~~~~~~~~~~~~~~~~~~~~

Enaml's declarative widgets provide a layer of abstraction on top of the
widgets of a toolkit rendering library. You will need to install this
dependency separately.
widgets of a toolkit rendering library. Enaml ships with a backend based on Qt5
and third-party projects such as `enaml-web`_ and `enaml-native`_ provides
alternative backends.

The recommended library is `PyQt5`_, a robust set of Python bindings to the
Qt 5 toolkit. (It includes the necessary parts of Qt 5.)
Enaml uses the `QtPy`_ library as compatibility layer to support transparently both
PyQt and PySide. PyQt has been supported for a longer time and has been more
heavily tested.

On 32 and 64-bit Windows, 64-bit OS X and 64-bit Linux, with Python
versions >=3.6, it can be installed via pip::
Expand All @@ -77,25 +84,11 @@ versions >=3.6, it can be installed via pip::

$ pip install enaml[qt5-pyqt]

Currently, you can use either [qt5-pyqt] or [qt5-pyside] to use either PyQt5
or Pyside2.

Alternatives
++++++++++++

Enaml uses the `QtPy`_ library as compatibility layer to support some other
QT-based libraries.

* `PySide2`_ (a.k.a. Qt for Python) is a set of Python bindings to the Qt 5 toolkit.
As of 0.12.0 PySide2 is fully supported. However it has not been as heavily
tested as the PyQt5 backend in real world applications.

To activate PySide2 support, install `PySide2`_ separately. If multiple backends
are installed, set the environment variable ``QT_API=pyside2`` before starting
the Enaml application.
Currently, you can use either [qt5-pyqt] to use PyQt5 or [qt5-pyside] to
use Pyside2.

* While Enaml is architected to be toolkit agnostic, only Qt-based toolkit libraries are
supported. There are third-party projects that provide support for other back-ends.
.. _enaml-web: https://github.com/codelv/enaml-web
.. _enaml-native: https://github.com/codelv/enaml-native

Compiling it yourself: The Hard Way
-----------------------------------
Expand All @@ -108,7 +101,7 @@ the `Git`_ command line tools installed and available on the system path.
.. _Git: http://git-scm.com

`Setuptools`_ and `Pip`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~

Setuptools is a Python package which makes installing other Python packages a
breeze. Pip is the default package manager for Python. The installation
Expand All @@ -130,7 +123,7 @@ instructions for adding the package to your system.

The Enaml framework extends the grammar Python language with new declarative
syntax constructs. To accomplish this, Enaml has a fully compliant Python
3.6/3.7/3.8 lexer and parser with added support for the new syntax. These
3.7/3.8/3.9 lexer and parser with added support for the new syntax. These
components are built using the PLY parsing tools, which contain Python
implementations of lex and yacc.

Expand Down
3 changes: 2 additions & 1 deletion readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ formats:
- epub

python:
version: 3.7
version: 3.9
install:
- requirements: docs/rtd_requirements.txt
- requirements: docs/requirements.txt
- method: pip
path: .

0 comments on commit afa1ca8

Please sign in to comment.