Metadata-Version: 2.1
Name: tinylang
Version: 0.6.3
Summary: A tiny language interpreter
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp==3.8.5
Requires-Dist: aiosignal==1.3.1
Requires-Dist: annotated-types==0.5.0
Requires-Dist: async-timeout==4.0.3
Requires-Dist: attrs==23.1.0
Requires-Dist: certifi==2023.7.22
Requires-Dist: charset-normalizer==3.2.0
Requires-Dist: contourpy==1.1.1
Requires-Dist: cycler==0.12.1
Requires-Dist: fonttools==4.43.1
Requires-Dist: frozenlist==1.4.0
Requires-Dist: idna==3.4
Requires-Dist: imageio==2.31.5
Requires-Dist: kiwisolver==1.4.5
Requires-Dist: lazy-loader==0.3
Requires-Dist: matplotlib==3.8.0
Requires-Dist: multidict==6.0.4
Requires-Dist: networkx==3.2
Requires-Dist: numpy==1.26.1
Requires-Dist: openai==0.28.1
Requires-Dist: opencv-python==4.8.1.78
Requires-Dist: packaging==23.2
Requires-Dist: pillow==10.1.0
Requires-Dist: pydantic==2.4.2
Requires-Dist: pydantic-core==2.10.1
Requires-Dist: pyparsing==3.1.1
Requires-Dist: python-dateutil==2.8.2
Requires-Dist: requests==2.31.0
Requires-Dist: scikit-image==0.22.0
Requires-Dist: scipy==1.11.3
Requires-Dist: six==1.16.0
Requires-Dist: tifffile==2023.9.26
Requires-Dist: tqdm==4.66.1
Requires-Dist: typing-extensions==4.8.0
Requires-Dist: urllib3==2.0.5
Requires-Dist: yarl==1.9.2

# 🦜🔗🔍 Tinylang

Make working with LLMs insanely simpler and easier than ever before.

## What is tinylang?
A hackable and simpler Langchain.

Langchain can be very cumbersome and annoying to work with. It's too big, complicated, and shoves pre-made prompts down your throat.

With tinylang, everything is intuitive and customizable, following most of the Langchain API.


## Installation

```shell
pip install tinylang
```

## Usage

```
from tinychain.memory import ConversationMemory
from tinychain.llms import OpenAI
from tinychain.chains import Chain

memory = ConversationMemory(last_k=10)

chatGPT = OpenAI(openai_api_key='')

chain = Chain(memory, chatGPT)

prompt = "Hello"
print(chain.run(prompt))
```


## Features

- 🧠 Conversation Memory. Keep all or some aspects of your conversation
- 🤖 OpenAI LLMs. It couldn't be easier to call the OpenAI API.
- 💻 Prompts. Simple and hackable.



## Contributing

To automate package versions, we use semantic-release, which automatically bumps versions based on our commit messages.
See [here](https://py-pkgs.org/07-releasing-versioning.html#automatic-version-bumping).

Example: add a feature, minor version will be bumped from `0.1.0` to `0.2.0`:
```
git commit -m "feat: add example data and datasets module"
```

Example: fix a bug, patch version bumped from `0.1.0` to `0.1.1`
```
git commit -m "fix: fix confusing error message in plot_words"
```
