https://github.com/ansible/ansible-dev-environment
Build and maintain a development environment including ansible collections and their python dependencies
https://github.com/ansible/ansible-dev-environment
ansible-dev-tools
Last synced: 9 months ago
JSON representation
Build and maintain a development environment including ansible collections and their python dependencies
- Host: GitHub
- URL: https://github.com/ansible/ansible-dev-environment
- Owner: ansible
- License: gpl-3.0
- Created: 2023-08-16T21:57:26.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-23T12:11:16.000Z (9 months ago)
- Last Synced: 2025-03-26T20:50:05.234Z (9 months ago)
- Topics: ansible-dev-tools
- Language: Python
- Homepage: https://ansible.readthedocs.io/projects/dev-environment/
- Size: 538 KB
- Stars: 39
- Watchers: 10
- Forks: 14
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# ansible-dev-environment
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.
## Communication
- Join the Ansible forum:
- [Get Help](https://forum.ansible.com/c/help/6): get help or help others. Please add appropriate tags if you start new discussions.
- [Social Spaces](https://forum.ansible.com/c/chat/4): gather and interact with fellow enthusiasts.
- [News & Announcements](https://forum.ansible.com/c/news/5): track project-wide announcements including social events.
- [Bullhorn newsletter](https://docs.ansible.com/ansible/devel/community/communication.html#the-bullhorn): used to announce releases and important changes.
For more information about communication, see the [Ansible communication guide](https://docs.ansible.com/ansible/devel/community/communication.html).
## Usage
### Setting up a development environment
```
$ pip install ansible-dev-environment --user
$ git clone
$ cd
$ ade 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
```
$ ade 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
`ade --help`
`ade install --help`
`ade uninstall --help`