JIT Implementation: Code That Writes Itself
Project description
JIT Implementation: Just-in-Time Code Generation
You've heard of Just-in-Time Compilation. Now, get ready for Just-in-Time Implementation!
Tired of writing code? Let your programs write themselves with JIT Implementation!
Quick Start
from jit_implementation import implement
@implement
class Snake:
"""Snake game in pygame. Initializing launches the game."""
if __name__ == "__main__":
Snake()
# You've just created a fully functional Snake game in just a few lines of code!
Yes, it actually works! Who needs hundreds of lines of code when you have JIT Implementation?
What is JIT Implementation?
JIT Implementation is a groundbreaking Python library that generates your functions and classes on the fly using Large Language Models (LLMs). Simply decorate your function or class with @implement
, and watch the magic unfold!
Key Features
- Lazy Implementation: Code is dynamically created when needed.
- Context-Aware: Analyzes your codebase to understand custom types and project structure.
- Test-Driven Development: Provide test cases, and JIT Implementation ensures they pass.
- Smart Caching: Stores generated implementations for reuse.
Installation
pip install jit-implementation
Advanced Usage
from typing import List
from jit_implementation import implement
@implement(
test_functions=[
lambda f: (f(100) == [2, 2, 5, 5], "Prime factors of 100"),
]
)
def prime_factors(n: int) -> List[int]:
"""Return the prime factors of n"""
assert prime_factors(100) == [2, 2, 5, 5]
assert prime_factors(69420) == [2, 2, 3, 5, 13, 89]
In-Place Code Generation
For the brave souls who trust AI completely, JIT Implementation offers an in_place=True
option that rewrites the source code in the file where the function was declared:
@implement(in_place=True)
def fib(n: int) -> int:
"""Return the nth Fibonacci number"""
# After calling fib(), your source file will be updated with the implementation!
Warning: Use in_place=True
with extreme caution. It will modify your source code!
How It Works
- Define: Provide a function or class signature with a docstring.
- Generate: JIT Implementation uses an LLM to create the implementation.
- Validate: Tests are run (if provided) and iterations are made if necessary.
- Cache: Generated code is stored for future use.
Warning
While powerful, use JIT Implementation responsibly:
- Always review generated code before production use.
- Be aware of potential security vulnerabilities.
- Don't let it hinder your learning and problem-solving skills.
Disclaimer
This project is for educational and experimental purposes. Do not rely on it for critical systems without thorough review.
Support the Project
If you find JIT Implementation helpful or amusing, consider buying me a coffee!
Note: JIT Implementation was created as a joke. While it demonstrates interesting possibilities, it's not intended for serious development use.
"The best code is the code you didn't have to write." - Anonymous JIT Implementation User
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file jit_implementation-0.1.5.tar.gz
.
File metadata
- Download URL: jit_implementation-0.1.5.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.5 Linux/6.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9edc2c51d6a7b44e6d479e99f66f5f6732cccc6d3ce03a9d58b28686e5dc538 |
|
MD5 | d723c2ee4d2ee18d75d484b1b76922fc |
|
BLAKE2b-256 | 50ee94acfdfc5bf49d33151a715370309513f0f9e5d1bf730345021255ff22a1 |
File details
Details for the file jit_implementation-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: jit_implementation-0.1.5-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.5 Linux/6.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d35bb0280a0c8e6b4a6497a7a32b216d3d153d8b6217b94e84604fb6703a2d48 |
|
MD5 | c0547f6e41794c1eb98fbbc4377f9a3a |
|
BLAKE2b-256 | f554c76c57b8df2506f9dc6cf5612ac36d5c8ff6b409709664804ecf2fcd57d1 |