Skip to main content
# Blingtron

[![Build Status](https://travis-ci.org/ImageIntelligence/blingtron.svg?branch=master)](https://travis-ci.org/ImageIntelligence/blingtron)
[![PyPI version](https://badge.fury.io/py/blingtron.svg)](https://badge.fury.io/py/blingtron)

**Welcome to Blingtron!**

> Assembles the upgraded [Blingtron 5000](http://www.wowhead.com/item=111821/blingtron-5000), a savage, yet generous, robot. While he will give out gifts to players once per day, he will also fight other Blingtron units to the death. (4 Hrs Cooldown)

Blingtron is a simple command line too (CLI) aimed at helping developers run their Image Intelligence projects.

## Installation

```
$ pip install blingtron
```

Projects that use Blingtron are expected to have a `bling.json` file at the root of the project directory structure. For an example of what a bling.json file might look like, checkout [bling.example.json](./bling.example.json).

* `name`: The name of your project
* `registry`: The username of your account for your image registry
* `run`: The command that's executed when a Docker container runs your image (remotely)
* `start`: The arguments passed into `docker run`(locally)
* `packer`: The location of your Packer configuration directory
* `packer_exec_path`: (optional) The absolute path to your Packer executable
* `env`: An object of custom environ variables you can pass into all `bling` commands

See [imageintelligence/skeleton-python](https://github.com/ImageIntelligence/skeleton-python) and [imageintelligence/skeleton-scala](https://github.com/ImageIntelligence/skeleton-scala) for more examples.

## Usage

```
>>> bling --help
bling.py

usage:
bling start
bling stop
bling run
bling build [--publish] [--debug]

commands:
start starts app inside an interactive container
stop stops running container
run starts app inside a container, executing the specified run command
build invokes `packer build` with packer template json file

options:
--publish publishes the build artifact to a remote registry
--debug enables debug mode

-h --help shows this
-v --version shows version
```

Example workflow:

```
$ bling build
$ bling start
```

## Development

Clone the project:

```
$ git clone git@github.com:ImageIntelligence/blingtron.git
```

Setup your virtualenv:

```
$ mkvirtualenv blingtron
```

Attach `bling` to your shell:

```
$ python setup.py develop
```

## Deployment

Create a `~/.pypirc` and replace the username and password with real credentials:

```
[distutils]
index-servers =
blingtron

[blingtron]
repository=https://pypi.python.org/pypi
username=xxx
password=yyy
```

Register this package to the Cheeseshop:

```
$ python setup.py register -r blingtron
```

Build a distributable and upload:

```
$ python setup.py sdist upload -r blingtron
```

Release files for blingtron 0.1.6

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

Source distribution (sdist)

Source distribution for blingtron 0.1.6
File Size Uploaded
blingtron-0.1.6.tar.gz 7.6 kB Details

Release files / blingtron-0.1.6.tar.gz

Download URL blingtron-0.1.6.tar.gz
Size 7.6 kB
Tags Source
SHA-256 checksum
How to use checksums
367492ce2dd0b05951d8d9e1e0f19a8fd8c4f5468642a49feff952e45352a429
BLAKE2b-256 checksum
How to use checksums
56c48e4a600a27e33a31ea9e1b77edcef0193dd31a6ac0b121223b7c94dfcfa4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.6 This release

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

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