Giter VIP home page Giter VIP logo

shopkeepr's Introduction

ShopKeepr

Actions Status

An automated requirements manager for python projects.

Ever felt that updating the requirements.txt file is a bit too tedious? or too bloated with a lot of dependencies? Same. A lot of times it happens that after uninstalling a package from your project, there are dangling dependencies still left.

ShopKeepr takes care of it all for you by maintaining a state of all packages and dependencies installed for the project you're working on, removing all unused dependencies when you uninstall a package and update the requirements.txt file automatically whenever you make a change to the state of installed packages for your projects in your virtual environment.

Installation Instructions:

pip3 install shopkeepr

Usage Instructions:

keepr <command> <package list>

Commands:

  • activate - Activate virtualenv
  • install - Install Packages
  • uninstall - Uninstall Packages and dependencies
  • update - Update an existing package
  • help - Display Help information

Example:

keepr install django==2.2 pymongo==1.2

Note:

  • The application currently supports 'venv' to manage the virtual environment for the project you're working on.
  • The application makes use of a sqlite database named 'packages.db' under each project. You'd need to add that to your .gitignore file to avoid pushing it to your repo.

To-Do:

  • Feature to manage different requirements and installed packages across git branches.
  • Feature to ask user to take action about installed but unused packages.
  • Feature to whitelist packages such that they don't show up as unused even if they arent imported.
  • Solution for modules with different package names and aliases.

shopkeepr's People

Contributors

sameeranb avatar ayushpriya10 avatar geek-ubaid avatar

Stargazers

Aarushi avatar Ujjwal Ayyangar avatar Yaswant Narayan avatar Ayush Shekhar avatar Abhishek Kushwaha avatar Mihir Kawatra avatar Amogh Lele avatar  avatar

Watchers

James Cloos avatar  avatar  avatar Abhishek Kushwaha avatar

Forkers

geek-ubaid

shopkeepr's Issues

Use Python modules

The scripts should use python modules wherever possible. Virtualenv has a package of its own, use that instead on calling subprocceses

Integrated virtual environment management

Virtual Environment management can be integrated into the tool itself for ease of usage and better developer practices. We can make use of existing virtual env. tools like virtualenv in the background.

Check the dependencies being installed for known vulnerabilities.

Add an automated check that warns the users if they're installing a vulnerable version of a Python module.

Ideally, it should also be able to fix these vulnerable dependencies by upgrading/installing a patched version with an optional flag, such as --fix. A more comprehensive flow for the installation of vulnerable packages and rectification measures can be discussed upon.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.