Skip to main content

Reqstool Python Poetry Plugin

Project description

Commit Activity GitHub Issues License Build Static Badge

Reqstool Python Poetry Plugin

Description

This provides a generic plugin for Poetry that runs during the build process.

The plugin collects decorated code, formatting it and writing it to a annotations.yml file saved to the build/reqstool/ folder, utilizing the reqstool-python-decorators package for the processing.

Installation

Plugin

The package name is reqstool-python-poetry-plugin.

  • Using poetry:
$poetry add reqstool-python-poetry-plugin 
  • pip install (unsure if working as intended):
$pip install reqstool-python-poetry-plugin

Dependencies

reqstool-decorators

The plugin reads decorators available in the reqstool-python-decorators package.

$pip install reqstool-python-decorators

pyproject.toml

[tool.poetry.dependencies]
reqstool-python-decorators = "<version>"

Usage

pyproject.toml

Paths

The plugin gets the paths where it will look for decorated code from ("." is filtered out):

[tool.pytest.ini_options]
pythonpath = [".", "src", "tests"]

In this example all files in "src" and "tests", including subfolders, will be processed.

Poetry

This will be added when running poetry add reqstool-python-poetry-plugin

[tool.poetry.dependencies]
reqstool-python-poetry-plugin = "<version>"

Decorators

Used to decorate your code as seen in the examples below, the decorator processing that runs during the build process collects data from the decorated code.

Import decorators:

from reqstool-python-decorators.decorators.decorators import Requirements, SVCs

Example usage of the decorators:

@Requirements("REQ_111", "REQ_222")
def somefunction():
@SVCs("SVC_111", "SVC_222")
def test_somefunction():

Poetry build

When running $poetry build or $poetry install the plugin will run the activate function located inside DecoratorsPlugin class, calling functions from the reqstool-python-decorators package and generate a annotations.yml file in the build/reqstool/ folder containing formatted data on all decorated code found.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reqstool_python_poetry_plugin-0.0.3.tar.gz (3.4 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page