Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

Toolkit for agile development with python, git, github, docker and aws

Badges:

license pyversions status pypiversion

Master CI:

master-build coverage-master

Downloads:

http://pypi.python.org/pypi/pulsar-agile

Source:

https://github.com/quantmind/pulsar-agile

Mailing list:

google user group

Design by:

Quantmind and Luca Sbardella

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

Metadata

Release files for pulsar-agile 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pulsar-agile 0.5.0
File Size Uploaded
pulsar-agile-0.5.0.tar.gz 23.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pulsar-agile 0.5.0
File Interpreter ABI Platform
pulsar_agile-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 55.2 kB

Release files / pulsar-agile-0.5.0.tar.gz

Download URL pulsar-agile-0.5.0.tar.gz
Size 23.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7d1623d907def0a92586627243bd7d6fb313d18d7f8894842062989ff54ba62f
BLAKE2b-256 checksum
How to use checksums
eb11c21ca565b9de20856e576e10e940058835a5d41619cd6597e32ad2f61161
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pulsar_agile-0.5.0-py3-none-any.whl

Download URL pulsar_agile-0.5.0-py3-none-any.whl
Size 31.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a1ac3a14c58a609fec7914c48bc22e227e1237144540f125b23e9363e1470fe3
BLAKE2b-256 checksum
How to use checksums
cb9237aa0f7016589312953ab09d070a5a7423c850e07dc9366839cf6f6945d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page