Skip to main content

AI-powered narrative generation system implementing Software 3.0 methodology - The Soul of Your Story's Blueprint

Project description

Storytelling

A Python package for storytelling applications.

Features

  • Create and manage story objects
  • Add content and metadata to stories
  • Command-line interface for story management
  • Professional package structure with development tools

Installation

From Source

git clone https://github.com/jgwill/storytelling.git
cd storytelling
pip install -e .

For Development

git clone https://github.com/jgwill/storytelling.git
cd storytelling
./scripts/init.sh

This will set up a virtual environment and install all development dependencies.

Usage

Python API

from storytelling import Story

# Create a new story
story = Story("My Adventure", "Once upon a time...")

# Add more content
story.add_content("The hero embarked on a journey.")

# Add metadata
story.set_metadata("author", "Your Name")
story.set_metadata("genre", "Adventure")

# Access story information
print(story.title)  # "My Adventure"
print(story.content)  # Full story content
print(story.get_metadata("author"))  # "Your Name"

Command Line Interface

# Create a new story
storytelling create "My Story Title" --content "Story content here" --author "Author Name"

# Show help
storytelling --help

Development

This project uses modern Python packaging and development practices.

Quick Start

# Initialize development environment
./scripts/init.sh

# Run tests
make test

# Check code quality
make lint

# Format code
make format

# Build package
make build

# See all available commands
make help

Development Commands

The project includes a comprehensive Makefile with the following commands:

  • make init - Initialize development environment
  • make test - Run tests
  • make test-cov - Run tests with coverage
  • make lint - Run linting checks
  • make format - Format code
  • make build - Build package
  • make clean - Clean build artifacts
  • make release-check - Run all pre-release checks
  • make docs - Build documentation

Project Structure

storytelling/
├── storytelling/           # Main package
│   ├── __init__.py        # Package initialization
│   ├── core.py            # Core functionality
│   └── cli.py             # Command line interface
├── tests/                 # Test files
├── scripts/               # Development scripts
│   ├── init.sh           # Environment initialization
│   └── release.sh        # Release automation
├── docs/                  # Documentation
├── pyproject.toml         # Package configuration
├── Makefile              # Development commands
└── README.md             # This file

Code Quality

The project uses several tools to maintain code quality:

  • Black - Code formatting
  • Ruff - Linting and import sorting
  • MyPy - Type checking
  • Pytest - Testing framework
  • Pre-commit - Git hooks for code quality

Release Process

To create a new release:

# Run release script
./scripts/release.sh release patch  # or minor, major
./scripts/release.sh release 1.2.3  # specific version

# Or use make commands
make release-check  # Run all checks
make release-test   # Upload to test PyPI
make release        # Upload to production PyPI

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linting: make test lint
  5. Submit a pull request

License

This project is licensed under the CC0-1.0 License - see the LICENSE file for details.

Requirements

  • Python 3.8+
  • See pyproject.toml for detailed dependencies

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

storytelling-0.2.5.tar.gz (54.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

storytelling-0.2.5-py3-none-any.whl (56.1 kB view details)

Uploaded Python 3

File details

Details for the file storytelling-0.2.5.tar.gz.

File metadata

  • Download URL: storytelling-0.2.5.tar.gz
  • Upload date:
  • Size: 54.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for storytelling-0.2.5.tar.gz
Algorithm Hash digest
SHA256 32dbade52b9c26f15eecf7e7108a7c77b6de1befb4c9e29186e9d37b93b93102
MD5 5ae303362911549f2aed931644399787
BLAKE2b-256 0eb7f139f6d955c5b3b33dc293d584f92ad251227c32f9133683d80ed575b1c7

See more details on using hashes here.

File details

Details for the file storytelling-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: storytelling-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 56.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for storytelling-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a51df6605c807824c48ae7f5429cf802b69b4afa06f7cd5ea0e7d3de8c398654
MD5 93c22cd54d639333e51d326e7b699a33
BLAKE2b-256 b69529466f4c7e40ff0c462eeb33493754b4c41b8bd0f4cf28f8797cda21ff13

See more details on using hashes here.

Supported by

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