Skip to main content

LazyDev: Automating Coding Projects

Lazyness is the mother of invention 😉

LazyDev is a Python module that utilizes GPT models to create entire coding projects for you. With just a few simple commands, LazyDev can generate a project file tree, write the necessary code, and even test the project for you. Say goodbye to the hassle of setting up projects from scratch and let LazyDev do the heavy lifting for you.

Features

  • Effortless project initialization: Simply use the lazydev develop -r "I want to develop a game" command to kickstart the project generation process.
  • Interactive question-based approach: LazyDev asks relevant questions to gather essential information before starting the coding process, ensuring that the generated project meets your specific requirements.
  • Complete project planning: LazyDev plans the entire project structure based on the gathered information, setting up the necessary directories and files for you.
  • Automated code generation: The module automatically generates the code based on the project plan, saving you time and effort.
  • Built-in testing functionality: LazyDev even includes an automated testing phase to ensure that the generated code performs as expected.

Installation

LazyDev requires Python 3.6 or above.

pip install lazydev

setup environment

first setup your shell with openai api key in the environment. I would recommend adding it to your ~/.bashrc

echo 'export OPENAI_API_KEY="your_openai_key"' >> ~/.bashrc && source ~/.bashrc

for zsh users:

echo 'export OPENAI_API_KEY="your_openai_key"' >> ~/.zshrc && source ~/.zshrc

Replace your_openai_key with your openai api key

Usage

Using LazyDev is as simple as running a single command. Once installed, you can initiate the project generation process by executing the following command:

Sample

lazydev develop --requirement REQUIREMENT

Replace REQUIREMENT with a brief description of your project's purpose or objective. LazyDev will then prompt you with a series of questions to gather the necessary information for project generation.

After answering the questions, LazyDev will proceed to plan the project structure, create the appropriate file tree, generate the required code files, and even run tests to verify the functionality.

Flags

you can use the following flags :

options:

  • -h, --help show this help message and exit

  • --requirement REQUIREMENT, -r REQUIREMENT # The initial requirement

  • --directory DIRECTORY, -d DIRECTORY # The directory path to put generated files default is ./code

  • --model MODEL, -m MODEL # GPT Mode to use. options: gpt-3.5-turbo, gpt-3.5-turbo-16k, gpt-4. default: gpt-3.5-turbo-16k

Example

Let's say you want to create a Python web application for managing a book library. You can use LazyDev to automate the project setup. Here's an example command:

lazydev develop -r "Book Library Web App"

LazyDev will ask you questions like:

  • What database system would you like to use?
  • What features would you like to include in your web app?
  • Are there any specific libraries or frameworks you want to use?

Based on your responses, LazyDev will generate the project structure, code templates, and even a basic test suite for your book library web app.

Contributing

Contributions are welcome! If you encounter any issues, have ideas for new features, or want to improve the existing ones, feel free to open an issue or submit a pull request on the GitHub repository.

License

This project is licensed under the Apache-2.0 License. See the LICENSE file for more details.

Acknowledgements

LazyDev was inspired by the desire to automate the initial setup and coding process for various projects. The underlying GPT models used in this module were developed by OpenAI.

It is inspired by the project smol-ai/developer, and the principle Build the thing that builds all the things

Contact

If you have any questions or suggestions, feel free to reach out to us at thecodacus@gmail.com.

Happy coding with LazyDev!

Metadata

Release files for lazydev 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lazydev 0.1.3
File Size Uploaded
lazydev-0.1.3.tar.gz 14.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lazydev 0.1.3
File Interpreter ABI Platform
lazydev-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 29.0 kB

Release files / lazydev-0.1.3.tar.gz

Download URL lazydev-0.1.3.tar.gz
Size 14.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e25d5475b60d450149a49012a8c1b611be2bd401b1f31e8add2070db44b50f7c
BLAKE2b-256 checksum
How to use checksums
a9741d8737f64c8fafc85e3b021ad72becc430f08645f7f3cb7d4b67e094b3d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release files / lazydev-0.1.3-py3-none-any.whl

Download URL lazydev-0.1.3-py3-none-any.whl
Size 14.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
074287794f8210a9e75e703de80ab36ac5621655d5ee5c58e4f57efdabc3c2fb
BLAKE2b-256 checksum
How to use checksums
0e2a124228b25622e5c081055e1dbd04cf0e26f5c82a97d18672b05a23eb8865
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page