{ "info": { "author": "Agustianes Umbara Suwardi", "author_email": "anezch@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "Comring\n=======\n\nComring is a companion tool for Paragon ERP.\n\n## Building from Source\n\n```\npython3 setup.py sdist bdist_wheel\n```\n\nOptionally, release to pypi:\n\n```\npython3 -m twine upload dist/*\n```\n\n## Installing\n\nInstall using pip\n\n```\npip install comring\n```\n\n## Odoo Environments Configuration\n\nThe system will read Odoo servers (environments) configuration from `$HOME/.config/odoopti.yaml` file:\n\n```yaml\nenvironments:\n live:\n name: Odoo Live\n url: https://odoo.pti-cosmetics.com\n database: paragon\n kind: live\n user: toolbox\n password: secretpass\n\n local-testing:\n name: Local Testing\n url: http://localhost:8069\n database: test\n kind: live\n user: admin\n password: 1\n\n ...\n```\n\nDescription for each environment configuration keys:\n\n1. `name`: Name or label\n2. `url`: Server url\n3. `database`: Database to be used\n4. `kind`: Implementation. Valid values are: live, spinoff, nbm\n5. `user`: The user to be used when communicating with the server\n6. `password`: Password for the user\n\n## Web App\n\n### Development Mode with Flask Built-in Server\n\n#### Environment Variables\n\nThe 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:\n\n```\nFLASK_RUN_HOST=0.0.0.0\nFLASK_RUN_PORT=5555\nFLASK_ENV=development\n```\n\n#### Running with Self-Signed SSL certificate\n\nTo generate a self-signed SSL certificate:\n\n```\nopenssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365\n```\n\nAdd this to .env:\n\n```\nFLASK_RUN_CERT=cert.pem\nFLASK_RUN_KEY=key.pem\n```\n\n#### Running Development Server\n\nTo run web app:\n\n```\nflask run\n```\n\n### Production Mode with CherryPI's WSGI Server\n\nRun the webapp for the first time:\n\n```bash\npython3 -m comring.webapp [-a bind_address] [-p bind_port]\n```\n\nWait 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:\n\n```bash\npython -c 'import os; print(\"SECRET_KEY =\", os.urandom(16))' > venv/var/comring.webapp-instance/config.py\n```\n\nThen run the application again. The cookie encryption will now use the generated secret key above.\n\n### Performance Testing\n\nIn this example we'll use apache-util's `ab` testing tool to stress test the web application.\n\n### Requirements\n\n`ab` available from `apache2-utils` package\n\n```\nsudo apt-get install apache2-utils\n```\n\n### Run application\n\nRun in development mode or production mode. You may also test remotely deployed application.\n\n### Get a Sesssion Cookie\n\nOpen the application in browser, then login. We will reuse the cookie used by the browser in `ab`:\n1. Open developer tool\n2. In the 'Application' or 'Storage' menu, search for Cookies\n3. Copy the session cookie value\n\n### Run ab\n\nTo run 160 requests split into 80 concurrent users:\n\n```\nab -n 160 -c 80 -C session= -p benchmark/post-invoice-small.data -T 'application/x-www-form-urlencoded' http://localhost:5500/invoice/by_brand\n```\n\n### Alternative: siege\n\nCreate `.siegerc` file to set server address and login credentials:\n\n```\nSERVER_URL = http://localhost:5555\nlogin-url = ${SERVER_URL}/auth/login POST environment=live&username=myuser&password=mypassword\n```\n\nAdjust url and parameters to suit your need, then run siege:\n\n```\nsiege -f benchmark/siege-local-small.txt -b -c 80 -r 2\n```\n\nRead siege manual for more information on how to use it.\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ausuwardi/comring", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "comring", "package_url": "https://pypi.org/project/comring/", "platform": "", "project_url": "https://pypi.org/project/comring/", "project_urls": { "Homepage": "https://github.com/ausuwardi/comring" }, "release_url": "https://pypi.org/project/comring/0.2.3/", "requires_dist": [ "flask", "cheroot", "cryptography", "requests", "python-dotenv", "PyYAML", "pika", "xlrd", "prettytable", "cachetools", "wsgi-request-logger", "coloredlogs", "psycopg2", "loguru" ], "requires_python": "", "summary": "Comring, the PTI ERP companion tool", "version": "0.2.3" }, "last_serial": 5921397, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "3ca448fba8cca91515d5a222272e99f3", "sha256": "4038044485c684351bb83f0be9c18682337740d64dfde28994323a4cc5554ef2" }, "downloads": -1, "filename": "comring-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3ca448fba8cca91515d5a222272e99f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6199177, "upload_time": "2019-06-13T09:05:57", "url": "https://files.pythonhosted.org/packages/e5/c2/50d997c7dc1a1ffe444a3f8419bb39b19275c31390188faf135c75f213d9/comring-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "099d7366e0bce11dff6d3e232a504f88", "sha256": "405d1a48f9a15bf08509c188167544e677597fb930efb91e695449cadbe50dd4" }, "downloads": -1, "filename": "comring-0.1.0.tar.gz", "has_sig": false, "md5_digest": "099d7366e0bce11dff6d3e232a504f88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5593291, "upload_time": "2019-06-13T09:06:07", "url": "https://files.pythonhosted.org/packages/f9/cb/cdd7547f57e28573fe1304e142161fe547ba241b9e2b2ce2129c770a8bc4/comring-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c505e80b097a77b1a2ba9bcfe67c9a92", "sha256": "d12d984ec643771b086f5181310128336a7884b25e95e9e73e5acb609facc6fa" }, "downloads": -1, "filename": "comring-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c505e80b097a77b1a2ba9bcfe67c9a92", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6199345, "upload_time": "2019-06-13T09:20:14", "url": "https://files.pythonhosted.org/packages/6d/88/8abc459ce447bf75810036bc7afec53cde8a3359c3ed97dafa1f77f4f667/comring-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98a49834a04a2872d47832dfddb40c4b", "sha256": "661fefa7894c22b590a602b9a0f572ca30354e71321f5539f16ee1fa27f1e785" }, "downloads": -1, "filename": "comring-0.1.1.tar.gz", "has_sig": false, "md5_digest": "98a49834a04a2872d47832dfddb40c4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5593757, "upload_time": "2019-06-13T09:20:23", "url": "https://files.pythonhosted.org/packages/b5/e3/cf28a2e620b0a8188ede2afc974780ea73e775019e4a7d4f81d08731cef6/comring-0.1.1.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "1c94575cfc965fd329a338b3524ddb52", "sha256": "64ac8a0f9a8db6d3e8df345a0a3fd9751eebbb2a0b631abd57c5caea0cf9b3e0" }, "downloads": -1, "filename": "comring-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1c94575cfc965fd329a338b3524ddb52", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6204430, "upload_time": "2019-07-18T08:29:10", "url": "https://files.pythonhosted.org/packages/ec/f1/3db1add601f82cc47194d71af2342f2335c2a8413aae2e76a9a5fc11e7a1/comring-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "514b01115f313af9e31d15d5660b890e", "sha256": "5893799aaac028800ae2d2e37b495e311e8c4165254f0705571787dd4a6330d9" }, "downloads": -1, "filename": "comring-0.2.1.tar.gz", "has_sig": false, "md5_digest": "514b01115f313af9e31d15d5660b890e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5595197, "upload_time": "2019-07-18T08:29:18", "url": "https://files.pythonhosted.org/packages/b1/4a/df7653ac4df3f5a0601f3d2bc5c30aec4f51fef98cbbd5dd77abb8a62d06/comring-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "04bbd7f2fd16bf2ded13d2ec8e1165e7", "sha256": "82a272bd0d49d7b6a36feb2679a85879e364269d621dddb9e99bf8f33913d118" }, "downloads": -1, "filename": "comring-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "04bbd7f2fd16bf2ded13d2ec8e1165e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6204944, "upload_time": "2019-08-15T08:54:02", "url": "https://files.pythonhosted.org/packages/25/f3/27b7b68a227adde0aecc2e52a0984f923663a028c4febd637b4a229f84f6/comring-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4205fb64793b87da5f85f450d389b082", "sha256": "7db1a22fc1871dadfdb7b0136a4a129feb151e52b8411a9caca2788024c5786b" }, "downloads": -1, "filename": "comring-0.2.2.tar.gz", "has_sig": false, "md5_digest": "4205fb64793b87da5f85f450d389b082", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5595554, "upload_time": "2019-08-15T08:54:16", "url": "https://files.pythonhosted.org/packages/1c/46/ee41825ff22db5492b4719469507a7cd5457d273a1c17cdaebe6a3b54369/comring-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "59dca2523056588f180722e9e710b31a", "sha256": "fed356eb00516470eacc4858763e0a34bc79d6f327fda48bf79296e56df2939c" }, "downloads": -1, "filename": "comring-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "59dca2523056588f180722e9e710b31a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6205062, "upload_time": "2019-10-03T02:32:03", "url": "https://files.pythonhosted.org/packages/13/97/f4ac6d1997257850e9298c0321d9b2442c622f566eb35b367655fb51c382/comring-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4343430ad0ff4e8e93e1789759b0a63", "sha256": "39158f0c265be8572abd367ec2b36084bb45da8a88f5517bdd2b8d27b039bbce" }, "downloads": -1, "filename": "comring-0.2.3.tar.gz", "has_sig": false, "md5_digest": "c4343430ad0ff4e8e93e1789759b0a63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5595795, "upload_time": "2019-10-03T02:32:46", "url": "https://files.pythonhosted.org/packages/b7/e8/f9e6616449ea51dbe1d808b838a86ff85e6eabc34364c182efc8c3530422/comring-0.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "59dca2523056588f180722e9e710b31a", "sha256": "fed356eb00516470eacc4858763e0a34bc79d6f327fda48bf79296e56df2939c" }, "downloads": -1, "filename": "comring-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "59dca2523056588f180722e9e710b31a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6205062, "upload_time": "2019-10-03T02:32:03", "url": "https://files.pythonhosted.org/packages/13/97/f4ac6d1997257850e9298c0321d9b2442c622f566eb35b367655fb51c382/comring-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4343430ad0ff4e8e93e1789759b0a63", "sha256": "39158f0c265be8572abd367ec2b36084bb45da8a88f5517bdd2b8d27b039bbce" }, "downloads": -1, "filename": "comring-0.2.3.tar.gz", "has_sig": false, "md5_digest": "c4343430ad0ff4e8e93e1789759b0a63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5595795, "upload_time": "2019-10-03T02:32:46", "url": "https://files.pythonhosted.org/packages/b7/e8/f9e6616449ea51dbe1d808b838a86ff85e6eabc34364c182efc8c3530422/comring-0.2.3.tar.gz" } ] }