Metadata-Version: 2.4
Name: pydeltacode
Version: 0.1.2
Summary: Optimise your code for runtime performance, loc or peak memory on demand inside your script and compare LLM suggestions against your code. Solutions are tested end-to-end against the function calls executed and results are stored locally for manual verification. This package is designed to retain benefits of AI refactoring but keep an engineer friendly workflow.
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: anthropic>=0.80
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.
