Code files you and your LLM can read and your computer can run.
Project description
literati
Jupyter notebook combines prose with code in a notebook.
literati
combines prose with code in a markdown file.
Usage
File Watching Mode
Run
literati.
Create a <file_name>.md with your favorite editor.
Write code interwoven with markdown:
> Time for some fair dinkum mischief...
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.
One-time Conversion
If you just want to convert markdown files without watching for changes,
use
md_to_py:
Copy $ md_to_py input_directory output_directory
This will process all markdown files in input_directory and save the
extracted code to Python files in output_directory.
Options
File Watching: - literati --path /custom/path - Monitor a different
directory - literati --output-dir custom_output - Use a different
output directory
One-time Conversion: - md_to_py --input-dir /path/to/markdown -
Directory containing markdown files -
md_to_py --output-dir custom_output - Directory for output Python
files (defaults to ‘py’)
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:
$ pip install git+https://github.com/radekosmulski/literati.git
or from pypi
$ pip install literati
Install literati in Development mode
# 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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file literati-0.0.6.tar.gz.
File metadata
- Download URL: literati-0.0.6.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a526ceb3010f9a1835453d8521afc5cef554a27fa856d4a5b7b6142e32ad3ef
|
|
| MD5 |
c7cfb43d8dfe8083cf746cf40b2b3e59
|
|
| BLAKE2b-256 |
2fa5962a48fe40957cd6d3b0cd0f8e2380da82e95dbc4c0f6fbab03bfd4dd69f
|
File details
Details for the file literati-0.0.6-py3-none-any.whl.
File metadata
- Download URL: literati-0.0.6-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e002c765fea22cfa8c799984e195b50b756baddf69625932360b25691ffd82e
|
|
| MD5 |
8a40c95df60104b82563cd126b0d638e
|
|
| BLAKE2b-256 |
aaad33b59c00e4e5e6d42f4ac130a4ddb3b197791576977700351e38a1fb64ee
|