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.6.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.6-py3-none-any.whl (56.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: storytelling-0.2.6.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.6.tar.gz
Algorithm Hash digest
SHA256 2f4cceaeb00bb541d02b108f87750866dd9aa17d19391cd396297208ee8912fd
MD5 5a72e4f3560d7aca84387a41925822ea
BLAKE2b-256 37d19aa8ccbebc4b2aa5fffc754489e5cbbd7c4915f22a4aca4d0730f605d61d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: storytelling-0.2.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a12a1c150816543de954293d9caa8400e1c3b8c1d7ea080846e2788061a1048e
MD5 942daed0faf81bb1285e39e8b73c4efe
BLAKE2b-256 690db43976ddac83cb230ceec49f3bbfcc193385daf5698a6c4cb4c3b8cb73be

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