Metadata-Version: 2.1
Name: bitbucket-pipes-toolkit
Version: 5.0.3
Summary: This package contains various helpers for developing bitbucket pipelines pipes
Author-email: Atlassian <bitbucketci-team@atlassian.com>, bitbucketci-team@atlassian.com
Maintainer-email: Atlassian <bitbucketci-team@atlassian.com>
License: Copyright @ 2019 Atlassian Pty Ltd
        
        Licensed under the Apache License, Version 2.0 (the "License");
        you may not use this file except in compliance with the License.
        You may obtain a copy of the License at
        
            http://www.apache.org/licenses/LICENSE-2.0
        
        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and
        limitations under the License.
        
Project-URL: Homepage, https://bitbucket.org/bitbucketpipelines/bitbucket-pipes-toolkit
Project-URL: Documentation, https://bitbucket-pipes-toolkit.readthedocs.io
Project-URL: Repository, https://bitbucket.org/bitbucketpipelines/bitbucket-pipes-toolkit
Project-URL: Issues, https://community.atlassian.com/t5/forums/postpage/board-id/bitbucket-pipelines-questions?add-tags=pipes,toolkit
Project-URL: Changelog, https://bitbucket.org/bitbucketpipelines/bitbucket-pipes-toolkit/src/master/CHANGELOG.md
Project-URL: Community, https://community.atlassian.com/t5/Bitbucket/ct-p/bitbucket
Keywords: bitbucket,bitbucket pipelines,bitbucket pipes,development
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: Cerberus==1.*
Requires-Dist: colorama==0.*
Requires-Dist: colorlog==6.*
Requires-Dist: docker==6.*
Requires-Dist: GitPython==3.*
Requires-Dist: PyYAML==6.*
Provides-Extra: tox
Requires-Dist: tox==4.*; extra == "tox"
Provides-Extra: testing
Requires-Dist: build==1.*; extra == "testing"
Requires-Dist: pytest==8.*; extra == "testing"
Requires-Dist: pytest-cov==5.*; extra == "testing"
Requires-Dist: pytest-doctestplus==1.*; extra == "testing"
Provides-Extra: lint
Requires-Dist: flake8==7.*; extra == "lint"
Provides-Extra: coverage
Requires-Dist: coverage-badge==1.*; extra == "coverage"
Provides-Extra: docs
Requires-Dist: sphinx==8.*; extra == "docs"

Bitbucket Pipes Toolkit
=======================

![Coverage](https://bitbucket.org/bitbucketpipelines/bitbucket-pipes-toolkit/downloads/coverage.svg)

This package contains various tools and helpers to make it more fun and easy for people to develop pipes. This includes improved colorized logging, shared data interface, array variables helpers and more.

Installation
============

`pip install bitbucket-pipes-toolkit`


Examples
========

Simple pipe example
```python3
import os

from bitbucket_pipes_toolkit import Pipe


class MyPipe(Pipe):
    def run(self):
        super().run()
        print("I'm a simple little pipe")


# below is a simple schema for pipe variables.
schema = {'USERNAME': {'required': True, 'type': 'string'},
          'PASSWORD': {'required': True, 'type': 'string'}}

pipe_metadata = {
    'name': 'My Pipe',
    'image': 'my-docker-image:latest'
}

# Set environment variables required in schema.
os.environ['USERNAME'] = 'user'
os.environ['PASSWORD'] = 'pwd'

my_pipe = MyPipe(pipe_metadata=pipe_metadata, schema=schema)
my_pipe.run()
```

Documentation
=============

For more details have a look at the [official documentation](https://bitbucket-pipes-toolkit.readthedocs.io).


Support
=======
If you’d like help with the toolkit, or you have an issue or feature request, let us know on [Community](https://community.atlassian.com/t5/forums/postpage/board-id/bitbucket-pipelines-questions?add-tags=pipes,toolkit).

If you’re reporting an issue, please include:

* the version of the toolkit
* relevant logs and error messages
* steps to reproduce
