Skip to main content

Odoo Drivers

License: AGPL v3 Python versions PyPI latest release Downloads GitLab last commit GitLab stars NO AI

This tools is intented to be used with the Odoo Point of sale application. It replaces the Odoo IoT Box or the Community pywebdriver library.

Once installed locally in the cashier computer, devices will be discovered by the tool, once plugged, and communication can be done with the Odoo Point of Sale module.

Table of contents

  1. Run
  2. Usage
  3. Installation
  4. Compatible Plugins
  5. How to Contribute
  6. Credits
  7. Develop

Run

odoo-driver\
  --address 0.0.0.0\
  --port 8069\
  --secure\
  --refresh-devices-delay 1\
  --log-level INFO\
  --log-folder false

(The values displayed above are the default values.

  • -a / --address: address where the web service will be available

  • -p / --port: port where the web service will be available

  • --secure/--unsecure: expose webservice with https (or http, if --unsecure is selected).

  • -r / --refresh-devices-delay: interval in seconds between two checks of devices connected to usb ports.

  • -l / --log-level: Possible values: DEBUG / INFO / SUCCESS / WARNING / ERROR / CRITICAL.

Note: DEBUG will log all the data received, including images received by the printer device. Use INFO level or higher in production outside a debugging situation.

  • -f / --log-folder: Optional directory that will contains logs. If defined, it should exist and be writable.

Usage

Go the home page of the tool, via https://localhost:8069.

If you choose https deployment, you should accept the first time a security exception in your browser.

Pages are available to test connections, see errors, etc.

Installation

Run it manually

  • install the latest released version:
pipx install odoo-driver
  • or Install the latest version:
pipx install git+https://gitlab.com/grap-rhone-alpes/odoo-driver.git

Note: use --python python3.10 (or higher) option, if your default python environment is under python 3.10 version.

Run it as a service

This will create a service (via systemd) that will execute odoo-driver in the background and launches at startup.

wget https://gitlab.com/grap-rhone-alpes/odoo-driver/-/raw/main/debian_install.sh
# (OPTIONAL) adapt the installation script before execution
# - specific argument in the call of odoo-driver in the .service file
# - enable or disable plugins
sudo sh debian_install.sh

Once installed, you can run the following system command.

# Get status of the service
sudo systemctl status odoo-driver.service

# Follow the logs of the service
sudo journalctl -fu odoo-driver.service

Compatible Plugins

Function Protocol URL
Printers ESC/POS odoo-driver-plugin-printer-escpos
Payment Terminals Telium odoo-driver-plugin-payment-telium
LCD Displays ESC/POS odoo-driver-plugin-display-escpos
Scale Toledo odoo-driver-plugin-scale-toledo

How to Contribute

Welcome contributions

  • If the project is not translated into your language, you can propose a translation. (Refer to the update_translation.sh helper script.)

  • If you tested a plugin with a driver that is not referenced in the usb_devices.py file, and if all works correctly, please feel free to make an Merge Request, to mark this device as compatible. (add an image, make a change in usb_devices.py and in the README.md files)

  • If you've encountered a problem or bug that you've solved, the patch will be very welcome !

  • If you face an issue and you have a budget, you can ask for a quotation to try to solve the problem.

Unwelcome contributions

  • Please do not use AI to propose Merge Requests and / or write issues. Such 'contributions' will be closed. (If you don't have time to contribute, don't ask time for review.)

  • Please do not propose a Merge Request before opening first an issue on gitlab, if you want to add new feature, new devices, etc.

Separate contributions

  • If you want to develop a plugin that is not developped, feel free to create a new project, named odoo-driver-plugin-FUNCTION-PROTOCOL. you can take example on the existing projects.

Credits

Authors

Contributors

Extra authorship

The following projects were useful and studied to realize this library:

Images

Develop

Local Installation

To install the odoo-driver library and some plugins, you can refer to this documentation:

https://gitlab.com/grap-rhone-alpes/odoo-driver-env

Documentation

Ressources used to develop this tools:

USB

List of USB devices by code:

Python Plugins

poetry

gevent

flask

Flask & Systemd

Hashing files in folder

Release files for odoo-driver 3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for odoo-driver 3.0.0
File Size Uploaded
odoo_driver-3.0.0.tar.gz 155.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for odoo-driver 3.0.0
File Interpreter ABI Platform
odoo_driver-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 316.5 kB

Release files / odoo_driver-3.0.0.tar.gz

Download URL odoo_driver-3.0.0.tar.gz
Size 155.4 kB
Tags Source
SHA-256 checksum
How to use checksums
7d9f0319ede41bf67c0ae869a5e42fa867ba5e1721e2799aa65089bfed0372a6
BLAKE2b-256 checksum
How to use checksums
b470a99e07dcb22f9d177eaf1e43d54209ce93ecdba4003f1a5ade45ba3e1aea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.12.3 Linux/7.0.0-31-generic

Release files / odoo_driver-3.0.0-py3-none-any.whl

Download URL odoo_driver-3.0.0-py3-none-any.whl
Size 161.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aafb73b7105da5ccf52d7c6d4c0fa579a72616ed4d1ce58ea5ddb4ebb7e8b48e
BLAKE2b-256 checksum
How to use checksums
fb759d91e82d7624273a611a60c0163668dc5a7c26fb9dd04dd479f795df058a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.12.3 Linux/7.0.0-31-generic

Release history Release notifications | RSS feed

3.1.1

2 release files

3.1.0

2 release files

This release

3.0.0 This release

2 release files

2.4.6

2 release files

2.4.5

2 release files

2.4.4

2 release files

2.4.3

2 release files

2.4.2

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

0.10.0

2 release files

0.9.12

2 release files

0.9.10

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page