← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~johnmfl/openlp/developer_readme into lp:openlp

 

Johnthan has proposed merging lp:~johnmfl/openlp/developer_readme into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~johnmfl/openlp/developer_readme/+merge/371011

Updated the ReadMe.txt to ReadMe.rst and included Development Environment info.
-- 
Your team OpenLP Core is requested to review the proposed merge of lp:~johnmfl/openlp/developer_readme into lp:openlp.
=== added file 'README.rst'
--- README.rst	1970-01-01 00:00:00 +0000
+++ README.rst	2019-08-06 17:50:50 +0000
@@ -0,0 +1,289 @@
+OpenLP
+======
+
+You're probably reading this because you've just downloaded the source code for
+OpenLP. If you are looking for the installer file, please go to the download
+page on the web site::
+
+    http://openlp.org/download
+
+If you're looking for how to contribute to OpenLP, then please look at the
+OpenLP wiki::
+
+    http://wiki.openlp.org/
+
+Thanks for downloading OpenLP!
+
+
+OpenLP Development
+==================
+
+This repository holds the OpenLP development code and tests among other items.
+
+Getting Started
+---------------
+To get up and running with the development and testing, you'll need to install 
+the Python programing language and serveral other packages. Python version 3.6 
+or above is required, currently version 3.7 is recommended.
+
+Linux
+~~~~~
+If you're using Linux, you'll want to check your package manager for those
+packages. Below are commands to install OpenLP's dependecies on some common Linux
+distributions.
+
+Ubuntu/Debian::
+
+    $ sudo apt update
+    
+    $ sudo apt install python3 qttools5-dev-tools pyqt5-dev-tools python3-pyqt5 python3-pyqt5.qtmultimedia \
+                       python3-pyqt5.qtsvg python3-pyqt5.qtopengl python3-pyqt5.qtwebchannel python3-pyqt5.qtwebkit \
+                       python3-pyqt5.qtwebengine python3-sqlalchemy python3-chardet python3-lxml \
+                       python3-enchant python3-bs4 python3-mako python3-uno python3-nose2 python3-nose2-cov \
+                       python3-pip python3-alembic python3-xdg python3-dbus.mainloop.pyqt5 python3-pep8 \
+                       python3-websockets python3-waitress python3-webob python3-requests bzr mediainfo \
+                       pylint3 python3-qtawesome python3-opengl python3-appdirs python3-mysql-connector-python \
+                       python3-pyodbc python3-psycopg2 python3-asyncio python3-six python3-pyobjc-core \
+                       python3-pysword python3-python-vlc python3-pymupdf python3-qdarkstyle python3-pyro4 \
+                       libreoffice-pyuno python3-pytest python3-zeroconfig
+
+Fedora::
+
+    $ sudo dnf install python3-PyQt5 python3-qt5-webengine python3-sqlalchemy python3-alembic 
+                       python3-beautifulsoup4 python3-chardet python3-enchant python3-lxml python3-xdg python3-pytest 
+                       python3-websockets python3-appdirs python3-webob python3-QtAwesome python3-waitress 
+                       python3-pymediainfo python3-pyopengl python3-pysword python3-Mako python3-mysql-connector-python 
+                       python3-pyodbc python3-psycopg2 python3-asyncio python3-six python3-requests python3-pyobjc-core 
+                       python3-python-vlc python3-pymupdf python3-pylint python3-qdarkstyle python3-pyro4 python3-zeroconfig
+    
+    $ sudo dnf install libreoffice-pyuno
+
+macOS
+~~~~~
+On macOS you can install the dependencies via MacPorts or Homebrew. Below are commands
+to install OpenLP's dependencies.
+
+It is recommended that you install and use the virtual environment for Python.  
+Take a look at 'How I Setup VirtualEnv and VirtualEnvWrapper on My Mac <http://mkelsey.com/2013/04/30/how-i-setup-virtualenv-and-virtualenvwrapper-on-my-mac/>'
+if you decide to install the virtual environment.
+
+
+MacPorts with a virtual environment::
+
+    $ sudo port selfupdate
+    
+    $ sudo port install python37 py37-pip
+    
+    $ sudo port select --set python3 python37
+
+
+Install and use the virtual environment before continuing::
+
+    $ pip install sqlalchemy alembic appdirs chardet beautifulsoup4 lxml 
+                  Mako mysql-connector-python pytest pyobjc pyodbc psycopg2 websockets 
+                  asyncio waitress six webob requests pyopengl qtAwesome PyQt5 pymediainfo 
+                  pysword PyQtWebEngine python-vlc pymupdf pyenchant pylint pytest 
+                  python-jenkins launchpadlib qdarkstyle pyro4 zeroconfig
+    
+    $ pip install hunspell-dict-af_ZA hunspell-dict-ca_ES 
+                  hunspell-dict-cs_CZ hunspell-dict-cy_GB hunspell-dict-de_DE 
+                  hunspell-dict-el_GR hunspell-dict-en_CA hunspell-dict-en_GB 
+                  hunspell-dict-en_NZ hunspell-dict-en_US hunspell-dict-en_ZA 
+                  hunspell-dict-eo_EO hunspell-dict-es_ES hunspell-dict-es_MX 
+                  hunspell-dict-fo_FO hunspell-dict-fy_NL hunspell-dict-ga_IE 
+                  hunspell-dict-gd_GB hunspell-dict-gsc_FR hunspell-dict-gu_IN 
+                  hunspell-dict-he_IL hunspell-dict-hi_IN hunspell-dict-hr_HR 
+                  hunspell-dict-id_ID hunspell-dict-ku_TR hunspell-dict-lt_LT 
+                  hunspell-dict-mg_MG hunspell-dict-mk_MK hunspell-dict-ms_MY 
+                  hunspell-dict-nb_NO hunspell-dict-nl_NL hunspell-dict-nn_NO 
+                  hunspell-dict-nr_ZA hunspell-dict-ns_ZA hunspell-dict-ny_MW 
+                  hunspell-dict-oc_FR hunspell-dict-rw_RW hunspell-dict-sl_SI 
+                  hunspell-dict-ss_ZA hunspell-dict-st_ZA hunspell-dict-sw_KE 
+                  hunspell-dict-tet_ID hunspell-dict-th_TH hunspell-dict-tl_PH 
+                  hunspell-dict-tn_ZA hunspell-dict-ts_ZA hunspell-dict-uk_UA 
+                  hunspell-dict-ve_ZA hunspell-dict-xh_ZA hunspell-dict-zu_ZA
+
+MacPorts without a virtual environment::
+
+    $ sudo port selfupdate
+    
+    $ sudo port install bzr git mupdf python37
+    
+    $ sudo port select --set python3 python37
+
+    $ sudo port -N install py37-pyqt5 +webengine +webkit
+    
+    $ sudo port install py37-pip py37-lxml py37-sqlalchemy py37-mako py37-pytest 
+                        py37-beautifulsoup4 py37-psycopg2 py37-sphinx py37-sphinx_rtd_theme 
+                        py37-alembic py37-chardet py37-enchant py37-pyobjc-cocoa 
+                        py37-webob py37-waitress py37-websockets py37-qtawesome 
+                        py37-requests mediainfo hunspell-dict-af_ZA hunspell-dict-ca_ES 
+                        hunspell-dict-cs_CZ hunspell-dict-cy_GB hunspell-dict-de_DE 
+                        hunspell-dict-el_GR hunspell-dict-en_CA hunspell-dict-en_GB 
+                        hunspell-dict-en_NZ hunspell-dict-en_US hunspell-dict-en_ZA 
+                        hunspell-dict-eo_EO hunspell-dict-es_ES hunspell-dict-es_MX 
+                        hunspell-dict-fo_FO hunspell-dict-fy_NL hunspell-dict-ga_IE 
+                        hunspell-dict-gd_GB hunspell-dict-gsc_FR hunspell-dict-gu_IN 
+                        hunspell-dict-he_IL hunspell-dict-hi_IN hunspell-dict-hr_HR 
+                        hunspell-dict-id_ID hunspell-dict-ku_TR hunspell-dict-lt_LT 
+                        hunspell-dict-mg_MG hunspell-dict-mk_MK hunspell-dict-ms_MY 
+                        hunspell-dict-nb_NO hunspell-dict-nl_NL hunspell-dict-nn_NO 
+                        hunspell-dict-nr_ZA hunspell-dict-ns_ZA hunspell-dict-ny_MW 
+                        hunspell-dict-oc_FR hunspell-dict-rw_RW hunspell-dict-sl_SI 
+                        hunspell-dict-ss_ZA hunspell-dict-st_ZA hunspell-dict-sw_KE 
+                        hunspell-dict-tet_ID hunspell-dict-th_TH hunspell-dict-tl_PH 
+                        hunspell-dict-tn_ZA hunspell-dict-ts_ZA hunspell-dict-uk_UA 
+                        hunspell-dict-ve_ZA hunspell-dict-xh_ZA hunspell-dict-zu_ZA
+
+    $ sudo port install py37-appdirs py37-mysql-connector-python py37-pyodbc py37-asyncio 
+                        py37-six py37-pyopengl py37-pysword py37-python py37-pylint 
+                        py37-qdarkstyle py37-pyro4 py37-zeroconfig
+    
+Homebrew::
+
+    $ sudo brew update
+    
+    $ sudo brew install bzr git wget vim htop-osx
+    
+    $ sudo brew install qt --with-qtwebkit
+    
+    $ sudo brew install postgresql python3 enchant
+    
+    $ sudo pip3 install sqlalchemy alembic appdirs chardet beautifulsoup4 lxml Mako 
+                        mysql-connector-python pyodbc psycopg2 websockets asyncio 
+                        waitress six webob requests QtAwesome PyQt5 PyQtWebEngine 
+                        pymediainfo pyobjc-core pysword PyOpenGL python-vlc pymupdf 
+                        pyenchant pylint python-jenkins launchpadlib qdarkstyle pyro4
+                        pytest zeroconfig
+
+Manual:
+    
+Install python by downloading the current version from the 'Python Download Website <https://www.python.org/downloads/mac-osx/>'
+then install the packages using python and pip::
+    
+    $ pyhon3 -m pip install sqlalchemy alembic appdirs chardet beautifulsoup4 lxml Mako 
+                            mysql-connector-python nose mock pyodbc psycopg2 websockets asyncio 
+                            waitress six webob requests QtAwesome PyQt5 PyQtWebEngine 
+                            pymediainfo pyobjc-core pysword PyOpenGL python-vlc pymupdf 
+                            pyenchant pylint python-jenkins launchpadlib qdarkstyle pyro4 pytest zeroconfig
+
+Windows
+~~~~~~~
+On Windows you'll need to download and install the Python Windows 
+Installer from the 'Python download page <http://python.org/download>'
+
+Download and Install VLC for Windows from the 'VLC download page <https://www.videolan.org/vlc/download-windows.html>'
+You must install the correct version of VLC to match the version of 
+Python you installed.  If you installed the 32 bit version of Python 
+then install the 32 bit version of VLC.  If you installed the 64 bit 
+version of Python, then you must install the 64 bit version of VLC.
+
+It is recommended that you install and use the virtual environment 
+for Python.  Take a look at the 'Python Vertual Environment <http://timmyreilly.azurewebsites.net/python-pip-virtualenv-installation-on-windows/>'
+to help decide if you will install the virtual environment.
+
+Use ``pip`` to install the addin packages that are needed for OpenLP::
+    
+    pip install sqlalchemy alembic appdirs chardet beautifulsoup4 lxml 
+                Mako mysql-connector-python pytest pyodbc psycopg2 pypiwin32 websockets 
+                asyncio waitress six webob requests pyopengl qtAwesome PyQt5 pymediainfo 
+                pywin32 pysword PyQtWebEngine python-vlc pymupdf pyenchant pylint 
+                python-jenkins launchpadlib qdarkstyle pyro4 zeroconfig
+    
+    
+Verify Installation
+-------------------
+
+Once you have completed the steps above, check the install is successful by 
+launching python script in a command prompt:
+
+Linux
+~~~~~
+
+Open a terminal, enter your Virtual Environment if you installed one, then navigate 
+to the openlp directory.  The openlp directory should have a scripts
+directory.  Once you are there, type in the following line and press enter.
+
+    ``python3 scripts/check_dependencies.py``
+
+Windows
+~~~~~~~
+
+Open a command prompt, enter your Virtual Environment if you created one and 
+navigate to the openlp directory.  The openlp directory should have a scripts
+directory.  Once you are there, type in the following line and press enter.
+
+    ``python scripts\check_dependencies.py``
+    
+MacOSx
+~~~~~~
+
+Open a terminal, enter your Virtual Environment if you installed one, then navigate 
+to the openlp directory.  The openlp directory should have a scripts
+directory.  Once you are there, type in the following line and press enter.
+
+    ``python3 scripts/check_dependencies.py``
+
+.. warning: 
+   Only from the top to the Optional packages are manditory as some 
+   packages do not run on all platforms...see ``uno`` below as an example.
+
+The output should look similar to this::
+
+    Checking Python version...
+      Python >= 3.6 ...                    3.7.3.final.0
+    Checking for modules...
+      PyQt5 ...                            OK
+      PyQt5.QtCore ...                     OK
+      PyQt5.QtGui ...                      OK
+      PyQt5.QtWidgets ...                  OK
+      PyQt5.QtNetwork ...                  OK
+      PyQt5.QtOpenGL ...                   OK
+      PyQt5.QtSvg ...                      OK
+      PyQt5.QtTest ...                     OK
+      PyQt5.QtWebEngineWidgets ...         OK
+      PyQt5.QtMultimedia ...               OK
+      appdirs ...                          OK
+      sqlalchemy ...                       OK
+      alembic ...                          OK
+      lxml ...                             OK
+      chardet ...                          OK
+      bs4 ...                              OK
+      mako ...                             OK
+      websockets ...                       OK
+      waitress ...                         OK
+      webob ...                            OK
+      requests ...                         OK
+      qtawesome ...                        OK
+      pymediainfo ...                      OK
+      vlc ...                              OK
+      zeroconf ...                         OK
+    Checking for optional modules...
+      qdarkstyle (dark style support)...   OK
+      mysql.connector (MySQL support)...   OK
+      pyodbc (ODBC support)...             OK
+      psycopg2 (PostgreSQL support)...     OK
+      enchant (spell checker)...           OK
+      fitz (executable-independent PDF support)...  OK
+      pysword (import SWORD bibles)...     OK
+      uno (LibreOffice/OpenOffice support)...  FAIL
+      jenkins (access jenkins api)...      OK
+      launchpadlib (launchpad script support)...  OK
+      pytest (testing framework)...        OK
+      pylint (linter)...                   OK
+    Checking for Windows specific modules...
+      win32com ...                         OK
+      win32ui ...                          OK
+      pywintypes ...                       OK
+    Verifying version of modules...
+      PyQt5 >= 5.12 ...                    5.12.2
+      Qt5 >= 5.9 ...                       5.12.3
+      sqlalchemy >= 0.5 ...                1.3.5
+      enchant >= 1.6 ...                   2.0.0
+    Qt5 image formats...
+      read: bmp, cur, gif, icns, ico, jpeg, jpg, pbm, pgm, png, ppm, svg, svgz, tga, tif, tiff, wbmp, webp, xbm, xpm
+      write: bmp, cur, icns, ico, jpeg, jpg, pbm, pgm, png, ppm, tif, tiff, wbmp, webp, xbm, xpm
+    Enchant (spell checker)...
+      available backends: ispell, myspell
+      available languages: de_DE, en_AU, en_GB, en_US, fr_FR
+    

=== removed file 'README.txt'
--- README.txt	2014-05-03 15:28:31 +0000
+++ README.txt	1970-01-01 00:00:00 +0000
@@ -1,15 +0,0 @@
-OpenLP
-======
-
-You're probably reading this because you've just downloaded the source code for
-OpenLP. If you are looking for the installer file, please go to the download
-page on the web site::
-
-    http://openlp.org/download
-
-If you're looking for how to contribute to OpenLP, then please look at the
-OpenLP wiki::
-
-    http://wiki.openlp.org/
-
-Thanks for downloading OpenLP!


Follow ups