Git Product home page Git Product logo

dedop-conda's Introduction

Build Status Build status
Conda install Linux: Anaconda-Server Badge
Conda install MacOS: Anaconda-Server Badge
Conda install Windows: Anaconda-Server Badge

dedop-conda

Conda recipe and Anaconda installer for the DeDop tool contained in https://github.com/DeDop/dedop

Conda package

Building the DeDop package

Install conda-build in your root Miniconda:

source activate
conda install conda-build

Clone this repo:

git clone https://github.com/DeDop/dedop-conda.git

Build Conda package dedop (see recipe/meta.yaml):

cd dedop-conda
conda build recipe
conda build --output-folder output/directory recipe #only for Linux/MacOS

Test new Conda package dedop in test environment dedop-test

conda create -n dedop-test python=3
source activate dedop-test
conda install --use-local dedop
...
dedop --help

To upload the package to Anaconda Cloud (public repository)

conda install anaconda-client
anaconda login
anaconda upload path/to/package.tar.bz2

Current dedop repository URL: https://anaconda.org/pans/dedop/files

Anaconda installer

Building the installer

Install constructor in your root Miniconda:

source activate
conda install constructor

Clone this repo:

git clone https://github.com/DeDop/dedop-conda.git

Build Anaconda installer dedop (see installer/construct.yaml):

cd dedop-conda
constructor installer

Remaining problems & TODOs

  • For the DeDop shell, we'd like to have desktop icons for Windows, Mac OS and at least Ubuntu. Currently, we can only have a Windows menu group (which is ok). See conda/constructor#38
  • On Windows, constructor will install anything it finds in a package's Menu entry. Therefore users currently find also entries for Jupyter Notebook and the IPython QT Console, which is annoying.
  • We would actually like to create an installer, where Miniconda is just a sub-tree. This is required because later we'll have to add an Electron GUI with HTML/JS sources:
    <install-dir>/
        bin/
        docs/
        notebooks/
        gui/
        python/
        ...

dedop-conda's People

Contributors

forman avatar hans-permana avatar mzuehlke avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

dedop-conda's Issues

Improve package dependency management

This is based on the guideline written by @forman in CCI-Tools project (CCI-Tools/cate#139)

Dependencies should be expressed such that PACKAGE>=MAJOR.MINOR[.PATCH]<MAJOR.(MINOR+1) achieving API compatibility according to SemVer. PATCH should ideally be omiited if not required for some reason.

In only rare cases we should rely on a specific version such that PACKAGE=MAJOR.MINOR.PATCH. For example, this could be the consequence of fixing a dependency conflict. In any of such cases, the reason for doing so must be documented (e.g. comment line).

Any transitive dependencies should not be specified at all unless there is special need for this. A dependency is non-transitive if we import it explicitly in Python code or we need it for some special behaviour (e.g. dask used by xarray) or it provides a special, dynamically loaded plugin.

These are the places where dependencies are declared. All configurations should share the same dependency specifications:

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.