Skip to main content
BuildParser
===========

A [specification](SPECIFICATION.md) and parser for project build configuration.

## Setup

### pip
```bash
pip install buildparser
````

### git
```bash
git clone git://github.com/brettlangdon/buildparser.git
cd ./buildparser
python setup.py install
```

## Basic Usage

```python
import buildparser

builds = buildparser.parse("./path/to/project")
for build in builds:
print build.env
print build.before_build
print build.build
print build.after_build
print build.after_success
print build.after_failure
```

## API

### Environment(object)
#### Properties
* `type` - string
* `options` - mixed

#### Methods
* `__init__(self, type, options)`
* `__repr__(self)`
* `as_dict(self)`
* `as_json(self)`
* `as_yaml(self)`

### Script(object)
#### Properties
* `commands` - list

#### Methods
* `__init__(self, commands)`
* `__repr__(self)`
* `as_dict(self)`
* `as_json(self)`
* `as_yaml(self)`

### Build(object)
#### Properties
* `env` - Environment
* `before_build` - Script
* `build` - Script
* `after_build` - Script
* `after_success` - Script
* `after_failure` - Script

#### Methods
* `__init__(self, env, before_build, build, after_build, after_success, after_failure)`
* `__repr__(self)`
* `as_dict(self)`
* `as_json(self)`
* `as_yaml(self)`

## UnknownExtensionException(Exception)

## parse(directory, name="build")
*returns*: list

Look for an appropriate `name` file or directory in the directory `directory`
and parse all possible build configurations found.

`parse` defaults to looking for the following files:
* `.build.yml`
* `.build.yaml`
* `.build.json`
* `.build.ini`
* `.build.cfg`

or for the directory `.build` which contains one or many configuration files
(name doesn't have to be "build").

## parse_directory(dir_name)
*returns*: list

Look for all appropriate files inside of `dir_name` and parse configurations found.

## parse_file(file_name)
*returns*: list

Parse any available build configurations from `file_name`

## parse_yaml(file_name)
*returns*: list

Parse any available build configurations from `file_name` as though it was yaml.

## parse_json(file_name)
*returns*: list

Parse any available build configurations from `file_name` as though it was json.

## parse_ini(file_name)
*returns*: list

Parse any available build configurations from `file_name` as though it was an ini file.

Metadata

Release files for buildparser 0.1.1

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

Source distribution (sdist)

Source distribution for buildparser 0.1.1
File Size Uploaded
buildparser-0.1.1.tar.gz 4.5 kB Details

Release files / buildparser-0.1.1.tar.gz

Download URL buildparser-0.1.1.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
087acaeb9c0bc0ecdee3d416c1f65f6ca3758df97bf3608381f5e88e8058f3a7
BLAKE2b-256 checksum
How to use checksums
c5e770bc098b267de7fa0d0761fa0123f178e358cc414749aa22e70b0e8def9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file

0.1.0

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