DEV Community

Cover image for Introducing 'aasetpy'
Aadarsh Lalchandani
Aadarsh Lalchandani

Posted on

Introducing 'aasetpy'

Attention Python developers! 🐍✨ Tired of the tedious setup process for new projects? Say hello to 'aasetpy' - your new best friend for kickstarting Python projects with ease!

With just one command, aasetpy sets up everything you need:

  • Virtual Environment
  • codebase structure
  • REST API configuration
  • Rate Limiting
  • Environment Variables
  • Initial Git commit
  • Resource Usage Tracking
  • Preserved Logging
  • Containerization
  • and more

It's like having a personal assistant for your development workflow, ensuring your projects are production-ready and scalable from the very start!

aasetpy will create:

  • Virtual Environment (env/)
  • .env file to store environment variables
  • Directory to store Execution Logs (logs/)
  • Python Project Skeleton (src/)
  • utils/ module in src/ > The utils module has annotations and environment variables ready to use
  • requirements.txt with basic lightweight contents

    -

    coverage
    pytest
    pylint
    requests
    psutil
    pydantic
    pydantic-settings
    
  • .gitignore with necessary contents

    -

    env/
    venv/
    *.log
    *.out
    __pycache__/
    .env
    .venv
    .vscode
    test.py
    
  • Dockerfile as basic containerization of the project

  • docker.compose.yml to build and run the docker project

  • README.md with the base instructions

  • main.py with basic implementation and usage of the src modules

  • run.sh to run your files in the parent directory

    run.shwill activate the virtual environment and run the program, storing the execution logs to the specified path

  • If used with the api flag, it will create the following files:

    • rest_api module
    • api.py file in parent directory to run the uvicorn server
    • api security file
    • api logging file
    • update the .env file as per API variables
  • Lastly, it removes nested __pycache__ directories from the project.

Ready to revolutionize your project setup? Check out the 'aasetpy' repository here and see the magic for yourself! We're always open to contributions, so if you have ideas to make the starting point even better, don't hesitate to jump in. Let's make Python project initialization a breeze together! 🚀💻

Love the tool? Smash that star button and share it with your coding crew! ⚡️🤝

Top comments (0)