Metadata-Version: 2.3
Name: menschmachine
Version: 0.1.217
Summary: 
Author: Michael Lahr
Author-email: michael.lahr@gmail.com
Requires-Python: >=3.12,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: anthropic (>=0.34.2,<0.35.0)
Requires-Dist: beautifulsoup4 (>=4.13.3,<5.0.0)
Requires-Dist: dataclasses-json (>=0.6.7,<0.7.0)
Requires-Dist: fastapi (>=0.115.0,<0.116.0)
Requires-Dist: gitpython (>=3.1.44,<4.0.0)
Requires-Dist: google-generativeai (>=0.8.3,<0.9.0)
Requires-Dist: html5lib (>=1.1,<2.0)
Requires-Dist: langchain (>=0.3.3,<0.4.0)
Requires-Dist: langchain-anthropic (>=0.2.3,<0.3.0)
Requires-Dist: langchain-google-genai (>=2.0.9,<3.0.0)
Requires-Dist: litellm (>=1.60.5,<2.0.0)
Requires-Dist: lxml (>=5.3.0,<6.0.0)
Requires-Dist: openai (>=1.61.1,<2.0.0)
Requires-Dist: pylint (>=3.3.4,<4.0.0)
Requires-Dist: pymitter (>=0.5.1,<0.6.0)
Requires-Dist: pytest (>=8.3.4,<9.0.0)
Requires-Dist: rich (>=13.9.4,<14.0.0)
Requires-Dist: ripgrepy (>=2.1.0,<3.0.0)
Description-Content-Type: text/markdown

# MenschMachine library

## Problems / Bugs

Usage matrix:

| 	                   | OpenAI 	     | Anthropic	                 | DeepSeek	     | Gemini	                     | 	  | 	  |
|---------------------|--------------|----------------------------|---------------|-----------------------------|----|----|
| Direct      	       | 	Y with func | 	  Y with func             | 	    ?        | 	   ?                       | 	  | 	  |
| OpenRouter	         | 	  ?         | 	   Y with func            | 	   Y no func | 	   N (errors with funcs)   | 	  | 	  |
| 	     LiteLLM proxy | 	     ?      | 	    N (errors with funcs) | 	  ?          | 	     N (errors with funcs) | 	  | 	  |
| 	                   | 	            | 	                          | 	             | 	                           | 	  | 	  |

## LiteLLM

- errors when using tools with anthropic and gemini (different errors)

### OpenRouter

- gemini hangs after first tool result

## TODO

- retry failed patch as aider does
- MM().ask(prompt, max_costs=0.10)
- add whoosh for local (file) search
- Change Remove Operation from first line (contents) to last line (content) 
- add a line-numbering agent for callbacks for Remove-Operatin 
