conda-forge / conda-smithy

The tool for managing conda-forge feedstocks.
https://conda-forge.org/
BSD 3-Clause "New" or "Revised" License
152 stars 176 forks source link

Bug: Type annotations in yaml files (e.g. OrderedDict) #811

Open SylvainCorlay opened 6 years ago

SylvainCorlay commented 6 years ago

As per https://github.com/conda-forge/ipyleaflet-feedstock/pull/37#issuecomment-398860469, conda-smithy appears to be outputting decorated yaml, which causes issues with conda-build.

@isuruf was suggesting that it was due to ruamel.yaml being at the wrong version.

isuruf commented 6 years ago

Can you post the output of conda list?

SylvainCorlay commented 6 years ago

there it is:

affine                    2.2.0                      py_0    conda-forge
alabaster                 0.7.10                   py36_1    conda-forge
anaconda-client           1.6.5                      py_0    conda-forge
aplus                     0.11.0                   py36_0    conda-forge
appnope                   0.1.0                    py36_0    conda-forge
asn1crypto                0.24.0                   py36_0  
astropy                   3.0.2                    py36_1    conda-forge
asv                       0.3.dev1263+e1903152           <pip>
attrs                     17.4.0                     py_0    conda-forge
babel                     2.5.3                    py36_0    conda-forge
backports                 1.0                      py36_1    conda-forge
backports.functools_lru_cache 1.5                      py36_0    conda-forge
beautifulsoup4            4.6.0                    py36_0    conda-forge
blas                      1.1                    openblas    conda-forge
bleach                    2.1.3                      py_0    conda-forge
bokeh                     0.12.16                  py36_0    conda-forge
boost                     1.66.0                   py36_0    QuantStack
boost-cpp                 1.66.0                        0    QuantStack
boto3                     1.6.7                      py_0    conda-forge
botocore                  1.9.7                      py_0    conda-forge
bottleneck                1.2.1                    py36_1    conda-forge
bqfunc                    0.6.0                     <pip>
bqopt                     0.1.3                     <pip>
bqpde1d                   0.5.1                     <pip>
bqpde2d                   0.2.2                     <pip>
bqplot                    0.10.5                   py36_0    conda-forge
bqplot                    0.10.5                    <pip>
bqwidgets                 0.9.0                     <pip>
breathe                   4.7.3                    py36_0    conda-forge
bsplines                  0.1.2                     <pip>
bzip2                     1.0.6                         1    conda-forge
ca-certificates           2018.4.16                     0    conda-forge
cachetools                2.0.1                      py_0    conda-forge
cairo                     1.14.10                       0    conda-forge
certifi                   2018.4.16                py36_0    conda-forge
cffi                      1.11.4           py36h342bebf_0  
chardet                   3.0.4            py36h96c241c_1  
clangdev                  5.0.0                   cling_1  [cling]  QuantStack
click                     6.7                        py_1    conda-forge
click-plugins             1.0.3                    py36_0    conda-forge
cligj                     0.4.0                    py36_0    conda-forge
cling                     0.5                           7  [cling]  local
cling-patches             1                             0    QuantStack
cloudpickle               0.5.3                      py_0    conda-forge
clyent                    1.2.2                    py36_0    conda-forge
cmake                     3.10.2                        4    conda-forge
conda                     4.5.4                    py36_0    conda-forge
conda-build               3.8.1                    py36_0    conda-forge
conda-build-all           1.1.3                      py_0    conda-forge
conda-env                 2.6.0                         0    conda-forge
conda-forge-pinning       2018.06.19                    1    conda-forge
conda-smithy              3.1.6                      py_0    conda-forge
conda-verify              2.0.0                    py36_0    conda-forge
cppzmq                    4.2.3                   cling_0  [cling]  QuantStack
cryptography              2.1.4            py36h842514c_0  
cryptopp                  5.6.5                   cling_0  [cling]  QuantStack
curl                      7.55.1                        0    conda-forge
cxxopts                   2.1.0                         0    QuantStack
cycler                    0.10.0                   py36_0    conda-forge
cython                    0.28.3                   py36_0    conda-forge
cytoolz                   0.9.0.1                  py36_0    conda-forge
dask                      0.17.2                     py_0    conda-forge
dask-core                 0.17.2                     py_0    conda-forge
decorator                 4.3.0                     <pip>
decorator                 4.2.1                    py36_0    conda-forge
distributed               1.21.8                   py36_0    conda-forge
docutils                  0.14                     py36_0    conda-forge
doxygen                   1.8.14                        0    conda-forge
entrypoints               0.2.3                    py36_1    conda-forge
expat                     2.2.5                         0    conda-forge
ffmpeg                    3.4.2                         0    conda-forge
filelock                  3.0.4                    py36_0    conda-forge
flexx                     0.4.1                    py36_0    conda-forge
flit                      0.13                     py36_0    conda-forge
fontconfig                2.12.6                        0    conda-forge
freetype                  2.8.1                         0    conda-forge
freexl                    1.0.5                         0    conda-forge
future                    0.16.0                   py36_0    conda-forge
gdal                      2.2.3                    py36_0    conda-forge
geos                      3.6.2                         1    conda-forge
geotiff                   1.4.2                         1    conda-forge
gettext                   0.19.8.1                      0    conda-forge
giflib                    5.1.4                         0    conda-forge
gitdb2                    2.0.3                      py_0    conda-forge
gitpython                 2.1.8                      py_0    conda-forge
glib                      2.55.0                        0    conda-forge
glob2                     0.5                      py36_0    conda-forge
gmp                       6.1.2                         0    conda-forge
gnutls                    3.5.17                        0    conda-forge
graphite2                 1.3.11                        0    conda-forge
gsl                       2.4             blas_openblas_0  [blas_openblas]  conda-forge
gtest                     1.8.0                h2d50403_6    conda-forge
h5netcdf                  0.6.1                      py_0    conda-forge
h5py                      2.8.0            py36h470a237_0    conda-forge
harfbuzz                  1.7.6                         0    conda-forge
hdf4                      4.2.13                        0    conda-forge
hdf5                      1.10.1                        2    conda-forge
heapdict                  1.0.0                    py36_0    conda-forge
html5lib                  1.0.1                      py_0    conda-forge
icu                       58.2                          0    conda-forge
idna                      2.6              py36h8628d0a_1  
ilmbase                   2.2.0                         1    QuantStack
imageio                   2.3.0                    py36_0    conda-forge
imagesize                 1.0.0                    py36_0    conda-forge
intel-openmp              2018.0.0             h8158457_8  
ipydatawidgets            3.0.0                     <pip>
ipykernel                 4.8.2                    py36_0    conda-forge
ipyleaflet                0.7.3                    py36_0    conda-forge
ipyleaflet                0.8.3                     <pip>
ipympl                    0.1.1                    py36_0    conda-forge
ipympl                    0.1.1                     <pip>
ipyscales                 0.1.3                     <pip>
ipysheet                  0.2.0b3                   <pip>
ipython                   6.2.1                    py36_1    conda-forge
ipython_genutils          0.2.0                    py36_0    conda-forge
ipyvolume                 0.4.5                    py36_0    conda-forge
ipywebrtc                 0.3.0                    py36_0    conda-forge
ipywidgets                7.2.0                    py36_0    conda-forge
jedi                      0.11.1                   py36_0    conda-forge
jinja2                    2.10                     py36_0    conda-forge
jmespath                  0.9.3                    py36_0    conda-forge
jpeg                      9b                            2    conda-forge
json-c                    0.12.1                        0    conda-forge
jsonschema                2.6.0                    py36_1    conda-forge
jupyter_client            5.2.3                    py36_0    conda-forge
jupyter_console           5.2.0                    py36_0    conda-forge
jupyter_core              4.4.0                      py_0    conda-forge
jupyter_kernel_test       0.3                      py36_0    local
jupyterlab                0.32.1                   py36_0    conda-forge
jupyterlab_launcher       0.10.5                   py36_0    conda-forge
kapteyn                   2.3                 np113py36_1    conda-forge
kealib                    1.4.7                         4    conda-forge
kiwisolver                1.0.1                    py36_1    conda-forge
krb5                      1.14.2                        0    conda-forge
libcxx                    5.0.0                         0    conda-forge
libcxxabi                 4.0.1                hebd6815_0  
libdap4                   3.18.3                        2    conda-forge
libedit                   3.1.20170329                  0    conda-forge
libffi                    3.2.1                h475c297_4  
libflac                   1.3.1                         0    conda-forge
libgcc                    4.8.5               hdbeacc1_10  
libgdal                   2.2.3                         3    conda-forge
libgfortran               3.0.1                h93005f0_2  
libiconv                  1.15                          0    conda-forge
libidn11                  1.33                          0    conda-forge
libkml                    1.3.0                         6    conda-forge
libnetcdf                 4.4.1.1                      10    conda-forge
libogg                    1.3.2                         0    conda-forge
libpng                    1.6.34                        0    conda-forge
libpq                     9.6.6                h77f6c7a_0  
libsndfile                1.0.27                        1    conda-forge
libsodium                 1.0.15                        1    conda-forge
libspatialite             4.3.0a              h0a2fa02_18  
libssh2                   1.8.0                         2    conda-forge
libtiff                   4.0.9                         0    conda-forge
libuv                     1.19.2                        0    conda-forge
libvorbis                 1.3.5                         0    conda-forge
libwebp                   0.5.2                         7    conda-forge
libxml2                   2.9.7                         0    conda-forge
llvmdev                   5.0.0                   cling_1  [cling]  QuantStack
locket                    0.2.0                    py36_1    conda-forge
m4                        1.4.18                        0    conda-forge
markupsafe                1.0                      py36_0    conda-forge
matplotlib                2.2.2                    py36_0    conda-forge
mistune                   0.8.3                      py_0    conda-forge
mkl                       2018.0.1             hfbd8650_4  
mock                      2.0.0                    py36_0    conda-forge
msgpack-python            0.5.6            py36h2d50403_2    conda-forge
nbconvert                 5.3.1                      py_1    conda-forge
nbformat                  4.4.0                    py36_0    conda-forge
ncurses                   5.9                          10    conda-forge
netcdf4                   1.3.1                    py36_1    conda-forge
nettle                    3.3                           0    conda-forge
networkx                  2.1                      py36_0    conda-forge
nlohmann_json             3.1.2                         0    QuantStack
nodejs                    8.10.0                        0    conda-forge
notebook                  5.4.0                    py36_0    conda-forge
numpy                     1.13.3          py36_blas_openblas_201  [blas_openblas]  conda-forge
numpybind                 0.1.2                     <pip>
olefile                   0.45.1                   py36_0    conda-forge
openblas                  0.2.20                        7    conda-forge
openexr                   2.2.1                         0    QuantStack
openimageio               1.8.9                         0    QuantStack
openjpeg                  2.3.0                         2    conda-forge
openssl                   1.0.2o                        0    conda-forge
packaging                 17.1                       py_0    conda-forge
pandas                    0.22.0                   py36_0    conda-forge
pandoc                    2.1.2                         0    conda-forge
pandocfilters             1.4.1                    py36_0    conda-forge
pango                     1.40.14                       0    conda-forge
parso                     0.1.1                      py_0    conda-forge
partd                     0.3.8                    py36_0    conda-forge
patsy                     0.5.0                    py36_0  
pbr                       3.1.1                    py36_0    conda-forge
pcre                      8.39                          0    conda-forge
pexpect                   4.4.0                    py36_0    conda-forge
pickleshare               0.7.4                    py36_0    conda-forge
pillow                    5.0.0                    py36_0    conda-forge
pip                       10.0.1                    <pip>
pip                       9.0.1            py36h1555ced_4  
pixman                    0.34.0                        1    conda-forge
pkginfo                   1.4.1                    py36_0    conda-forge
pluggy                    0.6.0                      py_0    conda-forge
Pollster                  0.1.6                     <pip>
poppler                   0.61.1                        3    conda-forge
poppler-data              0.4.8                         0    conda-forge
progressbar2              3.38.0                   py36_0    conda-forge
proj4                     4.9.3                         5    conda-forge
prompt_toolkit            1.0.15                   py36_0    conda-forge
psutil                    5.4.3                    py36_0    conda-forge
ptyprocess                0.5.2                    py36_0    conda-forge
pugixml                   1.8.1                   cling_0  [cling]  QuantStack
py                        1.5.2                      py_0    conda-forge
pybind11                  2.2.3                     <pip>
pybqblas                  0.1.4                     <pip>
pycosat                   0.6.3            py36hee92d8f_0  
pycparser                 2.18             py36h724b2fc_1  
pycrypto                  2.6.1                    py36_1    conda-forge
pygithub                  1.37                     py36_1    conda-forge
pygments                  2.2.0                    py36_0    conda-forge
pyjwt                     1.5.3                      py_0    conda-forge
pynxsimd                  0.1.2                     <pip>
pyopengl                  3.1.1a1                  py36_0    conda-forge
pyopenssl                 17.5.0           py36h51e4350_0  
pyparsing                 2.2.0                    py36_0    conda-forge
pyqt                      5.6.0                    py36_5    conda-forge
pysocks                   1.6.7            py36hfa33cec_1  
pytest                    3.4.2                    py36_0    conda-forge
pytest-arraydiff          0.2                        py_0    conda-forge
pytest-astropy            0.2.1                      py_0    conda-forge
pytest-doctestplus        0.1.2                      py_0    conda-forge
pytest-openfiles          0.2.0                      py_0    conda-forge
pytest-remotedata         0.2.0                      py_0    conda-forge
pytest-runner             4.2                        py_0    conda-forge
python                    3.6.4                hc167b69_1  
python-dateutil           2.7.0                      py_0    conda-forge
python-utils              2.3.0                    py36_0    conda-forge
python.app                2                py36h54569d5_7  
pythreejs                 1.0.0                     <pip>
pytz                      2018.3                     py_0    conda-forge
pywavelets                0.5.2                    py36_1    conda-forge
pyyaml                    3.12                     py36_1    conda-forge
pyzmq                     16.0.2                  cling_0  [cling]  QuantStack
qt                        5.6.2                h9e3eb04_4    conda-forge
r                         3.4.1                  r3.4.1_0    conda-forge
r-base                    3.4.1                         3    conda-forge
r-boot                    1.3_20                 r3.4.1_0    conda-forge
r-class                   7.3_14                 r3.4.1_0    conda-forge
r-cluster                 2.0.6                  r3.4.1_0    conda-forge
r-codetools               0.2_15                 r3.4.1_0    conda-forge
r-foreign                 0.8_67                 r3.4.1_0    conda-forge
r-kernsmooth              2.23_15                r3.4.1_0    conda-forge
r-lattice                 0.20_34                r3.4.1_0    conda-forge
r-mass                    7.3_48                 r3.4.1_0    conda-forge
r-matrix                  1.2_14                 r3.4.1_0    conda-forge
r-mgcv                    1.8_17                 r3.4.1_0    conda-forge
r-nlme                    3.1_131                r3.4.1_0    conda-forge
r-nnet                    7.3_12                 r3.4.1_0    conda-forge
r-recommended             3.4.1                  r3.4.1_0    conda-forge
r-rpart                   4.1_13                 r3.4.1_0    conda-forge
r-spatial                 7.3_11                 r3.4.1_0    conda-forge
r-survival                2.40_1                 r3.4.1_0    conda-forge
rasterio                  0.36.0                   py36_3    conda-forge
readline                  7.0                           0    conda-forge
requests                  2.18.4           py36h4516966_1  
requests-toolbelt         0.8.0                    py36_0    conda-forge
requests_download         0.1.2                    py36_0    conda-forge
rhash                     1.3.4                         0    conda-forge
ruamel.yaml               0.15.35                  py36_0    conda-forge
ruamel_yaml               0.15.35          py36h1de35cc_1  
s3transfer                0.1.13                   py36_0    conda-forge
scikit-image              0.13.1                   py36_0    conda-forge
scikit-learn              0.19.1          py36_blas_openblas_201  [blas_openblas]  conda-forge
scipy                     1.0.0           py36_blas_openblas_201  [blas_openblas]  conda-forge
send2trash                1.5.0                      py_0    conda-forge
setuptools                38.4.0                   py36_0  
sidecar                   0.1.0.dev0                <pip>
simplegeneric             0.8.1                    py36_0    conda-forge
sip                       4.18                     py36_1    conda-forge
six                       1.11.0           py36h0e22d5e_1  
smmap2                    2.0.3                    py36_0    conda-forge
snowballstemmer           1.2.1                    py36_0    conda-forge
snuggs                    1.4.1                    py36_0    conda-forge
sortedcontainers          2.0.3                    py36_0    conda-forge
sphinx                    1.7.2                    py36_0    conda-forge
sphinx_rtd_theme          0.2.4                    py36_0    conda-forge
sphinxcontrib-websupport  1.0.1                    py36_0    conda-forge
sqlite                    3.20.1                        2    conda-forge
statsmodels               0.8.0            py36h9c68fc9_0  
tblib                     1.3.2                    py36_0    conda-forge
terminado                 0.8.1                    py36_0    conda-forge
testpath                  0.3.1                    py36_0    conda-forge
tk                        8.6.7                h35a86e2_3  
toolz                     0.9.0                      py_0    conda-forge
tornado                   4.5.3                    py36_0    conda-forge
tqdm                      4.19.7                     py_0    conda-forge
traitlets                 4.3.2                    py36_0    conda-forge
traittypes                0.0.6                    py36_0    conda-forge
traittypes                0.2.1                     <pip>
twine                     1.10.0                   py36_0    conda-forge
typing                    3.6.4                    py36_0    conda-forge
urllib3                   1.22             py36h68b9469_0  
vaex-core                 0.4.0                     <pip>
vaex-hdf5                 0.2.1                     <pip>
vaex-jupyter              0.2.1                     <pip>
vaex-viz                  0.3.0                     <pip>
wcwidth                   0.1.7                    py36_0    conda-forge
webencodings              0.5                      py36_0    conda-forge
wheel                     0.30.0           py36h5eb2c71_1  
widgetsnbextension        3.2.0                    py36_0    conda-forge
x264                      20131217                      3    conda-forge
xarray                    0.10.7                   py36_0    conda-forge
xerces-c                  3.2.0                         0    conda-forge
xeus                      0.12.0                  cling_0  [cling]  QuantStack
xproperty                 0.7.0                         0    QuantStack
xtensor                   0.15.9                        0    QuantStack
xtensor-blas              0.10.0          blas_openblas_0  [blas_openblas]  QuantStack
xtl                       0.4.9                         0    QuantStack
xwidgets                  0.10.0                        0    QuantStack
xz                        5.2.3                h0278029_2  
yaml                      0.1.7                hc338f04_2  
yarn                      1.3.2                         0    conda-forge
zeromq                    4.2.3                   cling_3  [cling]  QuantStack
zict                      0.1.3                      py_0    conda-forge
zlib                      1.2.11               hf3cbc9b_2  
isuruf commented 6 years ago

Can you try adding,

yaml.add_representer(OrderedDict, yaml.representer.SafeRepresenter.represent_mapping)

after line https://github.com/conda-forge/conda-smithy/blob/master/conda_smithy/configure_feedstock.py#L315 and see what happens?

cc @johanneskoester