flex-docker


Nameflex-docker JSON
Version 0.2.2 PyPI version JSON
download
home_pagehttps://github.com/a42ss/flex-docker
SummaryFlex docker is a utility wrapper around docker and docker-compose commands providing defaults values for projects
upload_time2023-12-23 20:16:57
maintainer
docs_urlNone
authorGeorge Babarus
requires_python>=3.8,<4.0
licenseMIT
keywords docker-compose docker flex-cli flex-docker flex-docker-compose
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Introduction

[![PyPI version](https://img.shields.io/pypi/v/flex-cli.svg)](https://pypi.org/project/flex-cli)
[![Build Status](https://github.com/a42ss/flex-cli/actions/workflows/python-package.yml/badge.svg)](https://github.com/a42ss/flex-cli/actions/workflows/python-package.yml)
[![Coverage badge](https://raw.githubusercontent.com/a42ss/flex-cli/python-coverage-comment-action-data/badge.svg)](https://github.com/a42ss/flex-cli/tree/python-coverage-comment-action-data)
[![CodeQL](https://github.com/a42ss/flex-cli/actions/workflows/codeql-analysis.yml/badge.svg?branch=main)](https://github.com/a42ss/flex-cli/actions/workflows/codeql-analysis.yml)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/6480/badge)](https://bestpractices.coreinfrastructure.org/projects/6480)
[![Docs badge](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://flex-cli.readthedocs.io/en/latest)
[![Chat badge](https://img.shields.io/badge/chat-IRC-brightgreen.svg)](https://github.com/a42ss/flex-cli/discussions)
[![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://flex-cli.readthedocs.io/en/latest)

   

Local development productivity tools meant to smooth and ease developers day to day work. 
It is meant to be cross-platform but for now is tested using MacOs and Ubuntu

## This are few examples

* unified command line interfaces for multiple cli tools
* interactive command line mode

  - this act as an interactive wrapper on top of existing cli tools
  - also allow extending the existing cli tools with auto-completion, input enhanced wizard or description
  - allow switching between command namespaces in the same terminal

* Implement custom CLI tools using Python, fully integrate with all LCLI tool features:
  - just write some code class or function and configure them to be wired in application

* use Fire to auto document Python objects, so all you should do is to focus on business logic
   
# Features

## Fire mode

In fire mode the application allow user to configure a hierarchy of objects that fit its needs for various project.
The user can navigate and execute the hierarchy using Fire library by Google. 
"Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object."
https://github.com/google/python-fire

## Interactive mode

Most often during the development process developers are using various tools for various projects.
The interactive mode purpose is to improve productivity by offering auto-completion details on the spot.
This is implemented on top of python cmd package: https://docs.python.org/3/library/cmd.html

# Getting Started

## Installation process

Install from source

```bash
# Using invoke
invoke install
#from project root directory
./install
#or 
python3 -m pip install -r requirements.txt
python3 -m pip install . --user
```

## Software dependencies

This is a Python package available as MIT License and is depending on following packages:
 
* fire https://github.com/google/python-fire/releases
* pinject https://github.com/google/pinject/releases
* PyYAML
* prompt_toolkit
* pyfiglet
* blessings
* tk
* appJar
* jsonschema

## Latest releases

- V-0.2.2 - First released version. 

## API references

# Build and Test

## Build

```bash
# Using invoke
invoke build
```

## Test

```bash
# Using invoke
invoke test
invoke coverage
# Using pytest
py.test
pytest --cov=src/lcli/ .
```

# Use cases

[<img src="https://img.youtube.com/vi/L9orYXE1nlU/hqdefault.jpg" width="50%">](https://youtu.be/L9orYXE1nlU)

# Usage


## Configuration

# Author

[George Babarus](https://github.com/georgebabarus)

# Contribute

Feel free to contribute to this project and make developer life essayer:
- by submitting new ideas as a github issue [here](https://github.com/georgebabarus/lcli/issues/new)
- by making pull request with specific bug fixes
- for new features or architectural change please contact [George Babarus](https://github.com/georgebabarus) to avoid double work on any way.

# Useful links

* https://mypy.readthedocs.io/en/latest/generics.html#generics
* https://code-maven.com/interactive-shell-with-cmd-in-python
* https://www.journaldev.com/16140/python-system-command-os-subprocess-call
* https://stackoverflow.com/questions/3262569/validating-a-yaml-document-in-python
* https://github.com/oclif/oclif#-cli-types
* https://medium.com/the-z/getting-started-with-oclif-by-creating-a-todo-cli-app-b3a2649adbcf
* https://opensource.com/article/17/5/4-practical-python-libraries


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/a42ss/flex-docker",
    "name": "flex-docker",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "docker-compose,docker,flex-cli,flex-docker,flex-docker-compose",
    "author": "George Babarus",
    "author_email": "george.babarus@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/89/3c/e86fdbbde16d7273ba98643e6ddb03bdf86d4c54e916ee5d02186cbafb3d/flex_docker-0.2.2.tar.gz",
    "platform": null,
    "description": "# Introduction\n\n[![PyPI version](https://img.shields.io/pypi/v/flex-cli.svg)](https://pypi.org/project/flex-cli)\n[![Build Status](https://github.com/a42ss/flex-cli/actions/workflows/python-package.yml/badge.svg)](https://github.com/a42ss/flex-cli/actions/workflows/python-package.yml)\n[![Coverage badge](https://raw.githubusercontent.com/a42ss/flex-cli/python-coverage-comment-action-data/badge.svg)](https://github.com/a42ss/flex-cli/tree/python-coverage-comment-action-data)\n[![CodeQL](https://github.com/a42ss/flex-cli/actions/workflows/codeql-analysis.yml/badge.svg?branch=main)](https://github.com/a42ss/flex-cli/actions/workflows/codeql-analysis.yml)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/6480/badge)](https://bestpractices.coreinfrastructure.org/projects/6480)\n[![Docs badge](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://flex-cli.readthedocs.io/en/latest)\n[![Chat badge](https://img.shields.io/badge/chat-IRC-brightgreen.svg)](https://github.com/a42ss/flex-cli/discussions)\n[![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://flex-cli.readthedocs.io/en/latest)\n\n   \n\nLocal development productivity tools meant to smooth and ease developers day to day work. \nIt is meant to be cross-platform but for now is tested using MacOs and Ubuntu\n\n## This are few examples\n\n* unified command line interfaces for multiple cli tools\n* interactive command line mode\n\n  - this act as an interactive wrapper on top of existing cli tools\n  - also allow extending the existing cli tools with auto-completion, input enhanced wizard or description\n  - allow switching between command namespaces in the same terminal\n\n* Implement custom CLI tools using Python, fully integrate with all LCLI tool features:\n  - just write some code class or function and configure them to be wired in application\n\n* use Fire to auto document Python objects, so all you should do is to focus on business logic\n   \n# Features\n\n## Fire mode\n\nIn fire mode the application allow user to configure a hierarchy of objects that fit its needs for various project.\nThe user can navigate and execute the hierarchy using Fire library by Google. \n\"Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.\"\nhttps://github.com/google/python-fire\n\n## Interactive mode\n\nMost often during the development process developers are using various tools for various projects.\nThe interactive mode purpose is to improve productivity by offering auto-completion details on the spot.\nThis is implemented on top of python cmd package: https://docs.python.org/3/library/cmd.html\n\n# Getting Started\n\n## Installation process\n\nInstall from source\n\n```bash\n# Using invoke\ninvoke install\n#from project root directory\n./install\n#or \npython3 -m pip install -r requirements.txt\npython3 -m pip install . --user\n```\n\n## Software dependencies\n\nThis is a Python package available as MIT License and is depending on following packages:\n \n* fire https://github.com/google/python-fire/releases\n* pinject https://github.com/google/pinject/releases\n* PyYAML\n* prompt_toolkit\n* pyfiglet\n* blessings\n* tk\n* appJar\n* jsonschema\n\n## Latest releases\n\n- V-0.2.2 - First released version. \n\n## API references\n\n# Build and Test\n\n## Build\n\n```bash\n# Using invoke\ninvoke build\n```\n\n## Test\n\n```bash\n# Using invoke\ninvoke test\ninvoke coverage\n# Using pytest\npy.test\npytest --cov=src/lcli/ .\n```\n\n# Use cases\n\n[<img src=\"https://img.youtube.com/vi/L9orYXE1nlU/hqdefault.jpg\" width=\"50%\">](https://youtu.be/L9orYXE1nlU)\n\n# Usage\n\n\n## Configuration\n\n# Author\n\n[George Babarus](https://github.com/georgebabarus)\n\n# Contribute\n\nFeel free to contribute to this project and make developer life essayer:\n- by submitting new ideas as a github issue [here](https://github.com/georgebabarus/lcli/issues/new)\n- by making pull request with specific bug fixes\n- for new features or architectural change please contact [George Babarus](https://github.com/georgebabarus) to avoid double work on any way.\n\n# Useful links\n\n* https://mypy.readthedocs.io/en/latest/generics.html#generics\n* https://code-maven.com/interactive-shell-with-cmd-in-python\n* https://www.journaldev.com/16140/python-system-command-os-subprocess-call\n* https://stackoverflow.com/questions/3262569/validating-a-yaml-document-in-python\n* https://github.com/oclif/oclif#-cli-types\n* https://medium.com/the-z/getting-started-with-oclif-by-creating-a-todo-cli-app-b3a2649adbcf\n* https://opensource.com/article/17/5/4-practical-python-libraries\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Flex docker is a utility wrapper around docker and docker-compose commands providing defaults values for projects",
    "version": "0.2.2",
    "project_urls": {
        "Homepage": "https://github.com/a42ss/flex-docker",
        "Repository": "https://github.com/a42ss/flex-docker"
    },
    "split_keywords": [
        "docker-compose",
        "docker",
        "flex-cli",
        "flex-docker",
        "flex-docker-compose"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3ace9efaeed8dc4ec28654ab1a6d33bd0b8fd41f7b08a49f500d92b784f1b950",
                "md5": "a3186a4595f449b3d73b788425371efc",
                "sha256": "88bb3f6ac1a3460beff3f9dffdedab53dae5b9fc8f31ca1858b3e2cb2520c7c6"
            },
            "downloads": -1,
            "filename": "flex_docker-0.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a3186a4595f449b3d73b788425371efc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 6172,
            "upload_time": "2023-12-23T20:16:55",
            "upload_time_iso_8601": "2023-12-23T20:16:55.246469Z",
            "url": "https://files.pythonhosted.org/packages/3a/ce/9efaeed8dc4ec28654ab1a6d33bd0b8fd41f7b08a49f500d92b784f1b950/flex_docker-0.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "893ce86fdbbde16d7273ba98643e6ddb03bdf86d4c54e916ee5d02186cbafb3d",
                "md5": "d7ed08f6e4c089685cb50a3787502fa7",
                "sha256": "2a4306fb826b9792af4065e24883e666a79917afd99e7437807c6289a09ca8b0"
            },
            "downloads": -1,
            "filename": "flex_docker-0.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "d7ed08f6e4c089685cb50a3787502fa7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 4987,
            "upload_time": "2023-12-23T20:16:57",
            "upload_time_iso_8601": "2023-12-23T20:16:57.234990Z",
            "url": "https://files.pythonhosted.org/packages/89/3c/e86fdbbde16d7273ba98643e6ddb03bdf86d4c54e916ee5d02186cbafb3d/flex_docker-0.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-23 20:16:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "a42ss",
    "github_project": "flex-docker",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "flex-docker"
}
        
Elapsed time: 0.32700s