GithubHelp home page GithubHelp logo

bokeh-feedstock's Introduction

About bokeh-feedstock

Feedstock license: BSD-3-Clause

Home: https://bokeh.org

Package license: BSD-3-Clause

Summary: Statistical and novel interactive HTML plots for Python

Development: https://github.com/bokeh/bokeh

Documentation: https://docs.bokeh.org

Bokeh is a Python interactive visualization library that targets modern web browsers for presentation. Its goal is to provide elegant, concise construction of novel graphics in the style of D3.js, and to extend this capability with high-performance interactivity over very large or streaming datasets. Bokeh can help anyone who would like to quickly and easily create interactive plots, dashboards, and data applications.

Current build status

All platforms:

Current release info

Name Downloads Version Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms

Installing bokeh

Installing bokeh from the conda-forge channel can be achieved by adding conda-forge to your channels with:

conda config --add channels conda-forge
conda config --set channel_priority strict

Once the conda-forge channel has been enabled, bokeh can be installed with conda:

conda install bokeh

or with mamba:

mamba install bokeh

It is possible to list all of the versions of bokeh available on your platform with conda:

conda search bokeh --channel conda-forge

or with mamba:

mamba search bokeh --channel conda-forge

Alternatively, mamba repoquery may provide more information:

# Search all versions available on your platform:
mamba repoquery search bokeh --channel conda-forge

# List packages depending on `bokeh`:
mamba repoquery whoneeds bokeh --channel conda-forge

# List dependencies of `bokeh`:
mamba repoquery depends bokeh --channel conda-forge

About conda-forge

Powered by NumFOCUS

conda-forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the conda-forge GitHub organization. The conda-forge organization contains one repository for each of the installable packages. Such a repository is known as a feedstock.

A feedstock is made up of a conda recipe (the instructions on what and how to build the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by Azure, GitHub, CircleCI, AppVeyor, Drone, and TravisCI it is possible to build and upload installable packages to the conda-forge anaconda.org channel for Linux, Windows and OSX respectively.

To manage the continuous integration and simplify feedstock maintenance conda-smithy has been developed. Using the conda-forge.yml within this repository, it is possible to re-render all of this feedstock's supporting files (e.g. the CI configuration files) with conda smithy rerender.

For more information please check the conda-forge documentation.

Terminology

feedstock - the conda recipe (raw material), supporting scripts and CI configuration.

conda-smithy - the tool which helps orchestrate the feedstock. Its primary use is in the construction of the CI .yml files and simplify the management of many feedstocks.

conda-forge - the place where the feedstock and smithy live and work to produce the finished article (built conda distributions)

Updating bokeh-feedstock

If you would like to improve the bokeh recipe or build a new package version, please fork this repository and submit a PR. Upon submission, your changes will be run on the appropriate platforms to give the reviewer an opportunity to confirm that the changes result in a successful build. Once merged, the recipe will be re-built and uploaded automatically to the conda-forge channel, whereupon the built conda packages will be available for everybody to install and use from the conda-forge channel. Note that all branches in the conda-forge/bokeh-feedstock are immediately built and any created packages are uploaded, so PRs should be based on branches in forks and branches in the main repository should only be used to build distinct package versions.

In order to produce a uniquely identifiable distribution:

  • If the version of a package is not being increased, please add or increase the build/number.
  • If the version of a package is being increased, please remember to return the build/number back to 0.

Feedstock Maintainers

bokeh-feedstock's People

Contributors

beckermr avatar bryevdv avatar conda-forge-admin avatar conda-forge-curator[bot] avatar github-actions[bot] avatar jakirkham avatar jrbourbeau avatar kmuehlbauer avatar martinrenou avatar mattpap avatar nehaljwani avatar ocefpaf avatar philippjfr avatar regro-cf-autotick-bot avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bokeh-feedstock's Issues

Remove/split-out *.js.map files

The *.js.map files are non-negligible in size:

$ find ./lib/python3.7/site-packages/bokeh -type f -name '*.js.map' -exec du -ch {} +
244K    ./lib/python3.7/site-packages/bokeh/server/static/js/bokeh-widgets.js.map
940K    ./lib/python3.7/site-packages/bokeh/server/static/js/bokeh-tables.min.js.map
124K    ./lib/python3.7/site-packages/bokeh/server/static/js/bokeh-api.js.map
760K    ./lib/python3.7/site-packages/bokeh/server/static/js/bokeh-tables.js.map
320K    ./lib/python3.7/site-packages/bokeh/server/static/js/bokeh-widgets.min.js.map
184K    ./lib/python3.7/site-packages/bokeh/server/static/js/bokeh-api.min.js.map
1.9M    ./lib/python3.7/site-packages/bokeh/server/static/js/bokeh.js.map
156K    ./lib/python3.7/site-packages/bokeh/server/static/js/bokeh-gl.min.js.map
2.7M    ./lib/python3.7/site-packages/bokeh/server/static/js/bokeh.min.js.map
 12M    ./lib/python3.7/site-packages/bokeh/server/static/js/compiler.js.map
124K    ./lib/python3.7/site-packages/bokeh/server/static/js/bokeh-gl.js.map
 19M    total

When installing in a docker image it may be useful to remove them to reduce image size.

Right now I'm removing them after installation, which is fine if not ideal.

`conda install flexx -c bokeh` fails on Windows 7

The command conda install flexx -c bokeh on Windows 7 and Python 3.6 fails:


CondaVerificationError: The package for flexx located at C:\APP\Anaconda3\pkgs\f
lexx-0.4.1-py36_0
appears to be corrupted. The path 'lib/python3.6/site-packages/flexx_legacy/webr
untime/nodewebkit.py'
specified in the package manifest cannot be found.

CondaVerificationError: The package for flexx located at C:\APP\Anaconda3\pkgs\f
lexx-0.4.1-py36_0
appears to be corrupted. The path 'lib/python3.6/site-packages/flexx_legacy/webr
untime/qtwebkit.py'
specified in the package manifest cannot be found.

[...]

CondaVerificationError: The package for flexx located at C:\APP\Anaconda3\pkgs\f
lexx-0.4.1-py36_0
appears to be corrupted. The path 'lib/python3.6/site-packages/flexx_legacy/webr
untime/selenium.py'
specified in the package manifest cannot be found.

CondaVerificationError: The package for flexx located at C:\APP\Anaconda3\pkgs\f
lexx-0.4.1-py36_0
appears to be corrupted. The path 'lib/python3.6/site-packages/flexx_legacy/webr
untime/xul.py'
specified in the package manifest cannot be found.


What does work:

  • conda install flexx -c conda-forge on Windows 7 with Python 3.6
  • conda install flexx -c bokeh on Red Hat Enterprise Linux with Python 3.6

Bokeh 1.1 is available

@jakirkham I wanted to note that Bokeh 1.1 is now available. I am not up on how C-F works these days and I have a new job that does not pay me to work on Bokeh so it's likely that anyone else can get to updating here before I could dig into things.

3.8 release for Windows

win-64/bokeh-1.4.0-py38_0.tar.bz2 is marked as broken. I'm wondering when a fixed version will be pushed as this prevents installing other packages that depend on it, like scikit-image.

Defend against Tornado 4.5

Bokeh 0.12.6 and Tornado 4.5 have a known incompatibility. I think that the solution within defaults was to restrict requirements so that installing bokeh would downgrade tornado to 4.5. It looks like this solution hasn't been applied to the conda-forge feedstock

mrocklin@carbon:~$ conda create -n test-bokeh bokeh tornado --dry-run -c conda-forge
Fetching package metadata ...........
Solving package specifications: .

Package plan for installation in environment /home/mrocklin/Software/anaconda/envs/test-bokeh:

The following NEW packages will be INSTALLED:

    bokeh:            0.12.5-py36_0      conda-forge  # <<------
    ca-certificates:  2017.1.23-1        conda-forge
    certifi:          2017.4.17-py36_0   conda-forge
    cycler:           0.10.0-py36_0      conda-forge
    dbus:             1.10.10-3          conda-forge
    expat:            2.1.0-2            conda-forge
    fontconfig:       2.12.1-4           conda-forge
    freetype:         2.7-1              conda-forge
    gettext:          0.19.7-1           conda-forge
    glib:             2.51.4-0           conda-forge
    gst-plugins-base: 1.8.0-0            conda-forge
    gstreamer:        1.8.0-1            conda-forge
    icu:              58.1-1             conda-forge
    jinja2:           2.9.5-py36_0       conda-forge
    jpeg:             9b-0               conda-forge
    libffi:           3.2.1-3            conda-forge
    libiconv:         1.14-4             conda-forge
    libpng:           1.6.28-0           conda-forge
    libxcb:           1.12-1             conda-forge
    libxml2:          2.9.4-4            conda-forge
    markupsafe:       0.23-py36_1        conda-forge
    matplotlib:       2.0.0-np112py36_3  conda-forge
    mkl:              2017.0.1-0                    
    ncurses:          5.9-10             conda-forge
    numpy:            1.12.1-py36_0                 
    openssl:          1.0.2k-0           conda-forge
    pandas:           0.19.2-np112py36_1 conda-forge
    pcre:             8.39-0             conda-forge
    pip:              9.0.1-py36_0       conda-forge
    pyparsing:        2.2.0-py36_0       conda-forge
    pyqt:             5.6.0-py36_2       conda-forge
    python:           3.6.1-0            conda-forge
    python-dateutil:  2.6.0-py36_0       conda-forge
    pytz:             2017.2-py36_0      conda-forge
    pyyaml:           3.12-py36_1        conda-forge
    qt:               5.6.2-2            conda-forge
    readline:         6.2-0              conda-forge
    requests:         2.13.0-py36_0      conda-forge
    setuptools:       33.1.1-py36_0      conda-forge
    sip:              4.18-py36_1        conda-forge
    six:              1.10.0-py36_1      conda-forge
    sqlite:           3.13.0-1           conda-forge
    tk:               8.5.19-1           conda-forge
    tornado:          4.5.1-py36_0       conda-forge  # <<------
    wheel:            0.29.0-py36_0      conda-forge
    xorg-libxau:      1.0.8-3            conda-forge
    xorg-libxdmcp:    1.1.2-3            conda-forge
    xz:               5.2.2-0            conda-forge
    yaml:             0.1.6-0            conda-forge
    zlib:             1.2.11-0           conda-forge

More generally, this exposes a rift in maintenance. Bokeh developers tend to maintain the recipes in the defaults channel but now some people (like the dask development toolchain) rely on the conda-forge channel for most packages. Is it on the bokeh devs to take on this new maintenance burden? Should there be more open lines of communication to the conda-forge recipe maintainers?

cc @jakirkham @bryevdv

Heads up for 3.0 changes

Comment:

cc @ocefpaf @jakirkham @philippjfr

I wanted to draw everyone's attention to a currently in-flight PR: bokeh/bokeh#12306

This PR consolidates configuration and setuptools build in pyproject.toml, and replaces versioneer with setuptools-git-versioning in the process. A half a dozen or more various files are able to be deleted. The PR is still WIP but I am committed to pushing it through, and there are not any outstanding blockers that I can see.

However, I did have to switch up the conda recipe to build the conda package by installing a wheel as described here:

https://docs.conda.io/projects/conda-build/en/latest/user-guide/wheel-files.html#building-a-conda-package-from-a-wheel-file

I had tried to emulate the conda-forge recipe, and build the conda package by calling pip install . form an sdist. This should work, and in fact does work just fine when doing so manually. However, it fails when done by conda-build [1]. Since it works by hand, and not inside conda-build, I have to assume the issue lies with conda-build somehow. But I've expended as much personal time and effort as I am going to on this problem, so unless someone else figures out an explanation or fix, I expect the conda-forge recipe will also need to build directly from a wheel (downloaded from pypi).

[1] Specifically, it generates a package that reports "0.0.0" as the version, which is especially weird/annoying as the correct version can otherwise be seen in many places of the conda-build log.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.