38

Viper - a modern packaging tool for Python

Project Type
Open source idea
Summary

Viper - a modern packaging tool for Python

Description
I'm sick and tired of not being able to develop, download libraries and package software smoothly in Python the same way npm/Yarn does in Node.js or maven/gradle does in Java. I hate using virtualenv, pipsi and all those hacks. Anaconda and pip are not as good as npm and they don't paclage your software, they only download libraries(and in gloval namespace which can cause dependecy hell without using virtualenv). Python is a great language and it deserves a solid and simple package manager and build tool. I don't know if something like this already exists and I have no idea how to do it. But I think this could modernize Python to be able to compete more seriously with Node.js.
Tech Stack
Python
Current Team Size
2
URL
Comments
  • 6
    Future projects rattlesnake, king Cobra and black Mamba.
  • 3
    @aitkotw
    I wanted a short, 3 letter name like git and npm that has something to do with Python.

    You are welcome to suggest other names :)
  • 2
    @clovisIrex just kidding, name doesn't matters - what matters is that how good your product is, "is it helpful if I use it?", And stuff I don't know python very well so I don't think I'll bring much of a help but wish you luck for your project.
  • 0
    @aitkotw
    I'll explain the current situation so you could understanf the need for this:

    Wheb you write an application in Node.js or java and you need to dowload some library you usually don't really need to think much about it. You just download it wih your packaging tool, it downloads it, resolves dependecies and builds your applocation so it doesn't affect other applications' dependecies, thus preventing dependency hell on your dev machine and on the deployed machines.

    But in Python it's much more complicated. Pip and conda download these libraries into global namespace and pollute your system. The solution ia to use virtualenv, which is basically a virtual Python environment on the software level. But afterwards distributing this code to another machine and packaging is a pain on the ass unless you somehow compile ot which is not what is inteded for Python at all.
  • 1
    @clovisIrex ok I understood why are you doing this but according to your post you say you don't know how to do, so how will you do it.
  • 0
    @aitkotw
    That's why I posted this, so I could get potebtial help from guys who do
  • 0
    @clovisIrex For a name? How about 'Pyt' pronounced, 'Pit'?
  • 0
    @daegontaven
    My github link is on my devrant profile, I got an email address there
  • 0
    @daegontaven

    viper is awesome, but I love short names, faster to type on the terminal.
  • 2
    boa seems great to me :)
  • 1
    Welcome to democracy xD
  • 3
    You should really check out pipenv. It solves usability issues with pip and virtualenvs. About packaging and distribution python has still a way to go.
    At least in ubuntu based distributions snaps can be a solution.
  • 0
    @daegontaven Boa is not awkward at all. Sounds great to me.
  • 0
    @daegontaven TBH, the only reason I prefer Boa is that it is shorter and a boa constrictor is more closely related to a python 😂
  • 1
    Just my 2 cents. Before I read the post, I knew we were talking about a python package manager because of the name "boa".
  • 0
    I like the idea, but I think you are about to find out how weird the import system in python is. You probably will eventually reinvent tox.

    Most of the problems here stem from pythons import system requirement to be backwards compatible. It's a core code issue.

    Btw. If you are able to fix the absurdity with compiling c extensions on Windows, you would be a god to me.
  • 0
    I would like to contribute on this
    And I actually like the name boa, it gives me good vibes 😂
  • 0
    Just add a shortand for `install` like in `npm i` and I'm good with it.
  • 0
    bmp - black mamba package
Add Comment