Metadata-Version: 2.1
Name: joltedmod
Version: 0.2.1.1
Summary: JoltEd self-documenting learning module
License: MIT
Author: Nathan Laundry
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: aiofiles (>=23.1.0,<24.0.0)
Requires-Dist: alive-progress (>=3.1.3,<4.0.0)
Requires-Dist: colorama (>=0.4.6,<0.5.0)
Requires-Dist: markdown2 (>=2.4.8,<3.0.0)
Requires-Dist: markdownify (>=0.11.6,<0.12.0)
Requires-Dist: nbf (>=0.0.5,<0.0.6)
Requires-Dist: nbformat (>=5.8.0,<6.0.0)
Requires-Dist: openai (>=0.27.7,<0.28.0)
Requires-Dist: pydantic (>=1.10.9,<2.0.0)
Requires-Dist: tqdm (>=4.65.0,<5.0.0)
Description-Content-Type: text/markdown


# JoltedMod

JoltedMod is a Python package that utilizes OpenAI's chat models to automatically generate Jupyter Notebook or Markdown-based computer science educational materials. This package can be integrated into a frontend application, such as a CLI or API, to serve educational content.

## Features

- Generate Jupyter Notebook or Markdown content based on a given topic
- Highly configurable using tutorial template JSON structure
- Customizable content creator identity and target audience
- Support for GPT-3.5-turbo and other OpenAI models


## Installation

To install JoltedMod, you can use `pip`:

```
pip install jolted_mod
```

## Usage

Here's an example of how to generate a Jupyter Notebook module for a given topic:

```python
import asyncio
from jolted_mod.main import create_notebook_module

topic = "Intro to for loops in Python"
identity = "professor of computer science"
target_audience = "first year computer science students"
is_code = True
model = "gpt-3.5-turbo"

tutorial_content = asyncio.run(create_notebook_module(topic, identity, target_audience, is_code, model))

print(tutorial_content)
```

## Configuration

You can customize the generated content using a JSON template structure that outlines blocks. An example template file can be found in `tutorial_template.json`.

## Development Setup

JoltedMod uses Poetry for project management. To set up a development environment, follow these steps:

1. Install Poetry if you haven't already:

```
curl -sSL https://install.python-poetry.org | python3 -
```

2. Clone the repository:

```
git clone https://github.com/yourusername/jolted_mod.git
cd jolted_mod
```

3. Install dependencies using Poetry:

```
poetry install
```

4. Activate the virtual environment:

```
poetry shell
```

Now you're ready to start contributing to JoltedMod!

## Contributing

If you'd like to contribute to JoltedMod, feel free to fork the repository and submit a pull request.

## License

JoltedMod is licensed under the [MIT License](LICENSE).

