pip4a


Namepip4a JSON
Version 0.2.16 PyPI version JSON
download
home_page
SummaryA pip-like ansible collection installer.
upload_time2023-09-19 19:56:10
maintainer
docs_urlNone
author
requires_python>=3.9
licenseGPL-3.0-only
keywords ansible
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pip4a

A pip-like install for ansible collections.

## Features

- Promotes an "ephemeral" development approach
- Ensures the current development environment is isolated
- Install all collection python requirements
- Install all collection test requirements
- Checks for missing system packages
- Symlinks the current collection into the current python interpreter's site-packages
- Install all collection collection dependencies into the current python interpreter's site-packages

By placing collections into the python site-packages directory they are discoverable by ansible as well as python and pytest.

## Usage

### Setting up a development environment

```
$ pip install pip4a --user
$ git clone <collection_repo>
$ cd <collection_repo>
$ pip4a install -e .\[test] --venv venv
INFO: Found collection name: network.interfaces from /home/bthornto/github/network.interfaces/galaxy.yml.
INFO: Creating virtual environment: /home/bthornto/github/network.interfaces/venv
INFO: Virtual environment: /home/bthornto/github/network.interfaces/venv
INFO: Using specified interpreter: /home/bthornto/github/network.interfaces/venv/bin/python
INFO: Requirements file /home/bthornto/github/network.interfaces/requirements.txt is empty, skipping
INFO: Installing python requirements from /home/bthornto/github/network.interfaces/test-requirements.txt
INFO: Installing ansible-core.
INFO: Initializing build directory: /home/bthornto/github/network.interfaces/build
INFO: Copying collection to build directory using git ls-files.
INFO: Running ansible-galaxy to build collection.
INFO: Running ansible-galaxy to install collection and it's dependencies.
INFO: Removing installed /home/bthornto/github/network.interfaces/venv/lib64/python3.11/site-packages/ansible_collections/network/interfaces
INFO: Symlinking /home/bthornto/github/network.interfaces/venv/lib64/python3.11/site-packages/ansible_collections/network/interfaces to /home/bthornto/github/network.interfaces
WARNING: A virtual environment was specified but has not been activated.
WARNING: Please activate the virtual environment:
source venv/bin/activate
```

### Tearing down the development environment

```
$ pip4a uninstall ansible.scm
INFO     Found collection name: ansible.scm from /home/bthornto/github/ansible.scm/galaxy.yml.
INFO     Requirements file /home/bthornto/github/ansible.scm/requirements.txt is empty, skipping
INFO     Uninstalling python requirements from /home/bthornto/github/ansible.scm/test-requirements.txt
INFO     Removed ansible.utils: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections/ansible/utils
INFO     Removed ansible.utils*.info: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections/ansible.utils-2.10.3.info
INFO     Removed ansible.scm: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections/ansible/scm
INFO     Removed collection namespace root: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections/ansible
INFO     Removed collection root: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections
```

## Help

`pip4a --help`

`pip4a install --help`

`pip4a uninstall --help`

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "pip4a",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Bradley Thornton <bthornto@redhat.com>",
    "keywords": "ansible",
    "author": "",
    "author_email": "\"Bradley A. Thornton\" <bthornto@redhat.com>",
    "download_url": "https://files.pythonhosted.org/packages/5f/a3/c4b85c96821d40f8a6de0ebf5e4ce65b50f77b5f9b999771f7e9539cc059/pip4a-0.2.16.tar.gz",
    "platform": null,
    "description": "# pip4a\n\nA pip-like install for ansible collections.\n\n## Features\n\n- Promotes an \"ephemeral\" development approach\n- Ensures the current development environment is isolated\n- Install all collection python requirements\n- Install all collection test requirements\n- Checks for missing system packages\n- Symlinks the current collection into the current python interpreter's site-packages\n- Install all collection collection dependencies into the current python interpreter's site-packages\n\nBy placing collections into the python site-packages directory they are discoverable by ansible as well as python and pytest.\n\n## Usage\n\n### Setting up a development environment\n\n```\n$ pip install pip4a --user\n$ git clone <collection_repo>\n$ cd <collection_repo>\n$ pip4a install -e .\\[test] --venv venv\nINFO: Found collection name: network.interfaces from /home/bthornto/github/network.interfaces/galaxy.yml.\nINFO: Creating virtual environment: /home/bthornto/github/network.interfaces/venv\nINFO: Virtual environment: /home/bthornto/github/network.interfaces/venv\nINFO: Using specified interpreter: /home/bthornto/github/network.interfaces/venv/bin/python\nINFO: Requirements file /home/bthornto/github/network.interfaces/requirements.txt is empty, skipping\nINFO: Installing python requirements from /home/bthornto/github/network.interfaces/test-requirements.txt\nINFO: Installing ansible-core.\nINFO: Initializing build directory: /home/bthornto/github/network.interfaces/build\nINFO: Copying collection to build directory using git ls-files.\nINFO: Running ansible-galaxy to build collection.\nINFO: Running ansible-galaxy to install collection and it's dependencies.\nINFO: Removing installed /home/bthornto/github/network.interfaces/venv/lib64/python3.11/site-packages/ansible_collections/network/interfaces\nINFO: Symlinking /home/bthornto/github/network.interfaces/venv/lib64/python3.11/site-packages/ansible_collections/network/interfaces to /home/bthornto/github/network.interfaces\nWARNING: A virtual environment was specified but has not been activated.\nWARNING: Please activate the virtual environment:\nsource venv/bin/activate\n```\n\n### Tearing down the development environment\n\n```\n$ pip4a uninstall ansible.scm\nINFO     Found collection name: ansible.scm from /home/bthornto/github/ansible.scm/galaxy.yml.\nINFO     Requirements file /home/bthornto/github/ansible.scm/requirements.txt is empty, skipping\nINFO     Uninstalling python requirements from /home/bthornto/github/ansible.scm/test-requirements.txt\nINFO     Removed ansible.utils: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections/ansible/utils\nINFO     Removed ansible.utils*.info: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections/ansible.utils-2.10.3.info\nINFO     Removed ansible.scm: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections/ansible/scm\nINFO     Removed collection namespace root: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections/ansible\nINFO     Removed collection root: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections\n```\n\n## Help\n\n`pip4a --help`\n\n`pip4a install --help`\n\n`pip4a uninstall --help`\n",
    "bugtrack_url": null,
    "license": "GPL-3.0-only",
    "summary": "A pip-like ansible collection installer.",
    "version": "0.2.16",
    "project_urls": {
        "changelog": "https://github.com/cidrblock/pip4a/releases",
        "documentation": "https://pip4a.readthedocs.io/en/latest/",
        "homepage": "https://github.com/cidrblock/pip4a",
        "repository": "https://github.com/cidrblock/pip4a"
    },
    "split_keywords": [
        "ansible"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "469623bad288ec6ca865c61a4a4301b9441b6798c300eb276f535ba79947584d",
                "md5": "b60e8d360c7b1899a8af8e7b8cff9ead",
                "sha256": "ef2a060ad393d393569a0484dc58b39f26755bee7ad4dac172e7abfb3946c926"
            },
            "downloads": -1,
            "filename": "pip4a-0.2.16-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b60e8d360c7b1899a8af8e7b8cff9ead",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 40776,
            "upload_time": "2023-09-19T19:56:08",
            "upload_time_iso_8601": "2023-09-19T19:56:08.613442Z",
            "url": "https://files.pythonhosted.org/packages/46/96/23bad288ec6ca865c61a4a4301b9441b6798c300eb276f535ba79947584d/pip4a-0.2.16-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5fa3c4b85c96821d40f8a6de0ebf5e4ce65b50f77b5f9b999771f7e9539cc059",
                "md5": "db3a816c03af784937cc92b22e1bb547",
                "sha256": "834ebc668f0c3362d750c10ba846277f1e47caac372dcf1a97eb44d84667b591"
            },
            "downloads": -1,
            "filename": "pip4a-0.2.16.tar.gz",
            "has_sig": false,
            "md5_digest": "db3a816c03af784937cc92b22e1bb547",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 47308,
            "upload_time": "2023-09-19T19:56:10",
            "upload_time_iso_8601": "2023-09-19T19:56:10.272967Z",
            "url": "https://files.pythonhosted.org/packages/5f/a3/c4b85c96821d40f8a6de0ebf5e4ce65b50f77b5f9b999771f7e9539cc059/pip4a-0.2.16.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-19 19:56:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cidrblock",
    "github_project": "pip4a",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "pip4a"
}
        
Elapsed time: 0.11717s