Metadata-Version: 2.4
Name: pydeltacode
Version: 0.1.0
Summary: Content-addressed function tracking, keep-constrained LLM refactoring, and YAML-driven dynamic patching.
Project-URL: Homepage, https://github.com/MountainClimber2000/pydeltacode
Project-URL: Repository, https://github.com/MountainClimber2000/pydeltacode
Author-email: Kyle Winkler <kylewinkler@deltacode.com.au>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
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: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Requires-Dist: fpdf2>=2.8
Requires-Dist: openai>=1.0
Requires-Dist: pyyaml>=6.0
Description-Content-Type: text/markdown

# pydeltacode
Opensource pydeltacode build

Designing pydeltacode from the opensource layer up. 
Prioritisting user experience and low-friction adoption. 

## Install

```
pip install pydeltacode
```

For development (editable install from a checkout of this repo):

```
pip install -e .
```

## Usage

```python
from pydeltacode import refactor

optimise = refactor(objective="speed")

@optimise.track
def compute(values):
    return sum(values)

compute([1, 2, 3])
optimise.submit(compute)          # send tracked code to the LLM for a refactor
optimise.swap_code(compute, 1)    # swap version 1 into the source file
```

Tracked/refactored data is written to `.pydeltacode/<hash>/` (gitignored) in
the current working directory.

For dynamic, zero-decorator tracking of an arbitrary script via a YAML job
file, see [docs/job_yaml.md](docs/job_yaml.md) and the
[`examples/`](examples/) directory.

See [CONTRIBUTING.md](CONTRIBUTING.md) for how to add support for another
language via the `LanguageAdapter` interface.
