Python toolkit for agile release managing, building and issue tracking
Project description
Toolkit for agile development with python, git, github, docker and aws
- Badges:
- Master CI:
- Downloads:
- Source:
- Mailing list:
- Design by:
- Platforms:
Linux, OSX, Windows. Python 3.5 and above
- Keywords:
git, github, python, aws, release, documentation
Install
This is a python package for aiding deployment and dev-ops type operations on the local machine. To install the package you need python 3.5 or above:
pip install -U pulsar-agile
Setup
Once installed, create the play.py script inside of your repository:
if __name__ == '__main__':
from agile.app import AgileManager
AgileManager(description='Release manager for my package').start()
and create the agile.json file along side it.
Usage
Check tasks available:
python play.py -l
Logging
When running tasks, the logging level is by default set to info. For a more verbose logging pass --log-level agile.debug.
Commands
Github
Pulsar agile contains two commands which interacts with github:
labels
release
Configuration
Before using github commands one needs to configure the .gitconfig file by adding the username and the token. The token is obtained from github from the personal access tokens page:
[user] email = ... username = lsbardel token = bqedoeunzplesw52tme00zwuj2lhbjr8emrbrxax
Labels
Keep labels consistent across repositories. To add a label command create the labels entry in the agile.json file:
{
"labels": {
"group1": {
"repositories": [
"quantmind/pulsar-agile",
"quantmind/pulsar-cloud"
],
"labels": {
"aws": "e47911",
"benchmark": "006b75"
}
}
},
"tasks": {
"repo-labels": {
"description": "Update labels in all repositories",
"command": ["labels"]
}
}
}
and run the repo-labels command:
python play.py repo-labels
Release
Release dry run:
python play.py release
Release push:
python play.py release --push
HttpCopy
Copy files over an Http connection. For example:
"httpcopy": { "sockjs": { "src": "https://cdnjs.cloudflare.com/ajax/libs/sockjs-client/{{ sockjs_version }}/sockjs.js", "target": "/media/" } }
Sass
Compile scss files using SASS
Shell
Run arbitrary commands on the shell
Template
Transform jinja2 templates files into new files with context dictionary given in the agile.json or other json files. It can also replace ad-hoc string via the replace directive.
Testing
To run unit tests, create a test_config.py file alongside this file and add the following two entries:
import os
os.environ['GITHUB_USERNAME'] = "<username for token>"
os.environ['GITHUB_TOKEN'] = "<generate one from https://github.com/settings/tokens>"
os.environ['GITHUB_TEST_REPO'] = "<username>/<reponame>"
Changelog
Project details
Release history Release notifications | RSS feed
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 pulsar-agile-0.5.0.tar.gz
.
File metadata
- Download URL: pulsar-agile-0.5.0.tar.gz
- Upload date:
- Size: 23.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d1623d907def0a92586627243bd7d6fb313d18d7f8894842062989ff54ba62f |
|
MD5 | 24590714c8f61837f459e5d22f4d89b6 |
|
BLAKE2b-256 | eb11c21ca565b9de20856e576e10e940058835a5d41619cd6597e32ad2f61161 |
File details
Details for the file pulsar_agile-0.5.0-py3-none-any.whl
.
File metadata
- Download URL: pulsar_agile-0.5.0-py3-none-any.whl
- Upload date:
- Size: 31.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1ac3a14c58a609fec7914c48bc22e227e1237144540f125b23e9363e1470fe3 |
|
MD5 | 684e213d62ce7f0ab26545a4ed382ebf |
|
BLAKE2b-256 | cb9237aa0f7016589312953ab09d070a5a7423c850e07dc9366839cf6f6945d6 |