Metadata-Version: 2.1
Name: bork
Version: 5.0.0b5
Summary: A program to help build, maintain, and release PEP 517-compliant projects.
Home-page: https://github.com/duckinator/bork
Author: Ellen Marie Dash
Author-email: me@duckie.co
License: MIT
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: packaging (==20.4)
Requires-Dist: toml (==0.10.1)
Requires-Dist: pep517 (==0.8.2)
Requires-Dist: twine (==3.2.0)
Requires-Dist: click (==7.1.2)
Requires-Dist: coloredlogs (==14.0)
Provides-Extra: testing
Requires-Dist: flake8 (==3.8.3) ; extra == 'testing'
Requires-Dist: flake8-bugbear (==20.1.4) ; extra == 'testing'
Requires-Dist: flake8-commas (==2.0.0) ; extra == 'testing'
Requires-Dist: flake8-docstrings (==1.5.0) ; extra == 'testing'
Requires-Dist: flake8-import-order (==0.18.1) ; extra == 'testing'
Requires-Dist: pep8-naming (==0.11.1) ; extra == 'testing'
Requires-Dist: pylint (==2.5.3) ; extra == 'testing'
Requires-Dist: pytest (==6.0.1) ; extra == 'testing'
Requires-Dist: pytest-flake8 (==1.0.6) ; extra == 'testing'
Requires-Dist: pytest-pylint (==0.17.0) ; extra == 'testing'
Requires-Dist: pytest-mypy (==0.6.2) ; extra == 'testing'

# bork [![Build Status][build-status-img]][build-status-link] [![PyPI][pypi-version-img]][pypi-version-link]

A frontend for building and releasing [PEP 517](https://www.python.org/dev/peps/pep-0517/) compliant projects, including support for generating a [ZipApp](https://docs.python.org/3/library/zipapp.html).

Includes a basic task runner, in the form of `bork run <task name>`. Tasks
are defined in your `pyproject.toml` file.

Bork requires Python 3.6 or newer.

[build-status-img]: https://api.cirrus-ci.com/github/duckinator/bork.svg
[build-status-link]: https://cirrus-ci.com/github/duckinator/bork

[pypi-version-img]: https://img.shields.io/pypi/v/bork
[pypi-version-link]: https://pypi.org/project/bork

## Installation

```
$ pip3 install bork
```

Or download [the latest zipapp
releases](https://github.com/duckinator/bork/releases/latest/download/bork.pyz)

## Usage

### Downloading Existing Builds


To download a release from GitHub:

```
$ bork download gh:duckinator/emanate # download latest .pyz for Emanate
$ bork download gh:duckinator/emanate --directory bin/ # put files in ./bin
$ bork download gh:ppb/pursuedpybear --files '*.tar.gz' # download latest .tar.gz file
```

To download a wheel from a PyPi release:

```
$ bork download pypi:emanate 6.0.0 --files '*.whl'
```


To download a wheel from a release on PyPi's test instance:

```
$ bork download testpypi:whaledo 1.0.1 --files '*.whl'
```

### Building and Releasing

Assuming a project is PEP 517 compliant, you can just do:

```
$ bork clean # Remove anything in build/, dist/, *.egg-info/
$ bork build # Build the project
$ bork release # Release to PyPI
```

### ZipApp Support

If you want to build a ZipApp, add this to your pyproject.toml:

```
[tool.bork.zipapp]
enabled = true
main = "<entrypoint>"
```

Where `<entrypoint>` is of the form "module.submodule:function", and
may be equivalent to a `console_script` entrypoint in setup.cfg.

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/duckinator/bork. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the
[code of conduct](https://github.com/duckinator/bork/blob/master/CODE_OF_CONDUCT.md).

The code for Bork is available under the [MIT License](http://opensource.org/licenses/MIT).


