Skip to main content

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

  1. Define: Provide a function or class signature with a docstring.
  2. Generate: JIT Implementation uses an LLM to create the implementation.
  3. Validate: Tests are run (if provided) and iterations are made if necessary.
  4. 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!

Buy 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

jit_implementation-0.1.5.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

jit_implementation-0.1.5-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

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

Hashes for jit_implementation-0.1.5.tar.gz
Algorithm Hash digest
SHA256 c9edc2c51d6a7b44e6d479e99f66f5f6732cccc6d3ce03a9d58b28686e5dc538
MD5 d723c2ee4d2ee18d75d484b1b76922fc
BLAKE2b-256 50ee94acfdfc5bf49d33151a715370309513f0f9e5d1bf730345021255ff22a1

See more details on using hashes here.

File details

Details for the file jit_implementation-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for jit_implementation-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d35bb0280a0c8e6b4a6497a7a32b216d3d153d8b6217b94e84604fb6703a2d48
MD5 c0547f6e41794c1eb98fbbc4377f9a3a
BLAKE2b-256 f554c76c57b8df2506f9dc6cf5612ac36d5c8ff6b409709664804ecf2fcd57d1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page