Skip to main content

OdooFlow CLI - streamline your Odoo development workflow

Project description

๐ŸŒ€ Odooflow CLI

Odooflow CLI is a command-line interface tool designed to streamline the development workflow for Odoo projects. It helps clone Odoo modules (and their dependencies), handles GitLab lookups, and provides options for deep recursive cloning.

๐Ÿš€ Features

  • Clone an Odoo module by Git URL
  • Recursively resolve and clone all dependencies
  • Smart skip of Odoo core modules
  • Branch selection for cloning
  • Helpful and colorful CLI output
  • Built using Typer and Python 3.9+

๐Ÿ“ฆ Installation

git clone https://github.com/YOUR_USERNAME/odooflow-cli.git
cd odooflow-cli
pip install .

Or install directly from source for development:

pip install -e .

๐Ÿ› ๏ธ Usage

Once installed, you can use the CLI by running:

odooflow --help

Available Commands:

  • init: Initialize the Odoo module environment file and sync metadata with manifest
  • sync-env: Sync the environment file from manifest
  • config: Update or show OdooFlow CLI configuration
  • clone: Clone a module and its dependencies from a git repository
  • remote: Manage remote connections for Git and deployment server
  • ssh-keygen: Generate a secure SSH key pair
  • push: Push the current Git branch and upload the project to the test server

Clone Command Options:

Flag Description
--url Full HTTP URL of the module repo
--branch (Optional) Git branch to clone from
--deep Recursively clone all dependencies

๐Ÿ” Examples:

Clone a single module:

odooflow clone --url https://gitlab.com/mygroup/my_odoo_module.git

Clone with specific branch:

odooflow clone --url https://gitlab.com/mygroup/my_odoo_module.git --branch 17.0

Clone deeply with dependencies:

odooflow clone --url https://gitlab.com/mygroup/my_odoo_module.git --deep

๐Ÿ“ Project Structure

odooflow/
โ”œโ”€โ”€ odooflow/
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ cli.py
โ”‚   โ”œโ”€โ”€ config_manager.py
โ”‚   โ”œโ”€โ”€ commands/
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ clone_module.py
โ”‚   โ”‚   โ”œโ”€โ”€ config.py
โ”‚   โ”‚   โ”œโ”€โ”€ init_module_env.py
โ”‚   โ”‚   โ”œโ”€โ”€ keygen.py
โ”‚   โ”‚   โ”œโ”€โ”€ push.py
โ”‚   โ”‚   โ”œโ”€โ”€ remote.py
โ”‚   โ”‚   โ””โ”€โ”€ sync_env.py
โ”‚   โ””โ”€โ”€ utils/
โ”‚       โ”œโ”€โ”€ env.py
โ”‚       โ””โ”€โ”€ ssh.py
โ”œโ”€โ”€ tests/
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ setup.py
โ””โ”€โ”€ LICENSE

๐Ÿค Contributing

Contributions are welcome! Please open an issue or submit a pull request with any improvements, bug fixes, or new features.

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/your-feature)
  3. Commit your changes (git commit -am 'Add new feature')
  4. Push to the branch (git push origin feature/your-feature)
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License. See the LICENSE file for details.


WISH-LIST:

Move this CLI into fully-integrated Odoo environment, using Odoo, users can create issues, add the amount of details, then sync these issues with Odooflow.

We can do integration with any code agent to help developers to achieve these issues

same thing for pipelines, I think it will be amazing if developers can build pipelines using Odoo, then apply the same pipelines using Odooflow.

I have many things in my head, I will back soon to this project.

๐Ÿ‘จโ€๐Ÿ’ป Author

Made with โค๏ธ by Mohammad A. Hamdan


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

odooflow_cli-0.1.0.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

odooflow_cli-0.1.0-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

Details for the file odooflow_cli-0.1.0.tar.gz.

File metadata

  • Download URL: odooflow_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for odooflow_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2a7942deddd97df835fc92b46deae09c6824f543fd3922b1cdb11da96648f505
MD5 0b061d37ed679d615cd29adeb3d18385
BLAKE2b-256 23b829fc2f56c42b7ef50f8508ff9be3f6d41ddd19b8883d15c3b6343170bce9

See more details on using hashes here.

File details

Details for the file odooflow_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: odooflow_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 25.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for odooflow_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a569b2241c6fbe86d61ebfa2255824a4f9ad287a00c733d8d28bb61f80eed4e3
MD5 e313180d4c01adf7c4ffa25a8de17e42
BLAKE2b-256 7074348ff37bd55bc0a46536544749b44fda09858c302a54ed05bdcb8671f75a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page