Ejemplo n.º 1
0
    def test_with_selectors(self):
        e = env.from_file(utils.support_file('selectors.yml'))
        self.assert_('conda' in e.dependencies)
        self.assert_('python' in e.dependencies['conda'])
        self.assert_('pytest' not in e.dependencies['conda'])
        self.assert_('sphinx' not in e.dependencies['conda'])
        self.assert_('doctest' not in e.dependencies['conda'])

        e = env.from_file(utils.support_file('selectors.yml'), ['test'])
        self.assert_('conda' in e.dependencies)
        self.assert_('python' in e.dependencies['conda'])
        self.assert_('pytest' in e.dependencies['conda'])
        self.assert_('sphinx' not in e.dependencies['conda'])
        self.assert_('doctest' not in e.dependencies['conda'])

        e = env.from_file(utils.support_file('selectors.yml'), ['docs'])
        self.assert_('conda' in e.dependencies)
        self.assert_('python' in e.dependencies['conda'])
        self.assert_('pytest' not in e.dependencies['conda'])
        self.assert_('sphinx' in e.dependencies['conda'])
        self.assert_('doctest' not in e.dependencies['conda'])

        e = env.from_file(utils.support_file('selectors.yml'), ['docs', 'test'])
        self.assert_('conda' in e.dependencies)
        self.assert_('python' in e.dependencies['conda'])
        self.assert_('pytest' in e.dependencies['conda'])
        self.assert_('sphinx' in e.dependencies['conda'])
        self.assert_('doctest' in e.dependencies['conda'])
Ejemplo n.º 2
0
 def test_http(self):
     e = get_simple_environment()
     f = env.from_file(
         "https://raw.githubusercontent.com/conda/conda/master/tests/conda_env/support/simple.yml"
     )
     self.assertEqual(e.dependencies, f.dependencies)
     assert e.dependencies == f.dependencies
Ejemplo n.º 3
0
def update_env(docs):

    env_data = env.from_file(docs.env_file)

    env_data.dependencies.add("{}_docs={}".format(docs.name, docs.version))
    env_data.channels.append('jerowe')

    env_data.save()
Ejemplo n.º 4
0
def get_name(fname):

    package = env.from_file(fname)
    name = package.name

    l = name.split("_")
    version = l.pop()
    name = "_".join(l)

    return name, version
Ejemplo n.º 5
0
 def test_with_selectors_architecture(self):
     e = env.from_file(utils.support_file('selectors.yml'))
     is_x64 = sys.maxsize > 2**32  # from https://docs.python.org/2/library/platform.html#cross-platform
     self.assert_('conda' in e.dependencies)
     if is_x64:
         self.assert_('baz' in e.dependencies['conda'])
         self.assert_('quux' not in e.dependencies['conda'])
     else:
         self.assert_('baz' not in e.dependencies['conda'])
         self.assert_('quux' in e.dependencies['conda'])
Ejemplo n.º 6
0
def remote_env_exists(tfile):

    #TODO Update this to use binstar utils
    env_config = env.from_file(tfile)
    logging.debug("Testing for package name {}".format(env_config.name))

    try:
        aserver_api.package(os.environ.get("ANACONDA_USER"), env_config.name)
        logging.debug("Remote env exists. Next!")
    except:
        logging.debug("Remote env does not exist! Don't skip!")
        return False

    return True
Ejemplo n.º 7
0
 def test_with_selectors_platform(self):
     e = env.from_file(utils.support_file('selectors.yml'))
     self.assert_('conda' in e.dependencies)
     if sys.platform.startswith('win32'):
         self.assert_('pywin32' in e.dependencies['conda'])
         self.assert_('foo' not in e.dependencies['conda'])
         self.assert_('bar' not in e.dependencies['conda'])
     elif sys.platform.startswith('darwin'):
         self.assert_('pywin32' not in e.dependencies['conda'])
         self.assert_('foo' in e.dependencies['conda'])
         self.assert_('bar' not in e.dependencies['conda'])
     elif sys.platform.startswith('linux'):
         self.assert_('pywin32' not in e.dependencies['conda'])
         self.assert_('foo' not in e.dependencies['conda'])
         self.assert_('bar' in e.dependencies['conda'])
Ejemplo n.º 8
0
    def write_env_markdown(self, fname):

        package = env.from_file(fname)

        name = package.name
        self.environment = name
        self.add_envs()

        p_dict = package.to_dict()
        deps = p_dict['dependencies']

        flat_deps = self.flatten_deps(deps)
        deps = flat_deps
        deps.sort()

        channels = p_dict['channels']

        # f = open('/nyuad-conda-configs/_docs/environment/{}.md'.format(name), 'w')
        f = open('_docs/environment/{}.md'.format(name), 'w')

        f.write("# {}\n".format(name))

        f.write("## Summary\n\n")

        f.write("Coming soon!\n\n")

        f.write("## Software Packages\n\n")

        for dep in deps:
            package_name, package_version = self.parse_deps(dep)

            package_obj = self.search_deps(package_name, package_version,
                                           channels)

            f.write("### {}\n".format(package_name))

            f.write("**Version:** {}\n\n".format(package_version))
            f.write("**Conda Channel:** {}\n\n".format(package_obj.channel))
            f.write("#### Summary:\n{}\n\n".format(package_obj.summary))
            f.write("\n")
            f.write("\n")

        f.close()
Ejemplo n.º 9
0
def main(environment,
         version='0.1.0',
         build_number=0,
         home=None,
         license=None,
         summary=None):
    environment = conda_env.from_file(environment)
    metapackage = environment.name + '-' + uuid.uuid4().hex
    subprocess.check_output([
        'conda', 'env', 'create', '-n', metapackage,
        '-f=' + environment.filename
    ])
    packages = subprocess.check_output(
        ['conda', 'list', '-n', metapackage, '-e'])
    packages = [
        package for package in packages.splitlines()
        if not package.startswith("#")
    ]
    subprocess.check_output(
        ['conda', 'env', 'remove', '-n', metapackage, '-y'])
    metadata = defaultdict(dict)
    metadata['package']['name'] = environment.name
    metadata['package']['version'] = version
    metadata['build']['number'] = build_number
    metadata['requirements']['run'] = packages
    if home is not None:
        metadata['about']['home'] = home
    if license is not None:
        metadata['about']['license'] = license
    if summary is not None:
        metadata['about']['summary'] = summary
    metadata = dict(metadata)
    config = get_or_merge_config(None, channel_urls=environment.channels)
    metadata = MetaData.fromdict(metadata, config=config)
    config.compute_build_id(metadata.name())
    output_file_path = str(
        conda_build.get_output_file_path(metadata, config=config).pop())
    if not inspect_conda_bld_directory or not os.path.exists(output_file_path):
        conda_build.build(metadata, config=config)
    return output_file_path
Ejemplo n.º 10
0
 def test_with_pip(self):
     e = env.from_file(support_file('with-pip.yml'))
     assert 'pip' in e.dependencies
     assert 'foo' in e.dependencies['pip']
     assert 'baz' in e.dependencies['pip']
Ejemplo n.º 11
0
def get_environment(filename):
    return env.from_file(support_file(filename))
Ejemplo n.º 12
0
 def test_with_pip(self):
     e = env.from_file(utils.support_file('with-pip.yml'))
     self.assert_('pip' in e.dependencies)
     self.assert_('foo' in e.dependencies['pip'])
     self.assert_('baz' in e.dependencies['pip'])
Ejemplo n.º 13
0
def get_simple_environment():
    return env.from_file(utils.support_file('simple.yml'))
Ejemplo n.º 14
0
 def test_with_pip(self):
     e = env.from_file(support_file('with-pip.yml'))
     assert 'pip' in e.dependencies
     assert 'foo' in e.dependencies['pip']
     assert 'baz' in e.dependencies['pip']
Ejemplo n.º 15
0
def get_simple_environment():
    return env.from_file(utils.support_file('simple.yml'))
Ejemplo n.º 16
0
 def test_http_raises(self):
     with self.assertRaises(CondaHTTPError):
         env.from_file(
             "https://raw.githubusercontent.com/conda/conda/master/tests/conda_env/support/does-not-exist.yml"
         )
Ejemplo n.º 17
0
 def test_add_pip(self):
     e = env.from_file(support_file('add-pip.yml'))
     expected = OrderedDict([('conda', ['pip', 'car']),
                             ('pip', ['foo', 'baz'])])
     self.assertEqual(e.dependencies, expected)
Ejemplo n.º 18
0
 def test_with_pip(self):
     e = env.from_file(utils.support_file('with-pip.yml'))
     self.assert_('pip' in e.dependencies)
     self.assert_('foo' in e.dependencies['pip'])
     self.assert_('baz' in e.dependencies['pip'])
Ejemplo n.º 19
0
def get_environment(filename):
    return env.from_file(support_file(filename))