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

[WIP] orca as a conda package #107

Closed
jonmmease opened this issue Aug 1, 2018 · 4 comments
Closed

[WIP] orca as a conda package #107

jonmmease opened this issue Aug 1, 2018 · 4 comments

Comments

@jonmmease
Copy link
Contributor

TLDR

I made a WIP conda package for orca:

try out the package with:

$ conda install -c jonmmease plotly-orca

OS X 64, Linux 64, and Windows 64 are all available

Background

In preparation for adding orca image export support to plotly.py, I spent some time today working on a conda package recipe for orca.

Having a conda package means that conda users can install orca with a single command that's consistent across operating systems. It also means that plotly.py and orca can be installed together with a single command:

# Install both plotly.py and orca
$ conda install -c jonmmease plotly plotly-orca

For the time being I just published the packages to my own personal channel (that's the -c jonmmease part), but we should be able to get this into conda-forge at some point, and hopefully even into the official channel eventually. If we get the package into the official main channel, the -c jonmmease part wouldn't be needed.

Approach

The build recipe is actually ended up being fairly simple. See https://github.com/jonmmease/orca-feedstock.

Here's the general flow that's common to each OS (I've tested OS X, Linux, and Windows 64)

  • Clone the orca git repo (For my experiments I actually cloned Hide electron icon from OS X dock #103 with the OS X hide dock fix)
  • npm install
  • npm run pack
  • Copy the extracted installation files into somewhere appropriate in the conda environment.
  • Add a script named orca to somewhere in the conda environment that ends up on the user's path. This orca script just passes command line args through to the orca executable copied above.

And, amazingly, everything seems to work just fine. I've tested installing the package from OS X, Ubuntu, and Windows 10. In each case I can run orca commands to perform image conversions and there are no warning messages, no windows, and no dock or taskbar flickers.

Please try it out from whatever OSs you have access to, let me know how it works, and take a look at the build recipe if you're so inclined 🙂

Notes

  • I built these packages manually using my local machine and some VMs, this should really be done on CI servers at some point.
  • The package is version 1.0.0, but that's not quite accurate. It's actually Hide electron icon from OS X dock #103
  • I don't plan to generally announce this package until the release of the corresponding version of plotly.py

cc: @etpinard @nicolaskruchten @jackparmer @chriddyp @cpsievert

@etpinard
Copy link
Contributor

etpinard commented Aug 1, 2018

Brilliant @jonmmease Thanks very much for tackling this. 🎉

conda install -c jonmmease plotly plotly-orca sounds a whole lot easier than the current standalone installation instructions.

I was waiting to see if you noticed any other bugs before releasing 1.0.1. I can release orca 1.0.1 that includes #103 tomorrow morning if you like.

I built these packages manually using my local machine and some VMs, this should really be done on CI servers at some point.

Ideally, we should include this step in our CircleCi (for debian), Travis (for Mac) and AppVeyor (for Windows) pack scripts in this repo. Feel free to open a PR here that add your recipe/ folder and the required conda commands.

I suppose we'll want to publish those builds to the plotly conda channel and we'll need credentials to do so, so I'll ping @chriddyp

@jonmmease
Copy link
Contributor Author

Yeah, putting this on the plotly channel would make sense.

I'll take a look at the CircleCI, Travis, and AppVeyor configs to see if I can make sense of how they might be used to run the conda build. Now that the recipes are worked out, there are basically three steps.

  1. Install miniconda and conda-build
  2. Run conda build recipe/
  3. Log in to anaconda channel account and run anaconda upload /path/to/package.tar.bz

The only other thing I've run into besides #103 is the input pipe issue I reported in #104, but I it looks like that might not be solvable on our side.

So I think things are in fine shape for a 1.0.1. But I'm not in a rush, so we could also wait to see if I/we can get the CI conda build worked out as well.

@etpinard
Copy link
Contributor

etpinard commented Aug 2, 2018

we could also wait to see if I/we can get the CI conda build worked out as well.

Good call. Let me know how that goes!

@etpinard
Copy link
Contributor

done in v1.1.0

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

2 participants