Skip to content

Commit

Permalink
Merge pull request #1049 from pysam-developers/release-0.17.0
Browse files Browse the repository at this point in the history
Release 0.17.0
  • Loading branch information
AndreasHeger authored Sep 28, 2021
2 parents c6913a9 + 3a6a5bb commit f770bb8
Show file tree
Hide file tree
Showing 5 changed files with 161 additions and 2 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: CI

on: [push, pull_request]
# on: [push, pull_request]
on: [pull_request]

jobs:
direct:
Expand Down
107 changes: 107 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
name: Publish pysam wheels to PyPI and TestPyPI

on: push

jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, macos-10.15] # windows-2019,

steps:
- name: Checkout pysam
uses: actions/checkout@v2

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: '3.8'

- name: Install prerequisite Python libraries
run: |
python -m pip install --upgrade pip
pip install cython pytest pytest-pep8
- name: Build wheels for linux
if: runner.os == 'Linux'
uses: pypa/[email protected]
env:
CIBW_BUILD: cp36-* cp37-* cp38-* cp39-*
CIBW_BEFORE_BUILD: yum install -y libcurl-devel zlib-devel bzip2-devel xz-devel && pip install cython
CIBW_MANYLINUX_X86_64_IMAGE: manylinux1
CIBW_MANYLINUX_I686_IMAGE: manylinux1

- name: Build wheels for macos
if: runner.os != 'Linux'
uses: pypa/[email protected]
env:
CIBW_BUILD: cp36-* cp37-* cp38-* cp39-*
CIBW_BEFORE_BUILD: pip install cython

- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
path: ./wheelhouse/*.whl

build_sdist:

runs-on: ${{ matrix.os }}-latest
strategy:
matrix:
os: [ubuntu, macos]
python-version: [3.9]

steps:
- name: Checkout pysam
uses: actions/checkout@v2

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}

- name: Install prerequisite Python libraries
run: pip install cython pytest pytest-pep8

- name: Install build prerequisites
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -q --no-install-recommends --no-install-suggests libcurl4-openssl-dev
- name: Create source distribution
run: python setup.py sdist

- uses: actions/upload-artifact@v2
with:
path: dist/*.tar.gz

upload_pypi:

needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest

steps:
- name: Get Artifacts
uses: actions/download-artifact@v2
with:
name: artifact
path: dist

- name: Publish distribution to Test PyPI
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')
uses: pypa/gh-action-pypi-publish@master
with:
user: __token__
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
repository_url: https://test.pypi.org/legacy/

- name: Publish distribution to PyPI
if: github.event_name == 'release' && github.event.action == 'published'
uses: pypa/gh-action-pypi-publish@master
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}

9 changes: 9 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1,8 +1,17 @@
Many people have contributed to pysam. The list of github contributors
is the best place to get a full list of authors and their contributions.
The list and summary below is a out-of-date and represents the earlier
stages of the project.

List of contributors:

Andreas Heger, Tildon Grant Belgard, Florian Finkernagel, Leo
Goodstadt, Martin Goodson all contributed code to pysam.

John Marshall has been looking after pysam and its community for
several years, as well as making many code contributions and improving
the engineering of pysam.

Kevin B. Jacobs implemented a Cython wrapper for the VCF/BCF
reader/writer in htslib.

Expand Down
42 changes: 42 additions & 0 deletions doc/release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,48 @@
Release notes
=============

Release 0.17.0
==============

This release wraps htslib/samtools/bcftools version 1.13. Corresponding
to new samtools commands, `pysam.samtools` now has additional functions
`ampliconclip`, `ampliconstats`, `fqimport`, and `version`.

Bugs fixed:

* [#447] The maximum QNAME length is fully restored to 254
* [#506, #958, #1000] Don't crash the Python interpreter on ``pysam.bcftools.*()`` errors
* [#603] count_coverage: ignore reads that have no SEQ field
* [#928] Fix ``pysam.bcftools.mpileup()`` segmentation fault
* [#983] Add win32/\*.[ch] to MANIFEST.in
* [#994] Raise exception in ``get_tid()`` if header could not be parsed
* [#995] Choose TBI/CSI in ``tabix_index()`` via both min_shift and csi
* [#996] ``AlignmentFile.fetch()`` now works with large chromosomes longer than 2\ :sup:`29` bases
* [#1019] Fix Sphinx documentation generation by avoiding Python 2 ``ur'string'`` syntax
* [#1035] Improved handling of file iteration errors
* [#1038] ``tabix_index()`` no longer leaks file descriptors
* [#1040] ``print(aligned_segment)`` now prints the correct TLEN value
(it also now prints RNAME/RNEXT more clearly and prints POS/PNEXT 1-based)
* *setup.py* longer uses ``setup(use_2to3)`` for compatibility with setuptools >= v58.0.0

New facilities:

* [PR #963] Additional VCF classes are exposed to pysam programmers
* [#998, PR #1001] Add ``get/set_encoding_error_handler()`` to control UTF-8 conversion
* [PR #1012] Running ``python setup.py sdist`` now automatically runs cythonize
* Running tests with ``pytest`` now automatically runs ``make`` to generate test data

Documentation improvements:

* [#726] Clarify get_forward_sequence/get_forward_qualities documentation
* [#865] Improved example
* [#968] ``get_index_statstics`` parameters
* [#986] Clarify ``VariantFile.fetch`` start/stop region parameters are 0-based and half-open.
* [#990] Corrected ``PileupColumn.get_query_sequences`` documentation
* [#999] Fix documentation for ``AlignmentFile.get_reference_length()``
* [#1002] Document the default min_base_quality for ``pileup()``


Release 0.16.0
==============

Expand Down
2 changes: 1 addition & 1 deletion pysam/version.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# pysam versioning information
__version__ = "0.16.0.1"
__version__ = "0.17.0"

__samtools_version__ = "1.13"
__bcftools_version__ = "1.13"
Expand Down

0 comments on commit f770bb8

Please sign in to comment.