Skip to content
← Back to Community
Announcing Universal Package Manager
Profile icon
hacker
has Hacker Plan
amasad

Open-source has revolutionized software development -- it wouldn't be an overstatement to say that it's been the most significant productivity win for developers in the last decade or so. At Repl.it, our goal is to make programming more accessible and what better way to do that than make available to programmers the entirety of open-source packages available at their fingertips.

Today we're excited to announce our Universal Package Manager -- the Repl.it package manager that will grow to support every language on our platform. Where traditionally you have to learn and use different package managers for different languages, now you can install any package in any language that we support behind the same interface. We're
now starting with JavaScript, Python, HTML/CSS/JS, and the web frameworks that we support.

We've had basic support for automatic package detection and installation for a while now, but what changed is that we support search and spec files (package.json, gemfile, requirements.txt, etc) across the board. Furthermore, where we used to write custom code for every language that we support, now we
merely add fields to a config file.

This was made possible by creating a common package manager runner abstractions. Adding package manager support for a language is as easy as adding a couple of fields in a JSON config:

"dependencies": { "env": { "PYTHONPATH": "/run_dir/customize", "MATPLOTLIBRC": "/run_dir/" }, "installDir": ".site-packages", "findCommand": [ "python", "/run_dir/findreqs.py", "--ignore", "/home/runner/.site-packages" ], "installCommand": [ "pip", "install", "--target=/home/runner/.site-packages" ], "specFile": "requirements.txt",

In addition to this we have a more ambitious project in the works to build the same package manager that works across all languages (with the same semantics). You should come work with us.

Signup and start coding.

Voters
Profile icon
PaoloAmoroso
Profile icon
anishanne
Profile icon
gladimdim
Profile icon
mkhoi
Profile icon
Paulalanne
Profile icon
tamsamani
Profile icon
micahlt
Profile icon
jcpinto80rei
Profile icon
Night_ShadowSha
Profile icon
ANNELIESE_MEME
Comments
hotnewtop
Profile icon
wg4568

How about the option to make REPLS their own packages? And then be able to install them from the package manager.

Profile icon
amasad

@wg4568
that's a good idea. People have suggested in the past. Will do.

Profile icon
ifyour

@wg4568
good idea

Profile icon
AriAri

@wg4568
Good idea. Love it.

Profile icon
PYer

?

Profile icon
amasad
Profile icon
ArjunArunkumar
Profile icon
amasad
Profile icon
schout6

It'd be great if I could use Wolfram Programming language & Wolfram Alpha.

Profile icon
AbdUl3

hi, what's the difference between Js And JavaScript

Profile icon
davidpython3

@AbdUl3
There is no difference. Js is an abbr for JavaScript. Is like Hyper Text Markup Language is actually HTML. There is no difference. Is just abbr.

Profile icon
syntax_hacker0

good job

Profile icon
amasad

@syntax_hacker0 thanks!

Profile icon
Gem1n1531

yall should work on an offline program for repl.it. I hate Having to go to a website and not be able to see my programs in its full offline glory

Profile icon
jooluizzz

Awesome!!

Profile icon
OwenBradstreet

Awesome!

Profile icon
micahlt

Please add Ruby as one of the languages that supports this! It is an awesome uprising code that I know needs to be able to use packages!

Profile icon
xiaodaigh

Julia would be great! It's on Hackerrank

Profile icon
TylerCooper

Any reason why pyames does not work specifically windows?

Profile icon
amasad

@TylerCooper
pygames connect directly to your screen and we have no way of doing that currently being in the browser.

However, we have plans to support GUI in the future. It just requires a lot of work.

Profile icon
Gem1n1531
Profile icon
CODERS_SPIRIT

Coding on repl is now going to be much more fun!

Profile icon
VaibhavSingh4

Is it possible to install tensorflow-gpu and keras in python to and use them ?

Profile icon
Foxxo

@VaibhavSingh4
why would you want to? there's no gpu on these systems

Profile icon
arcsector

Out of curiosity, why did I need to reverify my email for this?

Profile icon
HelderRaasch

Nice job!

Profile icon
amasad

@HelderRaasch
thank you!!

Profile icon
angelo_the3rd

Oh man, this is so awesome.