Comring
Comring is a companion tool for Paragon ERP.
Building from Source
python3 setup.py sdist bdist_wheel
Optionally, release to pypi:
python3 -m twine upload dist/*
Installing
Install using pip
pip install comring
Odoo Environments Configuration
The system will read Odoo servers (environments) configuration from $HOME/.config/odoopti.yaml file:
environments:
live:
name: Odoo Live
url: https://odoo.pti-cosmetics.com
database: paragon
kind: live
user: toolbox
password: secretpass
local-testing:
name: Local Testing
url: http://localhost:8069
database: test
kind: live
user: admin
password: 1
...
Description for each environment configuration keys:
name: Name or labelurl: Server urldatabase: Database to be usedkind: Implementation. Valid values are: live, spinoff, nbmuser: The user to be used when communicating with the serverpassword: Password for the user
Web App
Development Mode with Flask Built-in Server
Environment Variables
The web app uses flask as engine, these variables can be set to configure the app. You can refer to flask docs for a complete reference. This project also uses python-dotenv so you can create .env file to set env vars more easily. The three most important variables are:
FLASK_RUN_HOST=0.0.0.0
FLASK_RUN_PORT=5555
FLASK_ENV=development
Running with Self-Signed SSL certificate
To generate a self-signed SSL certificate:
openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365
Add this to .env:
FLASK_RUN_CERT=cert.pem
FLASK_RUN_KEY=key.pem
Running Development Server
To run web app:
flask run
Production Mode with CherryPI's WSGI Server
Run the webapp for the first time:
python3 -m comring.webapp [-a bind_address] [-p bind_port]
Wait for about 3 seconds, then press CTRL+C to stop the application. Next you will need to generate a secret key for this production server:
python -c 'import os; print("SECRET_KEY =", os.urandom(16))' > venv/var/comring.webapp-instance/config.py
Then run the application again. The cookie encryption will now use the generated secret key above.
Performance Testing
In this example we'll use apache-util's ab testing tool to stress test the web application.
Requirements
ab available from apache2-utils package
sudo apt-get install apache2-utils
Run application
Run in development mode or production mode. You may also test remotely deployed application.
Get a Sesssion Cookie
Open the application in browser, then login. We will reuse the cookie used by the browser in ab:
- Open developer tool
- In the 'Application' or 'Storage' menu, search for Cookies
- Copy the session cookie value
Run ab
To run 160 requests split into 80 concurrent users:
ab -n 160 -c 80 -C session=<cookie valued copied from browser> -p benchmark/post-invoice-small.data -T 'application/x-www-form-urlencoded' http://localhost:5500/invoice/by_brand
Alternative: siege
Create .siegerc file to set server address and login credentials:
SERVER_URL = http://localhost:5555
login-url = ${SERVER_URL}/auth/login POST environment=live&username=myuser&password=mypassword
Adjust url and parameters to suit your need, then run siege:
siege -f benchmark/siege-local-small.txt -b -c 80 -r 2
Read siege manual for more information on how to use it.
Metadata
Release files for comring 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| comring-0.2.3.tar.gz | 5.6 MB | Without provenance | Details for comring-0.2.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| comring-0.2.3-py3-none-any.whl | Python 3 | none | any | Details for comring-0.2.3-py3-none-any.whl |
Total release size: 11.8 MB
Release files / comring-0.2.3.tar.gz
| Download URL | comring-0.2.3.tar.gz |
|---|---|
| Size | 5.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
39158f0c265be8572abd367ec2b36084bb45da8a88f5517bdd2b8d27b039bbce
|
|
BLAKE2b-256 checksum How to use checksums |
b7e8f9e6616449ea51dbe1d808b838a86ff85e6eabc34364c182efc8c3530422
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7
|
Release files / comring-0.2.3-py3-none-any.whl
| Download URL | comring-0.2.3-py3-none-any.whl |
|---|---|
| Size | 6.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fed356eb00516470eacc4858763e0a34bc79d6f327fda48bf79296e56df2939c
|
|
BLAKE2b-256 checksum How to use checksums |
1397f4ac6d1997257850e9298c0321d9b2442c622f566eb35b367655fb51c382
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7
|
Security for comring 0.2.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.