Page MenuHomePhabricator

geojson in PAWS
Closed, DeclinedPublic

Description

Is it possible to have geojson installed in PAWS by default? Although it's possible to install it via pip, as some times passes by, it becomes unavailable and a new installation is required. Mind that GeoJSON is mandatory for creating maps in Commons. Thanks

Event Timeline

How about instead we find a way to persist per-user installed packages?

Sure, but I thought it was simpler to pre-install a single package (provided it's useful for the thing I could expect to do with pywikibot). On the other hand, is there any way to install extra elements that are not installed though pip? I'm trying to read mdb files and the packages require additional support from the operating system (see this, for instance)

Sure, but I thought it was simpler to pre-install a single package (provided it's useful for the thing I could expect to do with pywikibot).

To me it's doesn't seem to be one of those packages that a large proportion of PAWS users would use. Pre-installing packages just for a few users will cause our pool of packages-to-install to be very large (see T55704), and containerization (where every user's processes run in different containers (think of them as lightweight VMs, except the kernel is the same as the host kernel)) will not be able to handle so much usage (this was actually attempted for toolforge in T152089).

On the other hand, is there any way to install extra elements that are not installed though pip? I'm trying to read mdb files and the packages require additional support from the operating system (see this, for instance)

You are always free to compile C dependencies for your own tool / container / whatever in case your code runs on anywhere where you cannot use system package manager (this apply also to toolforge). The question is whether it should be officially supported; and if so whether the method should be documented and/or made easier.

For now, feel free to ask me in case you have trouble doing the compilation for C dependencies, I've done it on toolforge like half a dozen times for different reasons.

Sure, but I thought it was simpler to pre-install a single package (provided it's useful for the thing I could expect to do with pywikibot).

To me it's doesn't seem to be one of those packages that a large proportion of PAWS users would use. Pre-installing packages just for a few users will cause our pool of packages-to-install to be very large (see T55704), and containerization (where every user's processes run in different containers (think of them as lightweight VMs, except the kernel is the same as the host kernel)) will not be able to handle so much usage (this was actually attempted for toolforge in T152089).

Well, in this specific case, mind that GeoJSON is the data type used in MediaWiki maps and in the Map Data namespace so, yes, GeoJSON is a quite sensible package to have in a pywikibot environment. However, I do agree a way to persist packages would be even better :-)

Chicocvenancio subscribed.

I second @zhuyifei1999's assessment here. We install a very limited amount of packages in PAWS to keep the resource use down for the normal user server.

Well, in this specific case, mind that GeoJSON is the data type used in MediaWiki maps and in the Map Data namespace so, yes, GeoJSON is a quite sensible package to have in a pywikibot environment. However, I do agree a way to persist packages would be even better :-)

Even so, we have at the moment a total of one out of 500+ paws users requesting it, and the solution is an added cell with !pip install geojson.

How about instead we find a way to persist per-user installed packages?

This seems like a nice feature to have. https://github.com/Cadair/jupyter_environment_kernels seems like a possible solution for this, I'll investigate a bit more.