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

Proposed by Johnthan
Status: Work in progress
Proposed branch: lp:~johnmfl/openlp/developer_readme
Merge into: lp:openlp
Diff against target: 313 lines (+289/-15)
2 files modified
README.rst (+289/-0)
README.txt (+0/-15)
To merge this branch: bzr merge lp:~johnmfl/openlp/developer_readme
Reviewer Review Type Date Requested Status
OpenLP Core Pending
Review via email: mp+371011@code.launchpad.net

Description of the change

Updated the ReadMe.txt to ReadMe.rst and included Development Environment info.

To post a comment you must log in.
Revision history for this message
Raoul Snyman (raoul-snyman) wrote :

Linux tests passed!

Revision history for this message
Raoul Snyman (raoul-snyman) wrote :

Linting passed!

Revision history for this message
Phill (phill-ridout) wrote :

I'm not sure about this. This is the page that will show up on GitLab? Has it been discussed in IRC? There seems to be some duplication with the wiki. Will this be removed from the wiki?

Revision history for this message
Johnthan (johnmfl) wrote :

This should be put on Hold until superfly can be involved.

Unmerged revisions

2889. By Johnthan

combined original readme.txt with readme.rst

2888. By Johnthan

Developer ReadMe added

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'README.rst'
2--- README.rst 1970-01-01 00:00:00 +0000
3+++ README.rst 2019-08-06 17:50:50 +0000
4@@ -0,0 +1,289 @@
5+OpenLP
6+======
7+
8+You're probably reading this because you've just downloaded the source code for
9+OpenLP. If you are looking for the installer file, please go to the download
10+page on the web site::
11+
12+ http://openlp.org/download
13+
14+If you're looking for how to contribute to OpenLP, then please look at the
15+OpenLP wiki::
16+
17+ http://wiki.openlp.org/
18+
19+Thanks for downloading OpenLP!
20+
21+
22+OpenLP Development
23+==================
24+
25+This repository holds the OpenLP development code and tests among other items.
26+
27+Getting Started
28+---------------
29+To get up and running with the development and testing, you'll need to install
30+the Python programing language and serveral other packages. Python version 3.6
31+or above is required, currently version 3.7 is recommended.
32+
33+Linux
34+~~~~~
35+If you're using Linux, you'll want to check your package manager for those
36+packages. Below are commands to install OpenLP's dependecies on some common Linux
37+distributions.
38+
39+Ubuntu/Debian::
40+
41+ $ sudo apt update
42+
43+ $ sudo apt install python3 qttools5-dev-tools pyqt5-dev-tools python3-pyqt5 python3-pyqt5.qtmultimedia \
44+ python3-pyqt5.qtsvg python3-pyqt5.qtopengl python3-pyqt5.qtwebchannel python3-pyqt5.qtwebkit \
45+ python3-pyqt5.qtwebengine python3-sqlalchemy python3-chardet python3-lxml \
46+ python3-enchant python3-bs4 python3-mako python3-uno python3-nose2 python3-nose2-cov \
47+ python3-pip python3-alembic python3-xdg python3-dbus.mainloop.pyqt5 python3-pep8 \
48+ python3-websockets python3-waitress python3-webob python3-requests bzr mediainfo \
49+ pylint3 python3-qtawesome python3-opengl python3-appdirs python3-mysql-connector-python \
50+ python3-pyodbc python3-psycopg2 python3-asyncio python3-six python3-pyobjc-core \
51+ python3-pysword python3-python-vlc python3-pymupdf python3-qdarkstyle python3-pyro4 \
52+ libreoffice-pyuno python3-pytest python3-zeroconfig
53+
54+Fedora::
55+
56+ $ sudo dnf install python3-PyQt5 python3-qt5-webengine python3-sqlalchemy python3-alembic
57+ python3-beautifulsoup4 python3-chardet python3-enchant python3-lxml python3-xdg python3-pytest
58+ python3-websockets python3-appdirs python3-webob python3-QtAwesome python3-waitress
59+ python3-pymediainfo python3-pyopengl python3-pysword python3-Mako python3-mysql-connector-python
60+ python3-pyodbc python3-psycopg2 python3-asyncio python3-six python3-requests python3-pyobjc-core
61+ python3-python-vlc python3-pymupdf python3-pylint python3-qdarkstyle python3-pyro4 python3-zeroconfig
62+
63+ $ sudo dnf install libreoffice-pyuno
64+
65+macOS
66+~~~~~
67+On macOS you can install the dependencies via MacPorts or Homebrew. Below are commands
68+to install OpenLP's dependencies.
69+
70+It is recommended that you install and use the virtual environment for Python.
71+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/>'
72+if you decide to install the virtual environment.
73+
74+
75+MacPorts with a virtual environment::
76+
77+ $ sudo port selfupdate
78+
79+ $ sudo port install python37 py37-pip
80+
81+ $ sudo port select --set python3 python37
82+
83+
84+Install and use the virtual environment before continuing::
85+
86+ $ pip install sqlalchemy alembic appdirs chardet beautifulsoup4 lxml
87+ Mako mysql-connector-python pytest pyobjc pyodbc psycopg2 websockets
88+ asyncio waitress six webob requests pyopengl qtAwesome PyQt5 pymediainfo
89+ pysword PyQtWebEngine python-vlc pymupdf pyenchant pylint pytest
90+ python-jenkins launchpadlib qdarkstyle pyro4 zeroconfig
91+
92+ $ pip install hunspell-dict-af_ZA hunspell-dict-ca_ES
93+ hunspell-dict-cs_CZ hunspell-dict-cy_GB hunspell-dict-de_DE
94+ hunspell-dict-el_GR hunspell-dict-en_CA hunspell-dict-en_GB
95+ hunspell-dict-en_NZ hunspell-dict-en_US hunspell-dict-en_ZA
96+ hunspell-dict-eo_EO hunspell-dict-es_ES hunspell-dict-es_MX
97+ hunspell-dict-fo_FO hunspell-dict-fy_NL hunspell-dict-ga_IE
98+ hunspell-dict-gd_GB hunspell-dict-gsc_FR hunspell-dict-gu_IN
99+ hunspell-dict-he_IL hunspell-dict-hi_IN hunspell-dict-hr_HR
100+ hunspell-dict-id_ID hunspell-dict-ku_TR hunspell-dict-lt_LT
101+ hunspell-dict-mg_MG hunspell-dict-mk_MK hunspell-dict-ms_MY
102+ hunspell-dict-nb_NO hunspell-dict-nl_NL hunspell-dict-nn_NO
103+ hunspell-dict-nr_ZA hunspell-dict-ns_ZA hunspell-dict-ny_MW
104+ hunspell-dict-oc_FR hunspell-dict-rw_RW hunspell-dict-sl_SI
105+ hunspell-dict-ss_ZA hunspell-dict-st_ZA hunspell-dict-sw_KE
106+ hunspell-dict-tet_ID hunspell-dict-th_TH hunspell-dict-tl_PH
107+ hunspell-dict-tn_ZA hunspell-dict-ts_ZA hunspell-dict-uk_UA
108+ hunspell-dict-ve_ZA hunspell-dict-xh_ZA hunspell-dict-zu_ZA
109+
110+MacPorts without a virtual environment::
111+
112+ $ sudo port selfupdate
113+
114+ $ sudo port install bzr git mupdf python37
115+
116+ $ sudo port select --set python3 python37
117+
118+ $ sudo port -N install py37-pyqt5 +webengine +webkit
119+
120+ $ sudo port install py37-pip py37-lxml py37-sqlalchemy py37-mako py37-pytest
121+ py37-beautifulsoup4 py37-psycopg2 py37-sphinx py37-sphinx_rtd_theme
122+ py37-alembic py37-chardet py37-enchant py37-pyobjc-cocoa
123+ py37-webob py37-waitress py37-websockets py37-qtawesome
124+ py37-requests mediainfo hunspell-dict-af_ZA hunspell-dict-ca_ES
125+ hunspell-dict-cs_CZ hunspell-dict-cy_GB hunspell-dict-de_DE
126+ hunspell-dict-el_GR hunspell-dict-en_CA hunspell-dict-en_GB
127+ hunspell-dict-en_NZ hunspell-dict-en_US hunspell-dict-en_ZA
128+ hunspell-dict-eo_EO hunspell-dict-es_ES hunspell-dict-es_MX
129+ hunspell-dict-fo_FO hunspell-dict-fy_NL hunspell-dict-ga_IE
130+ hunspell-dict-gd_GB hunspell-dict-gsc_FR hunspell-dict-gu_IN
131+ hunspell-dict-he_IL hunspell-dict-hi_IN hunspell-dict-hr_HR
132+ hunspell-dict-id_ID hunspell-dict-ku_TR hunspell-dict-lt_LT
133+ hunspell-dict-mg_MG hunspell-dict-mk_MK hunspell-dict-ms_MY
134+ hunspell-dict-nb_NO hunspell-dict-nl_NL hunspell-dict-nn_NO
135+ hunspell-dict-nr_ZA hunspell-dict-ns_ZA hunspell-dict-ny_MW
136+ hunspell-dict-oc_FR hunspell-dict-rw_RW hunspell-dict-sl_SI
137+ hunspell-dict-ss_ZA hunspell-dict-st_ZA hunspell-dict-sw_KE
138+ hunspell-dict-tet_ID hunspell-dict-th_TH hunspell-dict-tl_PH
139+ hunspell-dict-tn_ZA hunspell-dict-ts_ZA hunspell-dict-uk_UA
140+ hunspell-dict-ve_ZA hunspell-dict-xh_ZA hunspell-dict-zu_ZA
141+
142+ $ sudo port install py37-appdirs py37-mysql-connector-python py37-pyodbc py37-asyncio
143+ py37-six py37-pyopengl py37-pysword py37-python py37-pylint
144+ py37-qdarkstyle py37-pyro4 py37-zeroconfig
145+
146+Homebrew::
147+
148+ $ sudo brew update
149+
150+ $ sudo brew install bzr git wget vim htop-osx
151+
152+ $ sudo brew install qt --with-qtwebkit
153+
154+ $ sudo brew install postgresql python3 enchant
155+
156+ $ sudo pip3 install sqlalchemy alembic appdirs chardet beautifulsoup4 lxml Mako
157+ mysql-connector-python pyodbc psycopg2 websockets asyncio
158+ waitress six webob requests QtAwesome PyQt5 PyQtWebEngine
159+ pymediainfo pyobjc-core pysword PyOpenGL python-vlc pymupdf
160+ pyenchant pylint python-jenkins launchpadlib qdarkstyle pyro4
161+ pytest zeroconfig
162+
163+Manual:
164+
165+Install python by downloading the current version from the 'Python Download Website <https://www.python.org/downloads/mac-osx/>'
166+then install the packages using python and pip::
167+
168+ $ pyhon3 -m pip install sqlalchemy alembic appdirs chardet beautifulsoup4 lxml Mako
169+ mysql-connector-python nose mock pyodbc psycopg2 websockets asyncio
170+ waitress six webob requests QtAwesome PyQt5 PyQtWebEngine
171+ pymediainfo pyobjc-core pysword PyOpenGL python-vlc pymupdf
172+ pyenchant pylint python-jenkins launchpadlib qdarkstyle pyro4 pytest zeroconfig
173+
174+Windows
175+~~~~~~~
176+On Windows you'll need to download and install the Python Windows
177+Installer from the 'Python download page <http://python.org/download>'
178+
179+Download and Install VLC for Windows from the 'VLC download page <https://www.videolan.org/vlc/download-windows.html>'
180+You must install the correct version of VLC to match the version of
181+Python you installed. If you installed the 32 bit version of Python
182+then install the 32 bit version of VLC. If you installed the 64 bit
183+version of Python, then you must install the 64 bit version of VLC.
184+
185+It is recommended that you install and use the virtual environment
186+for Python. Take a look at the 'Python Vertual Environment <http://timmyreilly.azurewebsites.net/python-pip-virtualenv-installation-on-windows/>'
187+to help decide if you will install the virtual environment.
188+
189+Use ``pip`` to install the addin packages that are needed for OpenLP::
190+
191+ pip install sqlalchemy alembic appdirs chardet beautifulsoup4 lxml
192+ Mako mysql-connector-python pytest pyodbc psycopg2 pypiwin32 websockets
193+ asyncio waitress six webob requests pyopengl qtAwesome PyQt5 pymediainfo
194+ pywin32 pysword PyQtWebEngine python-vlc pymupdf pyenchant pylint
195+ python-jenkins launchpadlib qdarkstyle pyro4 zeroconfig
196+
197+
198+Verify Installation
199+-------------------
200+
201+Once you have completed the steps above, check the install is successful by
202+launching python script in a command prompt:
203+
204+Linux
205+~~~~~
206+
207+Open a terminal, enter your Virtual Environment if you installed one, then navigate
208+to the openlp directory. The openlp directory should have a scripts
209+directory. Once you are there, type in the following line and press enter.
210+
211+ ``python3 scripts/check_dependencies.py``
212+
213+Windows
214+~~~~~~~
215+
216+Open a command prompt, enter your Virtual Environment if you created one and
217+navigate to the openlp directory. The openlp directory should have a scripts
218+directory. Once you are there, type in the following line and press enter.
219+
220+ ``python scripts\check_dependencies.py``
221+
222+MacOSx
223+~~~~~~
224+
225+Open a terminal, enter your Virtual Environment if you installed one, then navigate
226+to the openlp directory. The openlp directory should have a scripts
227+directory. Once you are there, type in the following line and press enter.
228+
229+ ``python3 scripts/check_dependencies.py``
230+
231+.. warning:
232+ Only from the top to the Optional packages are manditory as some
233+ packages do not run on all platforms...see ``uno`` below as an example.
234+
235+The output should look similar to this::
236+
237+ Checking Python version...
238+ Python >= 3.6 ... 3.7.3.final.0
239+ Checking for modules...
240+ PyQt5 ... OK
241+ PyQt5.QtCore ... OK
242+ PyQt5.QtGui ... OK
243+ PyQt5.QtWidgets ... OK
244+ PyQt5.QtNetwork ... OK
245+ PyQt5.QtOpenGL ... OK
246+ PyQt5.QtSvg ... OK
247+ PyQt5.QtTest ... OK
248+ PyQt5.QtWebEngineWidgets ... OK
249+ PyQt5.QtMultimedia ... OK
250+ appdirs ... OK
251+ sqlalchemy ... OK
252+ alembic ... OK
253+ lxml ... OK
254+ chardet ... OK
255+ bs4 ... OK
256+ mako ... OK
257+ websockets ... OK
258+ waitress ... OK
259+ webob ... OK
260+ requests ... OK
261+ qtawesome ... OK
262+ pymediainfo ... OK
263+ vlc ... OK
264+ zeroconf ... OK
265+ Checking for optional modules...
266+ qdarkstyle (dark style support)... OK
267+ mysql.connector (MySQL support)... OK
268+ pyodbc (ODBC support)... OK
269+ psycopg2 (PostgreSQL support)... OK
270+ enchant (spell checker)... OK
271+ fitz (executable-independent PDF support)... OK
272+ pysword (import SWORD bibles)... OK
273+ uno (LibreOffice/OpenOffice support)... FAIL
274+ jenkins (access jenkins api)... OK
275+ launchpadlib (launchpad script support)... OK
276+ pytest (testing framework)... OK
277+ pylint (linter)... OK
278+ Checking for Windows specific modules...
279+ win32com ... OK
280+ win32ui ... OK
281+ pywintypes ... OK
282+ Verifying version of modules...
283+ PyQt5 >= 5.12 ... 5.12.2
284+ Qt5 >= 5.9 ... 5.12.3
285+ sqlalchemy >= 0.5 ... 1.3.5
286+ enchant >= 1.6 ... 2.0.0
287+ Qt5 image formats...
288+ read: bmp, cur, gif, icns, ico, jpeg, jpg, pbm, pgm, png, ppm, svg, svgz, tga, tif, tiff, wbmp, webp, xbm, xpm
289+ write: bmp, cur, icns, ico, jpeg, jpg, pbm, pgm, png, ppm, tif, tiff, wbmp, webp, xbm, xpm
290+ Enchant (spell checker)...
291+ available backends: ispell, myspell
292+ available languages: de_DE, en_AU, en_GB, en_US, fr_FR
293+
294
295=== removed file 'README.txt'
296--- README.txt 2014-05-03 15:28:31 +0000
297+++ README.txt 1970-01-01 00:00:00 +0000
298@@ -1,15 +0,0 @@
299-OpenLP
300-======
301-
302-You're probably reading this because you've just downloaded the source code for
303-OpenLP. If you are looking for the installer file, please go to the download
304-page on the web site::
305-
306- http://openlp.org/download
307-
308-If you're looking for how to contribute to OpenLP, then please look at the
309-OpenLP wiki::
310-
311- http://wiki.openlp.org/
312-
313-Thanks for downloading OpenLP!