Skip to main content

Scrumit

Description

Scrumit is a utility package that converts raw text to scrum user stories

Requirements

  • Python 3.10+

Installation

pip install scrumit

Usage

import openai
from promptify import OpenAI, Prompter

from scrumit.config import settings
from scrumit.entity.scrumit import Input
from scrumit.paraphraser.backends import ParaphraserOpenAI
from scrumit.recognizer.backends import RecognizerOpenAI
from scrumit.scrumer import Scrumer


def main():
    openai.api_key = settings.openai_api_key
    model = OpenAI(settings.openai_api_key)

    # recognizer
    prompter = Prompter(model)
    recognizer = RecognizerOpenAI(model, prompter)

    # paraphraser
    client = openai.Completion
    paraphraser = ParaphraserOpenAI(client)

    # scrumit
    scrumer = Scrumer(recognizer, paraphraser)
    conversation = Input(
        text="""
            Hey, have you heard about the latest bug fixes in the dating app, MatchMate?
            Oh, yes! They just released an update with some significant bug fixes. What specifically are you interested in?
            Well, I've been experiencing some issues with the matching algorithm. It doesn't seem to be working properly.
            Good news! The latest update addresses that. They've made improvements to the algorithm to ensure better matching accuracy. It should now provide more relevant matches based on your preferences and interests.
            That's great to hear! I was also encountering a problem where the app would crash randomly. Has that been fixed too?
            Absolutely! The developers have identified the cause of those crashes and implemented a fix. You should no longer experience any unexpected app shutdowns. They've also optimized the app's performance overall, making it more stable and responsive.
            That's a relief. Another issue I had was with the chat feature. Sometimes messages would get delayed or not show up at all.
            Yes, they've made significant improvements to the chat functionality. The messaging system has been optimized to ensure faster and more reliable delivery of messages. You should now experience smoother conversations with minimal delays or missing messages.
            Perfect! I've also noticed some minor UI glitches in the app. Are those taken care of too?
            Indeed! The developers have addressed various UI glitches reported by users. They've refined the interface to provide a more polished and visually appealing experience. The app should now look more cohesive and consistent across different devices.
            That's fantastic news! It seems like they've really been listening to user feedback and actively working on improving the app.
            Absolutely, user feedback is crucial, and the developers at MatchMate have been actively engaged with their user community. They've been working diligently to identify and fix any reported issues, ensuring a better overall experience for everyone.
            That's reassuring. I'm looking forward to updating the app and trying out all these bug fixes. Thanks for the information!
            You're welcome! Enjoy the updated MatchMate experience, and I hope you have some amazing connections on the app. Let me know if you have any other questions!
            """,
        domain="software",
    )
    outputs = scrumer.convert(conversation)
    print(outputs)


if __name__ == "__main__":
    main()

Output

Output(stories=[UserStory(task='The matching algorithm should provide more relevant matches based on user preferences and interests.', story='"As a user, I want the matching algorithm to provide more relevant matches based on my preferences and interests so that I get accurate results."'), UserStory(task='The app should no longer experience any unexpected app shutdowns.', story='"As a user I want to be able to use the app without any unexpected app shutdowns so I can have a reliable experience."'), UserStory(task='The messaging system should be optimized to ensure faster and more reliable delivery of messages.', story='Paraphrase: "As a user I want to be able to have a messaging system that is optimized for faster and more reliable delivery of messages so I can communicate efficiently."'), UserStory(task='The interface should be refined to provide a more polished and visually appealing experience.', story='"As a user I want the interface to be refined to provide a more polished and visually appealing experience so I have a better user experience."'), UserStory(task='The developers should actively engage with their user community and identify and fix any reported issues.', story='Scrum Story: "As a user I want the developers to actively engage with the user community and to identify and fix any issues I report so I can continue to have an enjoyable experience using the product."')])

CLI

Sample run

scrumit -s ./conversation.sample -d software -o ./output.sample

Help

scrumit --help

Metadata

Release files for scrumit 0.0.3

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

Source distribution (sdist)

Source distribution for scrumit 0.0.3
File Size Uploaded
scrumit-0.0.3.tar.gz 50.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for scrumit 0.0.3
File Interpreter ABI Platform
scrumit-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 93.3 kB

Release files / scrumit-0.0.3.tar.gz

Download URL scrumit-0.0.3.tar.gz
Size 50.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ca08d2581293f149cdcc8bbb686eb4bcaaf07e8a2af57192d63ec5eccbd6731b
BLAKE2b-256 checksum
How to use checksums
43183b6a44ba4bff51781c877d2044e7e08da82c39da496a33f2e3055a5f7e1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release files / scrumit-0.0.3-py3-none-any.whl

Download URL scrumit-0.0.3-py3-none-any.whl
Size 42.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d9f9259135710489859a9388ab7a1239e61a7545cd45e5a0d01aae75ccc0ece5
BLAKE2b-256 checksum
How to use checksums
47298c27a8035f9a855c0217a848bb987e678f942946a4c95c1ff6cae24ef01d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

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