Skip to main content

AI developer for lazy programmer

Project description

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 python -m lazydev.develop -r <what you want to do> 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:

lazydev develop -r "what ever you want to do"

Replace what ever you want to do 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.

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!

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

lazydev-0.0.6.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

lazydev-0.0.6-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file lazydev-0.0.6.tar.gz.

File metadata

  • Download URL: lazydev-0.0.6.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for lazydev-0.0.6.tar.gz
Algorithm Hash digest
SHA256 dafd9a891ee5d6f5447bf6f535061cba2f59cf3c47f299f3f64a33edf6003451
MD5 09cabc53329ec8815a4892a40d63e7c2
BLAKE2b-256 c0378f6ba3e3041b21c8dbfe55b37d6e4f8a389257964f00e1d207929f5a2092

See more details on using hashes here.

File details

Details for the file lazydev-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: lazydev-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for lazydev-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c366ababffae6f08fba462eb2adb4d57340421aa3366dd4272b4455f390dfd92
MD5 d381e7af17e1607a100ef392d4019b84
BLAKE2b-256 71ff5f62ab526bc3ba4661cda5b4eb506c8a467944dcee852cb233d2fad22e04

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