PersephoneP is a web browser written by Python3 and PyQt6. This browser is based on Chromium, which is an open source web browser engine included in PyQt6. The data from web pages gotten by Chromium is drawn on PyQt Widgets. PyQt is one of the most popular Python bindings for the Qt cross-platform C++ framework. Utilizing the characteristics of Qt as cross-platform framework, PersephoneP is able to run on multi-platform if python is installed.
Originally PersephoneP is developed on PyQt5. PyQt6 was released in 2021, and PersephoneP change its framework from PyQt5 to PyQt6 in 2022.
Please show requirements.txt.
Please use pip install persephonep
, or download from this page.
Type below and Persophonep starts.
>> import persephonep
>> persephonep.browser()
If you call persephonep via python shell ( persephonep.browser()
), your python shell will exit just after the persephonep browser is closed.
That is because calling sys.exit()
in persephonep.browser()
.
This browser is tested by pytest & pytest-qt. Please type below commands if you want to execute those tests.
$ git clone https://github.com/montblanc18/persephonep.git
$ cd persephonep
$ python -m venv .venv
$ source .venv/bin/activate
$ pip install -U pip
$ pip install -e . -r requirements.txt
$ export QT_DEBUG_PLUGINS=1
$ pytest
$ tox
Some people say that making browser is reinventing the wheel, however, there are two reasons.
- Understanding the way to get data from web page and to draw it on our PC.
- Some workers are forced to use the IE at work. BUT, we wanna use other than IE!!
- I got a job with a japanese company.
- This company prohibited my using browsers except IE.
- I decided to develop my browser.
- That company forced me to submit applications before installing software or libraries which I want.
- PyQt6 based on only sip module and sip run with PurePython.
- I decided to use PyQt6.
This program's original name was "persephone", however, there were a lot f program which have same name.
This browser is consisted by 3 items.
- PersephonepMainWidget (
QMainWindow
) - PersephonepTableWidget(
QWidget
) - PersephonepWindow(
QWidget
)
This item is a main frame of Persephonep. The role of this item is very simple.
- Handling the initial parameters of this browser, such as position, size, and so on.
- Call PersephonepTableWidget and display it in own frame.
This item control the tab system of this browser. It handles the standard functions of tab, such as adding tabs, closing tabs, and so on.
This item is a main viewer of this browser.