semvec/pypi-packages huggingface dataset:
cyberchipped 3.1.1
Build AI Agents Fast
License: MIT
Requires Python: <4.0,>=3.9
Keywords: ai, openai

# CyberChipped

[![PyPI - Version](https://img.shields.io/pypi/v/cyberchipped)](https://pypi.org/project/cyberchipped/)

![CyberChipped Logo](https://cyberchipped.com/375.png)

CyberChipped is a Python library that provides the best AI Agent Framework.

## Features

- Streaming text-based conversations with AI
- Audio transcription and streaming text-to-speech conversion
- Thread management for maintaining conversation context
- Message persistence using SQLite or MongoDB
- Custom tool integration for extending AI capabilities
- The best memory context currently available for AI Agents
- Zep integration for tracking facts
- Search Internet with Perplexity tool
- Search Zep facts tool
- Search X with Grok tool
- Reasoning tool that combines OpenAI model reasoning, Zep facts, Internet search, and X search.

## Installation

You can install CyberChipped using pip:

```bash
pip install cyberchipped
```

## Usage

Here's a basic example of how to use CyberChipped:

```python
from cyberchipped import AI, SQLiteDatabase

async def main():
    database = SQLiteDatabase("conversations.db")
    async with AI("your_openai_api_key", "AI Assistant", "Your instructions here", database) as ai:
        user_id = "user123"
        response = await ai.text(user_id, "Hello, AI!")
        async for chunk in response:
            print(chunk, end="", flush=True)
        print()

# Run the async main function
import asyncio
asyncio.run(main())
```

## Contributing

Contributions to CyberChipped are welcome! Please feel free to submit a Pull Request.

## License

This project is licensed under the MIT License - see the LICENSE file for details.
beancount-importer 0.2.1
Various beancount importers
License: MIT
Requires Python: <4.0,>=3.11

beancount-importer
==================

Various custom importers for `beancount`_.

See the `list of supported importers`_.

Installation
------------

.. code-block:: console

    $ pipx install beancount-importers

Usage
-----

``beancount-importer`` expects to be run from within your ledger folder, with a
``config.toml`` file configured with your account details and your patterns.
The file format accepts an optional ``beancount-importer.patterns`` list
containing items in the following format::

    [
        'narration' | 'payee' | 'either' | 'both',
        'Account:Name',
        '^regex$',
    ]

Note that if using the ``both`` target kind, the payee and narration will be
concatendated with a semicolon (``;``) for the purpose of parsing, eg.::

    ['both', 'Income:Salary', '^My Company;Salary$'],

If ``beancount-importer.patterns`` is specified, all definitions in that list
will be applied to all your accounts. In this file, you should also list each
of your accounts, eg.

.. code-block:: toml

    [[beancount-importer.paypal]]
    account = 'Assets:Paypal'

    [[beancount-importer.tangerine]]
    account = 'Assets:Tangerine:Checking'
    lastfour = '1234'

    [[beancount-importer.tangerine]]
    account = 'Liabilities:Tangerine:Mastercard'
    lastfour = '5678'
    patterns = [...]

You can specify any number of accounts, including multiple of the same kind, so
long as they parse with separate filenames. This will be verified when you run
``identify`` -- any ambiguous filenames will produce an error, in which case
you'll need to handle those accounts separately. The ``patterns`` list follows
the same parsing as the above global ``patterns`` object and is optional on a
per-account basis; if specified, those patterns will be appended to your global
pattern list and apply only to this account.

.. code-block:: console

    $ cd /my-beancount/ledger
    $ cat config.toml
    [beancount-importer]
    patterns = [
        ['payee', 'Income:Salary', '^My Employer.*$'],
    ]

    [[beancount-importer.tangerine]]
    account = 'Assets:Tangerine:Checking'
    lastfour = '1234'
    patterns = [
        ['payee', 'Income:Tangerine:Checking:Interest', '^Interest Paid$'],
    ]

    # Check downloaded files for errors
    $ bean-import identify -v ~/Downloads

    # Reconcile issues, fix parsing, adjust patterns, etc
    $ bean-import extract -xe index.beancount ~/Downloads
    $ vim
    $ # ...repeat until no errors...

    # Actually import the new data
    $ bean-import extract -e index.beancount -o my-ledger.beancount ~/Downloads

    # Archive parsed statements
    $ bean-import archive -o docs ~/Downloads

    # Verify everything reconciled properly (command provided by beancount)
    $ bean-check index.beancount

    # View your ledger (command provided by fava)
    $ fava index.beancount

.. _beancount: https://beancount.github.io/
.. _list of supported importers: https://github.com/TheKevJames/beancount-importer/blob/master/beancount_importer/__init__.py