Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Misleading package name and hardcoding port numbers #3

Closed
nicolaskruchten opened this issue Jan 31, 2017 · 25 comments
Closed

Misleading package name and hardcoding port numbers #3

nicolaskruchten opened this issue Jan 31, 2017 · 25 comments

Comments

@nicolaskruchten
Copy link

Hi,

I'm the original author of the jupyter_pivottablejs module and I just spent a few hours helping someone debug things who thought they had installed my package instead of this one... see nicolaskruchten/jupyter_pivottablejs#19

A couple of things:

  1. It's pretty misleading that pip install pivottablejs installs my package but conda install pivottablejs installs this package (and that the readme for this package refers to pip install pivottablejs) so I really wish this package would be renamed pivottablejs_airgapped or something like that
  2. This package currently hardcodes the Jupyter port number as :8888 which can be problematic for people who run on different ports, so I would recommend starting paths at / instead of forcing the host and port.

Cheers,
Nicolas

@rickFanta
Copy link

+1

I'm the one that Nicolas graciously helped.

What functionality does this package add that was missing from Nicolas' version?

@boumboum
Copy link

boumboum commented Mar 8, 2017

Is it possible to use pivottablejs outside of notebook?
i.e. can I use it within a flask powered web page?

@rickFanta
Copy link

rickFanta commented Mar 8, 2017 via email

@rickFanta
Copy link

rickFanta commented Mar 8, 2017 via email

@boumboum
Copy link

boumboum commented Mar 8, 2017

Yes, I've seen it but I like the syntax of pivot_ui(df) far more elegant as constructing the table by javascipt

@nicolaskruchten
Copy link
Author

@ilanschnell (bump) ... I would love to get this resolved somehow :)

@nicolaskruchten
Copy link
Author

@ilanschnell this is still causing confusion and people are reporting issues to me... Can you get in touch please? nicolas@kruchten.com

@eike-mescher
Copy link

@ilanschnell I also just got very confused by the different behaviour of conda install pivottablejs vs pip install pivottablejs (I expected to install the package from @nicolaskruchten). So please rename this package from pivottablejs to something different.

@damianavila
Copy link
Contributor

Pinging @mingwandroid, can we modify the conda recipe for the packages we distribute to point to the correct repository? I can see we are building from this repo and I believe @nicolaskruchten requests is appropriate, we should be shipping their package, not the one we modified it.

cc @csoja

@nicolaskruchten
Copy link
Author

I would very much like to resolve this quasi-fork situation :) I would even be happy bundling the javascript files into my version so as to make it "air-gapped" also if that's what it takes!

@joelhullcio
Copy link

@nicolaskruchten @csoja, including the air-gapped features in the original branch would be ideal. Many enterprises would love to use this library but need solutions that never make external requests. Ideally, the port number would not be hard-coded. Instead it could have a default value and then allow override via an environment variable or some other appropriate config mechanism. If the branches don't get combined I am in favor of renaming the air-gapped package to avoid confusion.

@nicolaskruchten
Copy link
Author

It's great to have some Continuum folks looking at this issue finally! I've been trying to get this resolved for months :)

As a first step I would love it if this package could have a different name in Conda ASAP so as to avoid confusion, which is an active problem for many users right now.

As a separate issue, un-hard-coding the port number in this package should be trivial unless I'm missing something, just start all URLs with / instead of including the hostname, no?

As a third thing, I'll see when I have time to make my version air-gap-friendly and then we can set this whole thing to rest :)

@Psuedosupergenius
Copy link

Has this issue been resolved?

@pandres
Copy link
Contributor

pandres commented Feb 14, 2018

@Psuedosupergenius please test this branch https://github.com/ContinuumIO/pivottablejs-airgap/tree/fix/load-statics-for-pivottable , not sure if that's what you need.

@nicolaskruchten
Copy link
Author

@pandres will you be changing the name of this package for installation via conda or just fixing the hardcoded port numbers?

@damianavila
Copy link
Contributor

@nicolaskruchten that branch @pandres in mentioning contains changes to make pivottable airgap friendly. We have plans to merge that into master soon and create a package with the name pivottablejs-airgap.
We should ping @mingwandroid and @csoja to know if the package coming from main is actually getting your repo instead of this one.

@nicolaskruchten
Copy link
Author

I just checked: conda install pivottablejs installs this package, not mine, and that is what I want to resolve :)

This confusion is still causing issues, for example this one within the last 48h: nicolaskruchten/jupyter_pivottablejs#37

Continuum/Conda/the maintainers of this repo are not being good open source citizens here with this name-squatting, and I'm not sure how to get it resolved... I've reached out numerous times, I've created this issue, I've updated the ReadMe of my repo to include a note trying to explain the situation etc but I'm bearing most of the support burden here and I'm not a happy camper :(

@damianavila
Copy link
Contributor

I just checked: conda install pivottablejs installs this package, not mine, and that is what I want to resolve :)

Yes, I understand. People are looking right now into this issue. Hopefully, we will have a solution sooner than later.

@nehaljwani
Copy link

nehaljwani commented Feb 21, 2018

There were 3 versions of the pivottablejs package:

0.1.0 -> original
2.1.0 -> airgap version
2.7.0 -> airgap version

The airgap versions have been moved to the archive channel at https://repo.continuum.io/pkgs/archive/linux-64/ and copied to non-public facing (private) channel.

The airgapped versions have been rebuilt and made available with the name pivottablejs-airgap

A new build of pivottablejs v0.9.0 has been made available in defaults.

TL;DR:

(root) [someguy@somemachine artifacts]$ conda search pivottablejs
Fetching package metadata ...........
pivottablejs                 0.1.0                    py27_0  defaults        
                             0.1.0                    py34_0  defaults        
                             0.1.0                    py35_0  defaults        
                             0.9.0                    py36_0  defaults        
                             0.9.0                    py27_0  defaults        
                             0.9.0                    py35_0  defaults        
pivottablejs-airgap          2.1.0                    py27_0  defaults        
                             2.1.0                    py35_0  defaults        
                             2.1.0                    py36_0  defaults        
                             2.7.0                    py36_0  defaults        
                             2.7.0                    py27_0  defaults        
                             2.7.0                    py35_0  defaults        

<rant>

Naming is very hard. There are three names: pivottable, pivottablejs and jupyter_pivottablejs.

If I understand correctly, jupyter_pivottablejs uses pivottable but it is published on PyPI with the name: pivottablejs.

In the conda world, to maintain parity with PyPI, the 0.1.0 version of this package was released as pivottablejs in the defaults channel.

Then, somewhere in between, this fork was created and it used the same name, but with 2.x.y versions.

Then, somewhere in between, conda-forge published two packages: pivottable and jupyter_pivottablejs.

In my opinion, pivottablejs should ideally be just a metapackage which should install pivottable and jupyter_pivottablejs and jupyter_pivottablejs should use that installed pivottable.

</rant>

@nehaljwani
Copy link

@nicolaskruchten I hope you can revert this commit now: nicolaskruchten/jupyter_pivottablejs@730640c

nehaljwani added a commit to AnacondaRecipes/aggregate that referenced this issue Feb 21, 2018
nehaljwani added a commit to AnacondaRecipes/aggregate that referenced this issue Feb 21, 2018
nehaljwani added a commit to AnacondaRecipes/aggregate that referenced this issue Feb 21, 2018
@mingwandroid
Copy link

@nicolaskruchten

I'll see when I have time to make my version air-gap-friendly and then we can set this whole thing to rest :)

Any progress on this?

@damianavila
Copy link
Contributor

Thanks @nehaljwani for your work on this!

@nicolaskruchten
Copy link
Author

Thanks very much @nehaljwani and others. I've updated the ReadMe to reflect this change :)

Re naming, yes, the namespacing issue is tough. My original library was in a repo called pivottable, written in CoffeeScript and named PivotTable.js. In the NPM/Javascript 'namespace' it made sense to just refer to it as pivottable. When I created the Jupyter-compatible Python module, it made sense to me to add js to the name, in the presence of other pure-Python pivottable modules, and I tacked on jupyter_ because, well, this module doesn't work outside of Jupyter. Perhaps my mistake was pushing to PyPI with the name pivottablejs instead of sticking with the repo name jupyter_pivottablejs. I'm also not sure why Conda installs my Javascript module as pivottable when PyPI installs a pure-Python module under the same name, which seems more appropriate to me.

@mingwandroid no progress so far on the airgapped version of mine... I would happily accept a PR that merges this library into mine though, and I would then keep it synced with PivotTable.js releases! I would love to reduce the number of versions of this thing that float around. I just noticed https://github.com/PierreMarion23/ipypivot today ;)

@nicolaskruchten
Copy link
Author

As a final comment, it might be helpful to have a more informative ReadMe on this repo, including the conda command to install it, and some more verbiage around what 'airgapped' means for people who might not be familiar with this idiom/speak English as a second, third etc language :)

@damianavila
Copy link
Contributor

As a final comment, it might be helpful to have a more informative ReadMe on this repo, including the conda command to install it, and some more verbiage around what 'airgapped' means for people who might not be familiar with this idiom/speak English as a second, third etc language :)

Done, closing this one now.

ryanskeith pushed a commit to AnacondaRecipes/pivottablejs-airgap-feedstock that referenced this issue Jul 15, 2023
ryanskeith pushed a commit to AnacondaRecipes/pivottablejs-airgap-feedstock that referenced this issue Jul 15, 2023
ryanskeith pushed a commit to AnacondaRecipes/pivottablejs-feedstock that referenced this issue Jul 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants