File: bioconda_yaml_gen.py

package info (click to toggle)
sambamba 1.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 3,528 kB
  • sloc: sh: 220; python: 166; ruby: 147; makefile: 103
file content (56 lines) | stat: -rw-r--r-- 1,311 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/env python3

template = """package:
  name: sambamba
  version: '{version}'

source:
  fn: sambamba_v{version}.tar.bz2
  url: {linux_url} # [linux]
  md5: {linux_md5} # [linux]
  url: {osx_url} # [osx]
  md5: {osx_md5} # [osx]

build:
  number: 0

requirements:
  build:
  run:
    - samtools # required for mpileup
    - bcftools # required for mpileup

test:
  commands:
    - sambamba view

about:
  home: https://github.com/biod/sambamba
  license: GPLv2
  summary: Tools for working with SAM/BAM data"""

import json
from urllib.request import urlopen
from hashlib import md5

latest_release = json.loads(urlopen("https://api.github.com/repos/biod/sambamba/releases").read())[0]
sambamba_version = latest_release['tag_name'][1:]

downloads = {}
for asset in latest_release['assets']:
    url = asset['browser_download_url']
    platform = asset['name'].split(sambamba_version)[1].split(".")[0][1:]
    downloads[platform] = url

def md5sum(download):
    h = md5()
    h.update(urlopen(download).read())
    return h.hexdigest()

linux_md5 = md5sum(downloads['linux'])
osx_md5 = md5sum(downloads['osx'])

print template.format(version=sambamba_version,
                linux_url=downloads['linux'],
                osx_url=downloads['osx'],
                linux_md5=linux_md5, osx_md5=osx_md5)