poetry-plugin-deps-juice


Namepoetry-plugin-deps-juice JSON
Version 0.0.3 PyPI version JSON
download
home_pageNone
SummaryPoetry plugin for simple mix dependencies from toml option and wrap poetry 'build' command.
upload_time2024-04-28 12:47:45
maintainerNone
docs_urlNone
authorBlackCatDevel0per
requires_python<4.0,>=3.8
licenseApache 2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## Poetry Dependency Juice Plugin

This plugin simplifies the process of managing dependencies in your Poetry projects by allowing you to mix dependencies from specified groups and wrap the `poetry build` command into `poetry jbuild`.
It provides an easy way to create custom mixes of dependencies and execute the build command with those mixes.

See difference:

#### Poetry build:
```bash
poetry build && pkginfo -f requires_dist dist/*.whl
```

#### output:
```plaintext
Building poetry-plugin-deps-juice (0.0.2)
  - Building sdist
  - Built poetry_plugin_deps_juice-0.0.2.tar.gz
  - Building wheel
  - Built poetry_plugin_deps_juice-0.0.2-py3-none-any.whl
requires_dist: ['poetry (>=1.8.0,<2.0.0)']
```

#### Juice build:
```bash
poetry jbuild && pkginfo -f requires_dist dist/*.whl
```

#### output:
```plaintext
Mixing juice..
base -> poetry
        {'poetry-core': '^1.7.0', 'wheel': '^0.42.0'}
setup -> poetry
        {'build': '^1.0.3', 'setuptools': '^69.0.3'}
Building poetry-plugin-deps-juice (0.0.2)
  - Building sdist
  - Built poetry_plugin_deps_juice-0.0.2.tar.gz
  - Building wheel
  - Built poetry_plugin_deps_juice-0.0.2-py3-none-any.whl
requires_dist: ['build (>=1.0.3,<2.0.0)', 'poetry (>=1.8.0,<2.0.0)', 'poetry-core (>=1.7.0,<2.0.0)', 'setuptools (>=69.0.3,<70.0.0)', 'wheel (>=0.42.0,<0.43.0)']
```

### Usage

1. **Installation**:

   Install the plugin using Poetry:

   ```bash
   pip install poetry-plugin-deps-juice
   ```

   or

   ```bash
   pip install --user poetry-plugin-deps-juice
   ```

   or at least

   ```bash
   poetry self add poetry-plugin-deps-juice
   ```

2. **Define Dependency Mix**:

   Add your dependency mix to the `pyproject.toml` file under the `[tool.poetry-plugin-deps-juice]` section:

   ```toml
   [tool.poetry-plugin-deps-juice]
   "fancy" = [
        "base",
        "setup",
   ]
   ```

   Here, `poetry` is the custom mix name, and `base` and `setup` are the groups of dependencies to be mixed.

   To mix into default group `[tool.poetry.dependencies]` use:

   ```toml
   [tool.poetry-plugin-deps-juice]
   "poetry" = [
        "base",
        "setup",
   ]
   ```

3. **Execute Juice Command**:

   Now you can use the defined mix with Poetry:

   ```bash
   poetry jbuild
   ```

   This command will mix dependencies from the specified groups and execute the `poetry build` command.

   This is easier than manually merging all dependencies into one group or adding them manually to the `[tool.poetry.dependencies]` option. When installing the built package using pip, only dependencies listed in the `[tool.poetry.dependencies]` option are installed (in current time). This plugin simplifies the process by allowing you to create mixes on-the-fly for the final package.

4. **List Available Dependency Mixes**:

   To get a list of available mixes along with their corresponding groups, run:

   ```bash
   poetry juice-list
   ```

   This will display a list of mixes and their associated groups:

   ```plaintext
   "poetry" <-
           "base"
           "setup"
   ```

### Contributing

Feel free to contribute to this plugin by reporting issues, suggesting features, or submitting pull requests on [GitHub](https://github.com/BlackCatDevel0per/poetry-plugin-deps-juice).

### License

This plugin is licensed under the Apache 2. License. See the [LICENSE](https://www.apache.org/licenses/LICENSE-2.0) file for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "poetry-plugin-deps-juice",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "BlackCatDevel0per",
    "author_email": "bcdev@mail.ru",
    "download_url": "https://files.pythonhosted.org/packages/b0/99/a1f46b7953c053476df8bd03f7fa72edbf3094af4eff4942e68aa0fda684/poetry_plugin_deps_juice-0.0.3.tar.gz",
    "platform": null,
    "description": "## Poetry Dependency Juice Plugin\n\nThis plugin simplifies the process of managing dependencies in your Poetry projects by allowing you to mix dependencies from specified groups and wrap the `poetry build` command into `poetry jbuild`.\nIt provides an easy way to create custom mixes of dependencies and execute the build command with those mixes.\n\nSee difference:\n\n#### Poetry build:\n```bash\npoetry build && pkginfo -f requires_dist dist/*.whl\n```\n\n#### output:\n```plaintext\nBuilding poetry-plugin-deps-juice (0.0.2)\n  - Building sdist\n  - Built poetry_plugin_deps_juice-0.0.2.tar.gz\n  - Building wheel\n  - Built poetry_plugin_deps_juice-0.0.2-py3-none-any.whl\nrequires_dist: ['poetry (>=1.8.0,<2.0.0)']\n```\n\n#### Juice build:\n```bash\npoetry jbuild && pkginfo -f requires_dist dist/*.whl\n```\n\n#### output:\n```plaintext\nMixing juice..\nbase -> poetry\n        {'poetry-core': '^1.7.0', 'wheel': '^0.42.0'}\nsetup -> poetry\n        {'build': '^1.0.3', 'setuptools': '^69.0.3'}\nBuilding poetry-plugin-deps-juice (0.0.2)\n  - Building sdist\n  - Built poetry_plugin_deps_juice-0.0.2.tar.gz\n  - Building wheel\n  - Built poetry_plugin_deps_juice-0.0.2-py3-none-any.whl\nrequires_dist: ['build (>=1.0.3,<2.0.0)', 'poetry (>=1.8.0,<2.0.0)', 'poetry-core (>=1.7.0,<2.0.0)', 'setuptools (>=69.0.3,<70.0.0)', 'wheel (>=0.42.0,<0.43.0)']\n```\n\n### Usage\n\n1. **Installation**:\n\n   Install the plugin using Poetry:\n\n   ```bash\n   pip install poetry-plugin-deps-juice\n   ```\n\n   or\n\n   ```bash\n   pip install --user poetry-plugin-deps-juice\n   ```\n\n   or at least\n\n   ```bash\n   poetry self add poetry-plugin-deps-juice\n   ```\n\n2. **Define Dependency Mix**:\n\n   Add your dependency mix to the `pyproject.toml` file under the `[tool.poetry-plugin-deps-juice]` section:\n\n   ```toml\n   [tool.poetry-plugin-deps-juice]\n   \"fancy\" = [\n        \"base\",\n        \"setup\",\n   ]\n   ```\n\n   Here, `poetry` is the custom mix name, and `base` and `setup` are the groups of dependencies to be mixed.\n\n   To mix into default group `[tool.poetry.dependencies]` use:\n\n   ```toml\n   [tool.poetry-plugin-deps-juice]\n   \"poetry\" = [\n        \"base\",\n        \"setup\",\n   ]\n   ```\n\n3. **Execute Juice Command**:\n\n   Now you can use the defined mix with Poetry:\n\n   ```bash\n   poetry jbuild\n   ```\n\n   This command will mix dependencies from the specified groups and execute the `poetry build` command.\n\n   This is easier than manually merging all dependencies into one group or adding them manually to the `[tool.poetry.dependencies]` option. When installing the built package using pip, only dependencies listed in the `[tool.poetry.dependencies]` option are installed (in current time). This plugin simplifies the process by allowing you to create mixes on-the-fly for the final package.\n\n4. **List Available Dependency Mixes**:\n\n   To get a list of available mixes along with their corresponding groups, run:\n\n   ```bash\n   poetry juice-list\n   ```\n\n   This will display a list of mixes and their associated groups:\n\n   ```plaintext\n   \"poetry\" <-\n           \"base\"\n           \"setup\"\n   ```\n\n### Contributing\n\nFeel free to contribute to this plugin by reporting issues, suggesting features, or submitting pull requests on [GitHub](https://github.com/BlackCatDevel0per/poetry-plugin-deps-juice).\n\n### License\n\nThis plugin is licensed under the Apache 2. License. See the [LICENSE](https://www.apache.org/licenses/LICENSE-2.0) file for details.\n",
    "bugtrack_url": null,
    "license": "Apache 2.0",
    "summary": "Poetry plugin for simple mix dependencies from toml option and wrap poetry 'build' command.",
    "version": "0.0.3",
    "project_urls": {
        "Documentation": "https://github.com/BlackCatDevel0per/poetry-plugin-deps-juice",
        "Homepage": "https://github.com/BlackCatDevel0per/poetry-plugin-deps-juice",
        "Repository": "https://github.com/BlackCatDevel0per/poetry-plugin-deps-juice"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ab6b18f44939d73ae062ede063fd89cd5665ad99b0e7ac7ac42f4d3df6867c05",
                "md5": "1bd6f72af05c80018532f12e352d0222",
                "sha256": "dae95aa9b0723710397da08a3867048544404779722b6fb0a408d0c6404aa3a9"
            },
            "downloads": -1,
            "filename": "poetry_plugin_deps_juice-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1bd6f72af05c80018532f12e352d0222",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 9539,
            "upload_time": "2024-04-28T12:47:43",
            "upload_time_iso_8601": "2024-04-28T12:47:43.101198Z",
            "url": "https://files.pythonhosted.org/packages/ab/6b/18f44939d73ae062ede063fd89cd5665ad99b0e7ac7ac42f4d3df6867c05/poetry_plugin_deps_juice-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b099a1f46b7953c053476df8bd03f7fa72edbf3094af4eff4942e68aa0fda684",
                "md5": "8c16bdf58266261d4700e55831fa590e",
                "sha256": "ccf82221558df040a4a542a9b8488458122f884466e519095fb1d303b136b5bb"
            },
            "downloads": -1,
            "filename": "poetry_plugin_deps_juice-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "8c16bdf58266261d4700e55831fa590e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 8742,
            "upload_time": "2024-04-28T12:47:45",
            "upload_time_iso_8601": "2024-04-28T12:47:45.066174Z",
            "url": "https://files.pythonhosted.org/packages/b0/99/a1f46b7953c053476df8bd03f7fa72edbf3094af4eff4942e68aa0fda684/poetry_plugin_deps_juice-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-28 12:47:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "BlackCatDevel0per",
    "github_project": "poetry-plugin-deps-juice",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "poetry-plugin-deps-juice"
}
        
Elapsed time: 0.24982s