storytelling


Namestorytelling JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryAI-powered narrative generation system implementing Software 3.0 methodology - The Soul of Your Story's Blueprint
upload_time2025-10-14 19:26:48
maintainerJGWill
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords narrative-generation ai-writing software-3.0 creative-writing story-generation langchain langgraph rag llm ollama interactive-storytelling worldbuilding
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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

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

### For Development

```bash
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

```python
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

```bash
# 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

```bash
# 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:

```bash
# 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](LICENSE) file for details.

## Requirements

- Python 3.8+
- See `pyproject.toml` for detailed dependencies

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "storytelling",
    "maintainer": "JGWill",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "narrative-generation, ai-writing, software-3.0, creative-writing, story-generation, langchain, langgraph, rag, llm, ollama, interactive-storytelling, worldbuilding",
    "author": null,
    "author_email": "JGWill <jgwill@example.com>",
    "download_url": "https://files.pythonhosted.org/packages/0f/19/0fa413c3e605fca65ead989d446e6a444a440411fa15623eae8fa99ab00c/storytelling-0.2.0.tar.gz",
    "platform": null,
    "description": "# Storytelling\n\nA Python package for storytelling applications.\n\n## Features\n\n- Create and manage story objects\n- Add content and metadata to stories\n- Command-line interface for story management\n- Professional package structure with development tools\n\n## Installation\n\n### From Source\n\n```bash\ngit clone https://github.com/jgwill/storytelling.git\ncd storytelling\npip install -e .\n```\n\n### For Development\n\n```bash\ngit clone https://github.com/jgwill/storytelling.git\ncd storytelling\n./scripts/init.sh\n```\n\nThis will set up a virtual environment and install all development dependencies.\n\n## Usage\n\n### Python API\n\n```python\nfrom storytelling import Story\n\n# Create a new story\nstory = Story(\"My Adventure\", \"Once upon a time...\")\n\n# Add more content\nstory.add_content(\"The hero embarked on a journey.\")\n\n# Add metadata\nstory.set_metadata(\"author\", \"Your Name\")\nstory.set_metadata(\"genre\", \"Adventure\")\n\n# Access story information\nprint(story.title)  # \"My Adventure\"\nprint(story.content)  # Full story content\nprint(story.get_metadata(\"author\"))  # \"Your Name\"\n```\n\n### Command Line Interface\n\n```bash\n# Create a new story\nstorytelling create \"My Story Title\" --content \"Story content here\" --author \"Author Name\"\n\n# Show help\nstorytelling --help\n```\n\n## Development\n\nThis project uses modern Python packaging and development practices.\n\n### Quick Start\n\n```bash\n# Initialize development environment\n./scripts/init.sh\n\n# Run tests\nmake test\n\n# Check code quality\nmake lint\n\n# Format code\nmake format\n\n# Build package\nmake build\n\n# See all available commands\nmake help\n```\n\n### Development Commands\n\nThe project includes a comprehensive Makefile with the following commands:\n\n- `make init` - Initialize development environment\n- `make test` - Run tests\n- `make test-cov` - Run tests with coverage\n- `make lint` - Run linting checks\n- `make format` - Format code\n- `make build` - Build package\n- `make clean` - Clean build artifacts\n- `make release-check` - Run all pre-release checks\n- `make docs` - Build documentation\n\n### Project Structure\n\n```\nstorytelling/\n\u251c\u2500\u2500 storytelling/           # Main package\n\u2502   \u251c\u2500\u2500 __init__.py        # Package initialization\n\u2502   \u251c\u2500\u2500 core.py            # Core functionality\n\u2502   \u2514\u2500\u2500 cli.py             # Command line interface\n\u251c\u2500\u2500 tests/                 # Test files\n\u251c\u2500\u2500 scripts/               # Development scripts\n\u2502   \u251c\u2500\u2500 init.sh           # Environment initialization\n\u2502   \u2514\u2500\u2500 release.sh        # Release automation\n\u251c\u2500\u2500 docs/                  # Documentation\n\u251c\u2500\u2500 pyproject.toml         # Package configuration\n\u251c\u2500\u2500 Makefile              # Development commands\n\u2514\u2500\u2500 README.md             # This file\n```\n\n### Code Quality\n\nThe project uses several tools to maintain code quality:\n\n- **Black** - Code formatting\n- **Ruff** - Linting and import sorting\n- **MyPy** - Type checking\n- **Pytest** - Testing framework\n- **Pre-commit** - Git hooks for code quality\n\n### Release Process\n\nTo create a new release:\n\n```bash\n# Run release script\n./scripts/release.sh release patch  # or minor, major\n./scripts/release.sh release 1.2.3  # specific version\n\n# Or use make commands\nmake release-check  # Run all checks\nmake release-test   # Upload to test PyPI\nmake release        # Upload to production PyPI\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Run tests and linting: `make test lint`\n5. Submit a pull request\n\n## License\n\nThis project is licensed under the CC0-1.0 License - see the [LICENSE](LICENSE) file for details.\n\n## Requirements\n\n- Python 3.8+\n- See `pyproject.toml` for detailed dependencies\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "AI-powered narrative generation system implementing Software 3.0 methodology - The Soul of Your Story's Blueprint",
    "version": "0.2.0",
    "project_urls": {
        "Documentation": "https://github.com/jgwill/storytelling/blob/main/README.md",
        "Homepage": "https://github.com/jgwill/storytelling",
        "Issues": "https://github.com/jgwill/storytelling/issues",
        "Repository": "https://github.com/jgwill/storytelling"
    },
    "split_keywords": [
        "narrative-generation",
        " ai-writing",
        " software-3.0",
        " creative-writing",
        " story-generation",
        " langchain",
        " langgraph",
        " rag",
        " llm",
        " ollama",
        " interactive-storytelling",
        " worldbuilding"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a8f09cafb371b3947a0af3d8a1b3dee6c82afae07de0376e76f4a57ec52206aa",
                "md5": "f40abcfa79fe5fd57863a17f05142a1b",
                "sha256": "96446880cb6cc1a6e32aab5eba4ed4a0e86f896e832dc04aab1e246177484065"
            },
            "downloads": -1,
            "filename": "storytelling-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f40abcfa79fe5fd57863a17f05142a1b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 24173,
            "upload_time": "2025-10-14T19:26:47",
            "upload_time_iso_8601": "2025-10-14T19:26:47.579753Z",
            "url": "https://files.pythonhosted.org/packages/a8/f0/9cafb371b3947a0af3d8a1b3dee6c82afae07de0376e76f4a57ec52206aa/storytelling-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0f190fa413c3e605fca65ead989d446e6a444a440411fa15623eae8fa99ab00c",
                "md5": "2bea05d31a8e785cbe44bb6cb4d3103d",
                "sha256": "572ec7245904854dd7d2b0f0fedc2f975132b425f313970f859cad8732a7275f"
            },
            "downloads": -1,
            "filename": "storytelling-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "2bea05d31a8e785cbe44bb6cb4d3103d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 25055,
            "upload_time": "2025-10-14T19:26:48",
            "upload_time_iso_8601": "2025-10-14T19:26:48.708316Z",
            "url": "https://files.pythonhosted.org/packages/0f/19/0fa413c3e605fca65ead989d446e6a444a440411fa15623eae8fa99ab00c/storytelling-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-14 19:26:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jgwill",
    "github_project": "storytelling",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "storytelling"
}
        
Elapsed time: 0.78458s