Skip to main content

Example Ansible Collection containing 'boo' Ansible module

Project description

ansible-collections.python.dist.boo @ PyPI GitHub Actions CI/CD build status — Publish Python 🐍 distributions 📦 to PyPI and TestPyPI

ansible-collections.python.dist.boo: an Ansible Collection containing a boo module

This is a demo of an Ansible Collection python.dist packaged as a Python distribution package. It contains only one Ansible module called boo. Given that this dist and Ansible are installed into the same (virtual)env, it’s accessible from Ansible by FQDN python.dist.boo. Here’s how you can call it adhoc-style:

$ PYTHONPATH=`pwd` ansible -m python.dist.boo -a name=Bob localhost
[WARNING]: No inventory was parsed, only implicit localhost is available
localhost | SUCCESS => {
    "changed": false,
    "greeting": "Hello, Bob!",
    "msg": "Greeting Bob completed."
}

Alternatively, install it, instead of mangling with PYTHONPATH:

$ pip install ansible-collections.python.dist.boo
$ ansible -m python.dist.boo -a name=Bob localhost
[WARNING]: No inventory was parsed, only implicit localhost is available
localhost | SUCCESS => {
    "changed": false,
    "greeting": "Hello, Bob!",
    "msg": "Greeting Bob completed."
}

Purpose

At the moment of publishing this project, this demo only works with the code supplied by Ansible PR #67093. One can test it by installing Ansible from that PR-branch:

$ pip install git+https://github.com/sivel/ansible@acd-content-dir

Publishing to PyPI

This project implements automatic building and publishing of a Python distribution package to PyPI for tagged commits and to TestPyPI for every push to master. All the heavy lifting is done by the combination of GitHub Actions CI/CD workflows, pep517 CLI tool and setuptools-scm.

The published dists are then installable by:

$ pip install ansible-collections.python.dist.boo  # for PyPI

and

$ pip install ansible-collections.python.dist.boo \
      -i https://test.pypi.org/simple/ --pre  # for TestPyPI

If you’re learning by example, take a look at the following files:

  • pyproject.toml

  • setup.cfg

  • .github/workflows/publish-to-test-pypi.yml

Besides, you can follow a PyPA guide about publishing packages via GitHub Actions that will walk you through the process.

Prerequisites

Python 3.7+

License

The source code and the documentation in this project are released under the GPL v3 license.

Download files

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

Source Distribution

Built Distribution

File details

Details for the file ansible-collections.python.dist.boo-0.0.1.dev0.tar.gz.

File metadata

  • Download URL: ansible-collections.python.dist.boo-0.0.1.dev0.tar.gz
  • Upload date:
  • Size: 21.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for ansible-collections.python.dist.boo-0.0.1.dev0.tar.gz
Algorithm Hash digest
SHA256 130782c93dab37fe7a2f3606c929b033a4f75375acdb261ff0dd5c34ed01fd4d
MD5 1721deaa5b1144239f75106f8dd8ac40
BLAKE2b-256 374b83eab1b72d55ac0ba32bf4e983bdb493d7d2370d11e6693bc8f7081a04d5

See more details on using hashes here.

File details

Details for the file ansible_collections.python.dist.boo-0.0.1.dev0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ansible_collections.python.dist.boo-0.0.1.dev0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2c7f7c21ddc249463995db9cf4546ccfc8ae337cd017c773ac05e1ebf924b0ae
MD5 db4fe54ba624a3b3e7f36a7c70a21eb3
BLAKE2b-256 7ebccb56b86f78cb0e5259fba7457a8629570be68b48a3846ca5d9840f0c955a

See more details on using hashes here.

Supported by

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