Metadata-Version: 2.2
Name: literati
Version: 0.0.2
Summary: Code files you and your LLM can read and your computer can run.
Home-page: https://github.com/radekosmulski/literati
Author: Radek Osmulski
Author-email: rosmulski@gmail.com
License: Apache Software License 2.0
Keywords: nbdev jupyter notebook python
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastcore
Requires-Dist: watchdog
Provides-Extra: dev
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# literati


<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

Jupyter notebook combines prose with code in a notebook. `literati`
combines prose with code in a markdown file.

## Usage

Run `literati`. Create a `<file_name>.md` with your favorite editor.

Write code interwoven with markdown:

    Accessing the mainframe to compile some yarn.
    ```python
    def hello():
        print("G'day, World!!")
    ```

Whenever you save your file, `literati` transcribes your file to
`py/<file_name>.py` stripping all the markdown. Only the code remains.

Run `python py/<file_name>.py` to run your code.

### Options

- `literati --path /custom/path` - Monitor a different directory
- `literati --output-dir custom_output` - Use a different output
  directory

## The Why

I wanted to try the following pattern of working with LLMs:

- context is your code
- when you want to make changes or additions, provide the context to
  your LLM
- ask for modifications
- update the context to reflect the new information

Context and code, always in sync. For you and your LLM.

## Installation

Install latest from the GitHub
[repository](https://github.com/radekosmulski/literati):

``` sh
$ pip install git+https://github.com/radekosmulski/literati.git
```

or from [pypi](https://pypi.org/project/literati/)

``` sh
$ pip install literati
```

### Install literati in Development mode

``` sh
# make sure literati package is installed in development mode
$ pip install -e .

# make changes under nbs/ directory
# ...

# compile to have changes apply to literati
$ nbdev_prepare
```
