BeeRef Reference Image Viewer
Find a file
Stefano Bonicatti c6a68116e6 Fix crash on exit by uninstalling Qt message handler
If we don't uninstall the message handler before exiting,
if Qt has messages to send after the python application side
has been destroyed, Qt will crash trying to call the python interpreter.

One examples of such messages are the ones that are enabled through
QT_DEBUG_PLUGINS, which report the libraries that get unloaded.
2023-12-28 13:27:51 +01:00
.github Run unit tests against installed BeeRef package instead of source directory 2023-12-27 15:33:53 +01:00
beeref Fix crash on exit by uninstalling Qt message handler 2023-12-28 13:27:51 +01:00
images Drop Python 3.8 support 2023-12-14 21:27:27 +01:00
requirements Upgrade dependencies; allow older libraries that worked in setup.py 2023-12-13 21:58:02 +01:00
tests Improve performance of Select All/Deselect All 2023-12-28 13:23:05 +01:00
.gitignore Let Pyinstaller build the app as one executable (fixes #4) 2021-08-09 20:04:30 +02:00
beeref.desktop Bump version number 2023-12-12 20:02:20 +01:00
BeeRef.spec MacOS X tweaks 2021-08-13 19:31:07 +02:00
CHANGELOG.rst Improve performance of Select All/Deselect All 2023-12-28 13:23:05 +01:00
codecov.yml Add Codecov badge 2021-04-03 18:18:55 +02:00
CONTRIBUTING.rst Drop Python 3.8 support 2023-12-14 21:27:27 +01:00
LICENSE Initial commit 2021-03-22 21:09:12 +01:00
org.beeref.BeeRef.appdata.xml Bump version number 2023-12-12 20:02:20 +01:00
README.rst Fix badges 2023-11-29 17:39:20 +01:00
setup.cfg Images can now be embedded as PNG or JPG 2023-11-24 23:04:33 +01:00
setup.py Add missing widgets package to setup.py 2023-12-27 14:34:42 +01:00

BeeRef — A Simple Reference Image Viewer
========================================

.. raw:: html

   <img align="left" width="100" height="100" src="https://raw.githubusercontent.com/rbreu/beeref/main/beeref/assets/logo.png">

`BeeRef <https://beeref.org>`_ lets you quickly arrange your reference images and view them while you create. Its minimal interface is designed not to get in the way of your creative process.

|python-version| |github-ci-flake8| |github-ci-pytest| |codecov| |downloads-total| |downloads-latest|

.. image:: https://github.com/rbreu/beeref/blob/main/images/screenshot.png

.. |python-version| image:: https://github.com/rbreu/beeref/blob/main/images/python_version_badge.svg
   :target: https://www.python.org/

.. |github-ci-flake8| image:: https://github.com/rbreu/beeref/actions/workflows/flake8.yml/badge.svg
   :target: https://github.com/rbreu/beeref/actions/workflows/flake8.yml

.. |github-ci-pytest| image:: https://github.com/rbreu/beeref/actions/workflows/pytest.yml/badge.svg
   :target: https://github.com/rbreu/beeref/actions/workflows/pytest.yml

.. |codecov| image:: https://codecov.io/gh/rbreu/beeref/branch/main/graph/badge.svg?token=QA8HR1VVAL
   :target: https://codecov.io/gh/rbreu/beeref

.. |downloads-total| image:: https://img.shields.io/github/downloads/rbreu/beeref/total.svg
   :target: https://github.com/rbreu/beeref/releases

.. |downloads-latest| image:: https://img.shields.io/github/downloads/rbreu/beeref/latest/total.svg
   :target: https://github.com/rbreu/beeref/releases


Installation
------------

Stable Release
~~~~~~~~~~~~~~

Get the file for your operating system (Windows, Linux, macOS) from the `latest release <https://github.com/rbreu/beeref/releases>`_. The different Linux versions are built on different versions of Ubuntu. The should work on other distros as well, but you might have to try which one works.

**Linux users** need to give the file executable rights before running it. Optional: If you want to have BeeRef appear in the app menu, save the desktop file from the `release section <https://github.com/rbreu/beeref/releases>`_ in ``~/.local/share/applications``, save the `logo <https://raw.githubusercontent.com/rbreu/beeref/main/beeref/assets/logo.png>`_, and adjust the path names in the desktop file to match the location of your BeeRef installation.

**MacOS X users**, look at `detailed instructions <https://beeref.org/macosx-run.html>`_ if you have problems running BeeRef.

Follow further releases via the `atom feed <https://github.com/rbreu/beeref/releases.atom>`_.


Development Version
~~~~~~~~~~~~~~~~~~~

To get the current development version, you need to have a working Python 3 environment. Run the following command to install the development version::

  pip install git+https://github.com/rbreu/beeref.git

Then run ``beeref`` or ``beeref filename.bee``.


Features
--------

* Move, scale, rotate, crop and flip images
* Mass-scale images to the same width, height or size
* Mass-arrange images vertically, horizontally or for optimal usage of space
* Add text notes
* Enable always-on-top-mode and disable the title bar to let the BeeRef window unobtrusively float above your art program:

.. image:: https://github.com/rbreu/beeref/blob/main/images/screenshot.png


Regarding the bee file format
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

All images are embedded into the bee file as PNG or JPG. The bee file format is a sqlite database inside which the images are stored in an sqlar table—meaning they can be extracted with the `sqlite command line program <https://www.sqlite.org/cli.html>`_::

  sqlite3 myfile.bee -Axv

Options for exporting from inside BeeRef are planned, but the above always works independently of BeeRef.


Troubleshooting
---------------

You can access the log output via *Help -> Show Debug Log*. In case BeeRef doesn't start at all, you can find the log file here:

Windows:

  C:\Documents and Settings\USERNAME\Application Data\BeeRef\BeeRef.log

Linux and MacOS:

  /home/USERNAME/.config/BeeRef/BeeRef.log


Notes for developers
--------------------

BeeRef is written in Python and PyQt6. For more info, see `CONTRIBUTING.rst <https://github.com/rbreu/beeref/blob/main/CONTRIBUTING.rst>`_.