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

ansible_collections.python.dist.boo-0.1.2-py2.py3-none-any.whl (17.2 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for ansible-collections.python.dist.boo-0.1.2.tar.gz
Algorithm Hash digest
SHA256 07ed37ce773b1fd6cec1a600f96b009e989d90b972a21084fc3131d4217e408d
MD5 f6c6a1c47c12ead8b536b5907603cc28
BLAKE2b-256 bc859a9b3a2ae86f0e6a7b568a95e7d6d43fd1586104d4d05fdd571cf1fb17f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ansible_collections.python.dist.boo-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6f46cbcc0ab166991f69ce95a662b33f306212c2c7f3c320c60861059b4083e0
MD5 1f2b445d1c7ceacf10bf18cb7ff42323
BLAKE2b-256 6ea318f63aae170c6566f76067c2fc3350388f2105007eeadbad0ee68de6b400

See more details on using hashes here.

Supported by

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