Name | gOdoo-cli JSON |
Version |
0.14.0
JSON |
| download |
home_page | None |
Summary | Wrapper around Odoo-Bin with some convinience RPC functions. |
upload_time | 2025-03-10 21:37:52 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | LGPL-3.0-only |
keywords |
devcontainer
godoo
odoo
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# gOdoo Dev Environment


[<img src="https://raw.githubusercontent.com/OpenJKSoftware/gOdoo/main/assets/godoo-main-cli.png" width="1000"/>](image.png)
**gOdoo** is short for **go Odoo**. \
It is a [Vscode Devcontainer](https://code.visualstudio.com/docs/remote/containers) Environment for [Odoo](https://odoo.com/)
with Python CLI `godoo` convenience wrapper around `odoo-bin`.
This repository is the base source for the Python package [godoo-cli](https://pypi.org/project/godoo-cli/) and serves as
an all batteries included development environment.
This is the source repository for `gOdoo`. If you want to use `gOdoo` please refer to [./docker/Dockerfile](./docker/Dockerfile) and modify it to install godoo using Pip.
Made Possible by: [WEMPE Elektronic GmbH](https://wetech.de)
# gOdoo-cli
Python package that provides `godoo` command line interface around `odoo-bin`.
It's build with [Typer](https://github.com/tiangolo/typer) to provide some convenience Wrappers for Odoo development and
Deployment.
Most flags can be configured by Env variables. \
Use `godoo --help` to find out more. HINT: Install tab-completion with `godoo --install-completion`
# Docker
This workspace also contains Docker and Docker-Compose files. \
They are used to provide either easy Odoo instances where the source is pulled according to
[ODOO_MANIFEST.yml](odoo_manifest.yml), or as a all batteries included devcontainer for VScode.
## Requirements
- [Docker Compose](https://github.com/docker/compose)
- [Traefik](https://doc.traefik.io/traefik/) container running with docker provider and "traefik" named docker network.
Example: [Traefik Devproxy](https://github.com/joshkreud/traefik_devproxy)
- SSH Agent running. (check `echo $SSH_AUTH_SOCK`)\
This gets passed trough in the Buildprocess to clone Thirdparty repos (Optional).
## Just wanna have a quick and easy Odoo Instance?
```bash
git clone https://github.com/OpenJKSoftware/gOdoo
cd godoo
. scripts/container_requirements.sh # Check Requirements
docker-compose build
docker-compose up
# wait......
# wait a bit mode ...
# just a little bit longer ..
# There we go.
# Odoo should be reachable on 'https://godoo.docker.localhost' assuming you didn't change .env TRAEFIK_HOST_RULE or COMPOSE_PROJECT_NAME
```
# Devcontainer
## Features
- All batteries included [Devcontainer](https://code.visualstudio.com/docs/remote/containers) with postgres service
Container and local DNS resolvig managed by [Traefik](https://doc.traefik.io/traefik/).
- Easy fully working Odoo instance by `docker-compose up` with https access.
- `godoo` CLI wrapper around Odoo. (Most flags can be configured by Environment Variables and are already preconfigured
in the Containers. See [.env.sample](./.env.sample))
- Cups Container, that provides a CUPS Printserver
- `odoo-bin` is added to PATH and can thus be invoked from every folder.
- Odoo will run in Proxy_Mode behind a Traefik reverse proxy for easy access on
`https://$COMPOSE_PROJECT_NAME.docker.localhost`
- [Odoo Pylint plugin](https://github.com/OCA/pylint-odoo) preconfigured in vscode
- Preinstalled vscode Extensions Highlights:
- [SQL Tools](https://marketplace.visualstudio.com/items?itemName=mtxr.sqltools) with preconfigured connection for
easy Database access in the Sidebar.
- [Docker Extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker) controls
container host.
- [Odoo Snippets](https://marketplace.visualstudio.com/items?itemName=mstuttgart.odoo-snippets)
- [Odoo Developments](https://marketplace.visualstudio.com/items?itemName=scapigliato.vsc-odoo-development) can Grab
Odoo Model information from a running Server
- [Todo Tree](https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree)
## Usage
1. For Docker on windows: Clone the repo into the WSL2 Filesystem for better IO performance
2. Have [Traefik](https://github.com/traefik/traefik) Running on `docker.localhost`
[Example](https://github.com/joshkreud/traefik_devproxy) \
There must be a Docker network called `traefik` that can reach traefik.
3. Open Devcontianer:
- If you have the Devcontainer CLI: `devcontainer open .`
- If not open the workspace in Local Vscode. In the Command pallete search for `Reopen in container`
4. From **within the container** start Odoo using one of the following commands:
- You can enable godoo tab-completion by `godoo --install-completion`
- `make` -> Loads Odoo + Workspace Addons
- `make bare` -> Loads Odoo with ony `web` installed.
- `make kill` -> Search for `odoo-bin` processes and kill them
- `make reset` -> Drops DB, deletes config file and datafolder
- The full init script is available via "`godoo`". (See --help for Options)
5. Open Odoo `https://$COMPOSE_PROJECT_NAME.docker.localhost`\
For example `COMPOSE_PROJECT_NAME=godoo` --> [https://godoo.docker.localhost](https://godoo.docker.localhost)
6. Login with `admin:admin`
7. Profit!
### Access to Odoo and Thirdparty addon Source
You can access the Odoo source by opening the VsCode workspace [full.code-workspace](full.code-workspace) from within
the Container. This will open a [Multi-Root Workspace](https://code.visualstudio.com/docs/editor/multi-root-workspaces).
Really waiting for https://github.com/microsoft/vscode-remote-release/issues/3665 here.
## Reset Devcontainer Data
When you screwed up so bad its time to just start Over godoo has you covered:
### Automatic Reset
There are 3 Options to reset the Dev Env.
1. From **Outside** the Container run `make reset` in the project root to delete docker volumes and restart the
container. (Vscode will prompt to reconnect if still open)
2. From **Outside** the Container run `make reset-hard` in the project root to force rebuild the main Odoo container and
then do the same as `make reset`
3. From **Inside** the Container run `make reset` to drop the DB and delete filestore and config file, which is way
quicker than the other options.
### Manual Reset
1. Close vscode
2. Remove `app` and `db` container from docker.
3. Remove volumes: `db, odoo_thirdparty, odoo_web, vscode_extensions`
4. Restart Devcontainer
## Python Debugging
### VsCode Debugging
Debugging doesn't reliably work with
[Odoo Multiprocess](https://www.odoo.com/documentation/14.0/developer/misc/other/cmdline.html#multiprocessing) mode
enabled. \
The container ships with a Vscode Debug profile, that sets `--workers 0` to allow for Debugging Breakpoints. See [.vscode/launch.json](./.vscode/launch.json)
### Interactive Shell
Use `godoo shell` to enter an interactive shell on the Database.
# 🚀 CI/CD Pipeline
gOdoo uses GitHub Actions workflows for quality assurance and release management. The complete workflow documentation is available in the [.github/workflows/README.md](./.github/workflows/README.md) file.
## ✅ Quality Checks
Every pull request and push to main triggers automated quality checks:
- Linting and formatting with the latest Python tools
- Test execution with full coverage reports
- Docker image builds for verification
## 🔖 Version Management
The project uses a structured version management process:
```mermaid
flowchart TD
A[Manual Trigger] -->|version-bump.yml| B[Create Release Branch]
B --> C[Bump Version in __about__.py]
C --> D[Create PR]
D --> E[Quality Checks]
E --> F[PR Review]
F -->|Merged| G[Release Creation]
G --> H[PyPI Publication]
```
## 📦 Release Process
1. A maintainer triggers a version bump (patch/minor/major/pre-release)
2. A pull request is automatically created with version changes
3. After CI passes and approval, the PR is merged
4. An automated process creates the GitHub release and publishes to PyPI
# Odoo Modules
## Third Party Modules (manifest.yml)
The `godoo` bootstrap function, will download some modules using git. \
Which Repos to download is specified in `ODOO_MANIFEST.yml` ([Default](odoo_manifest.yml)) \
Not all of the cloned addons are automatically installed. \
Install them via the Apps Page in Odoo using `godoo rpc modules install` or using `odoo-bin`.\
Modules downloaded on the Odoo Marketplace can be dropped as a `.zip` archive in [./thirdparty](./thirdparty)
Raw data
{
"_id": null,
"home_page": null,
"name": "gOdoo-cli",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "devcontainer, godoo, odoo",
"author": null,
"author_email": "Joshua Kreuder <Joshua_Kreuder@outlook.com>",
"download_url": "https://files.pythonhosted.org/packages/d3/73/5ccb8046c846ffdd46e4f13c734adf096c0f5b497867577e91fbc6b62f6a/godoo_cli-0.14.0.tar.gz",
"platform": null,
"description": "# gOdoo Dev Environment\n\n\n\n\n[<img src=\"https://raw.githubusercontent.com/OpenJKSoftware/gOdoo/main/assets/godoo-main-cli.png\" width=\"1000\"/>](image.png)\n\n**gOdoo** is short for **go Odoo**. \\\nIt is a [Vscode Devcontainer](https://code.visualstudio.com/docs/remote/containers) Environment for [Odoo](https://odoo.com/)\nwith Python CLI `godoo` convenience wrapper around `odoo-bin`.\n\nThis repository is the base source for the Python package [godoo-cli](https://pypi.org/project/godoo-cli/) and serves as\nan all batteries included development environment.\n\nThis is the source repository for `gOdoo`. If you want to use `gOdoo` please refer to [./docker/Dockerfile](./docker/Dockerfile) and modify it to install godoo using Pip.\n\nMade Possible by: [WEMPE Elektronic GmbH](https://wetech.de)\n\n# gOdoo-cli\n\nPython package that provides `godoo` command line interface around `odoo-bin`.\n\nIt's build with [Typer](https://github.com/tiangolo/typer) to provide some convenience Wrappers for Odoo development and\nDeployment.\n\nMost flags can be configured by Env variables. \\\nUse `godoo --help` to find out more. HINT: Install tab-completion with `godoo --install-completion`\n\n# Docker\n\nThis workspace also contains Docker and Docker-Compose files. \\\n\nThey are used to provide either easy Odoo instances where the source is pulled according to\n[ODOO_MANIFEST.yml](odoo_manifest.yml), or as a all batteries included devcontainer for VScode.\n\n## Requirements\n\n- [Docker Compose](https://github.com/docker/compose)\n- [Traefik](https://doc.traefik.io/traefik/) container running with docker provider and \"traefik\" named docker network.\n Example: [Traefik Devproxy](https://github.com/joshkreud/traefik_devproxy)\n- SSH Agent running. (check `echo $SSH_AUTH_SOCK`)\\\n This gets passed trough in the Buildprocess to clone Thirdparty repos (Optional).\n\n## Just wanna have a quick and easy Odoo Instance?\n\n```bash\ngit clone https://github.com/OpenJKSoftware/gOdoo\ncd godoo\n. scripts/container_requirements.sh # Check Requirements\ndocker-compose build\ndocker-compose up\n# wait......\n# wait a bit mode ...\n# just a little bit longer ..\n# There we go.\n# Odoo should be reachable on 'https://godoo.docker.localhost' assuming you didn't change .env TRAEFIK_HOST_RULE or COMPOSE_PROJECT_NAME\n```\n\n# Devcontainer\n\n## Features\n\n- All batteries included [Devcontainer](https://code.visualstudio.com/docs/remote/containers) with postgres service\n Container and local DNS resolvig managed by [Traefik](https://doc.traefik.io/traefik/).\n- Easy fully working Odoo instance by `docker-compose up` with https access.\n- `godoo` CLI wrapper around Odoo. (Most flags can be configured by Environment Variables and are already preconfigured\n in the Containers. See [.env.sample](./.env.sample))\n- Cups Container, that provides a CUPS Printserver\n- `odoo-bin` is added to PATH and can thus be invoked from every folder.\n- Odoo will run in Proxy_Mode behind a Traefik reverse proxy for easy access on\n `https://$COMPOSE_PROJECT_NAME.docker.localhost`\n- [Odoo Pylint plugin](https://github.com/OCA/pylint-odoo) preconfigured in vscode\n- Preinstalled vscode Extensions Highlights:\n - [SQL Tools](https://marketplace.visualstudio.com/items?itemName=mtxr.sqltools) with preconfigured connection for\n easy Database access in the Sidebar.\n - [Docker Extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker) controls\n container host.\n - [Odoo Snippets](https://marketplace.visualstudio.com/items?itemName=mstuttgart.odoo-snippets)\n - [Odoo Developments](https://marketplace.visualstudio.com/items?itemName=scapigliato.vsc-odoo-development) can Grab\n Odoo Model information from a running Server\n - [Todo Tree](https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree)\n\n## Usage\n\n1. For Docker on windows: Clone the repo into the WSL2 Filesystem for better IO performance\n2. Have [Traefik](https://github.com/traefik/traefik) Running on `docker.localhost`\n [Example](https://github.com/joshkreud/traefik_devproxy) \\\n There must be a Docker network called `traefik` that can reach traefik.\n3. Open Devcontianer:\n - If you have the Devcontainer CLI: `devcontainer open .`\n - If not open the workspace in Local Vscode. In the Command pallete search for `Reopen in container`\n4. From **within the container** start Odoo using one of the following commands:\n - You can enable godoo tab-completion by `godoo --install-completion`\n - `make` -> Loads Odoo + Workspace Addons\n - `make bare` -> Loads Odoo with ony `web` installed.\n - `make kill` -> Search for `odoo-bin` processes and kill them\n - `make reset` -> Drops DB, deletes config file and datafolder\n - The full init script is available via \"`godoo`\". (See --help for Options)\n5. Open Odoo `https://$COMPOSE_PROJECT_NAME.docker.localhost`\\\n For example `COMPOSE_PROJECT_NAME=godoo` --> [https://godoo.docker.localhost](https://godoo.docker.localhost)\n6. Login with `admin:admin`\n7. Profit!\n\n### Access to Odoo and Thirdparty addon Source\n\nYou can access the Odoo source by opening the VsCode workspace [full.code-workspace](full.code-workspace) from within\nthe Container. This will open a [Multi-Root Workspace](https://code.visualstudio.com/docs/editor/multi-root-workspaces).\nReally waiting for https://github.com/microsoft/vscode-remote-release/issues/3665 here.\n\n## Reset Devcontainer Data\n\nWhen you screwed up so bad its time to just start Over godoo has you covered:\n\n### Automatic Reset\n\nThere are 3 Options to reset the Dev Env.\n\n1. From **Outside** the Container run `make reset` in the project root to delete docker volumes and restart the\n container. (Vscode will prompt to reconnect if still open)\n2. From **Outside** the Container run `make reset-hard` in the project root to force rebuild the main Odoo container and\n then do the same as `make reset`\n3. From **Inside** the Container run `make reset` to drop the DB and delete filestore and config file, which is way\n quicker than the other options.\n\n### Manual Reset\n\n1. Close vscode\n2. Remove `app` and `db` container from docker.\n3. Remove volumes: `db, odoo_thirdparty, odoo_web, vscode_extensions`\n4. Restart Devcontainer\n\n## Python Debugging\n\n### VsCode Debugging\n\nDebugging doesn't reliably work with\n[Odoo Multiprocess](https://www.odoo.com/documentation/14.0/developer/misc/other/cmdline.html#multiprocessing) mode\nenabled. \\\nThe container ships with a Vscode Debug profile, that sets `--workers 0` to allow for Debugging Breakpoints. See [.vscode/launch.json](./.vscode/launch.json)\n\n### Interactive Shell\n\nUse `godoo shell` to enter an interactive shell on the Database.\n\n# \ud83d\ude80 CI/CD Pipeline\n\ngOdoo uses GitHub Actions workflows for quality assurance and release management. The complete workflow documentation is available in the [.github/workflows/README.md](./.github/workflows/README.md) file.\n\n## \u2705 Quality Checks\n\nEvery pull request and push to main triggers automated quality checks:\n\n- Linting and formatting with the latest Python tools\n- Test execution with full coverage reports\n- Docker image builds for verification\n\n## \ud83d\udd16 Version Management\n\nThe project uses a structured version management process:\n\n```mermaid\nflowchart TD\n A[Manual Trigger] -->|version-bump.yml| B[Create Release Branch]\n B --> C[Bump Version in __about__.py]\n C --> D[Create PR]\n D --> E[Quality Checks]\n E --> F[PR Review]\n F -->|Merged| G[Release Creation]\n G --> H[PyPI Publication]\n```\n\n## \ud83d\udce6 Release Process\n\n1. A maintainer triggers a version bump (patch/minor/major/pre-release)\n2. A pull request is automatically created with version changes\n3. After CI passes and approval, the PR is merged\n4. An automated process creates the GitHub release and publishes to PyPI\n\n# Odoo Modules\n\n## Third Party Modules (manifest.yml)\n\nThe `godoo` bootstrap function, will download some modules using git. \\\nWhich Repos to download is specified in `ODOO_MANIFEST.yml` ([Default](odoo_manifest.yml)) \\\nNot all of the cloned addons are automatically installed. \\\nInstall them via the Apps Page in Odoo using `godoo rpc modules install` or using `odoo-bin`.\\\nModules downloaded on the Odoo Marketplace can be dropped as a `.zip` archive in [./thirdparty](./thirdparty)\n",
"bugtrack_url": null,
"license": "LGPL-3.0-only",
"summary": "Wrapper around Odoo-Bin with some convinience RPC functions.",
"version": "0.14.0",
"project_urls": {
"repository": "https://github.com/OpenJKSoftware/gOdoo"
},
"split_keywords": [
"devcontainer",
" godoo",
" odoo"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a48825db9242264910c96589d81566c69be4de02876422a5ef326d7659af11d9",
"md5": "dfc92d59ddec00e56ea752d0a84f77bb",
"sha256": "99dea1130bdaf41d5fff2240b677d9bdaef6f1f03285f658f2c0d475717f97be"
},
"downloads": -1,
"filename": "godoo_cli-0.14.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dfc92d59ddec00e56ea752d0a84f77bb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 70149,
"upload_time": "2025-03-10T21:37:51",
"upload_time_iso_8601": "2025-03-10T21:37:51.176419Z",
"url": "https://files.pythonhosted.org/packages/a4/88/25db9242264910c96589d81566c69be4de02876422a5ef326d7659af11d9/godoo_cli-0.14.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d3735ccb8046c846ffdd46e4f13c734adf096c0f5b497867577e91fbc6b62f6a",
"md5": "948018c56a49f711c108f24ac944c684",
"sha256": "41a2a2689ceceffad00871556c9d473745b07bea3e5354dd047b3beb817af681"
},
"downloads": -1,
"filename": "godoo_cli-0.14.0.tar.gz",
"has_sig": false,
"md5_digest": "948018c56a49f711c108f24ac944c684",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 214385,
"upload_time": "2025-03-10T21:37:52",
"upload_time_iso_8601": "2025-03-10T21:37:52.474989Z",
"url": "https://files.pythonhosted.org/packages/d3/73/5ccb8046c846ffdd46e4f13c734adf096c0f5b497867577e91fbc6b62f6a/godoo_cli-0.14.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-03-10 21:37:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "OpenJKSoftware",
"github_project": "gOdoo",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "godoo-cli"
}