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.2.tar.gz (54.5 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.2-py3-none-any.whl (56.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: storytelling-0.2.2.tar.gz
  • Upload date:
  • Size: 54.5 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.2.tar.gz
Algorithm Hash digest
SHA256 b6c65a0a0b9d24e732bb80e281833b326f899c5fe0cc3f2c34d804e45e32f919
MD5 aa2bc6befacc6ca2103fdd004652f78b
BLAKE2b-256 e508cc2515d373806638772004fa8f9b054b054606f1155f3a0416f4db49e5f1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: storytelling-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 56.2 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 32be8f756814884cb6d3eab7abd2862d415940913e2bc90b53c7beeefb9f28df
MD5 e31cda03b5c0a63b3ace3a38e6fde24d
BLAKE2b-256 a6cf2d0a4773b96eb0a29036878eeba118a8cb0ee24e2566ddec19330211a2ff

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