Make bob, bob again!
:) it means we want to remove this idea of core and extra packages and make everything a part of bob. To do so we need: * Make sure bob is only a meta package (both in PyPI and conda) with only optional dependencies. * Bob will (optionally) depend on all core and extra packages. There will be no concept of core and extra packages anymore. * We will still use semantic versioning in Bob and follow semantic versioning. This means with every release, we could easily be releasing a new major version of Bob: bob 4, bob 5, bob 6 * We could remove bob/bob.nightlies and bob/docs repositories as well and do everything here. * Since the bob package is not going to install anything, we could potentially list private stable packages here too. However, I am not sure we can build the docs here then. Here is the idea for its conda recipe at least: ```yaml {% set name = 'bob' %} {% set project_dir = environ.get('RECIPE_DIR') + '/..' %} package: name: {{ name }} version: {{ environ.get('BOB_PACKAGE_VERSION', '0.0.1') }} build: number: {{ environ.get('BOB_BUILD_NUMBER', 0) }} run_exports: - {{ pin_subpackage(name) }} script: - cd {{ project_dir }} {% if environ.get('BUILD_EGG') %} - python setup.py sdist --formats=zip {% endif %} - python setup.py install --single-version-externally-managed --record record.txt requirements: run: - python {{ python }} - setuptools {{ setuptools }} - bob.extension - bob.blitz ... - bob.ip.flandmark - bob.bio.base ... - gridtk - bob.pad.voice ... - bob.buildout # even bob.buildout test: imports: - {{ name }} commands: - nosetests --with-coverage --cover-package={{ name }} -sv {{ name }} - conda inspect linkages -p $PREFIX {{ name }} # [not win] - conda inspect objects -p $PREFIX {{ name }} # [osx] requires: - bob-devel {{ bob_devel }}.* - nose - coverage - sphinx - sphinx_rtd_theme - pkgtools - cmake - pkg-config - freetype - {{ compiler('c') }} - {{ compiler('cxx') }} - bob.buildout ... ``` Then we run `conda render`, and create a new recipe based on that while converting `run` to `run_constrained`. I have explained this in https://gitlab.idiap.ch/bob/bob.conda/issues/46#note_25677
issue