Skip to content

Commit

Permalink
Add manifest, update setup, cibuildwheel action added
Browse files Browse the repository at this point in the history
  • Loading branch information
oscarhiggott committed Jan 21, 2021
1 parent b91a8c8 commit f94a27e
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 1 deletion.
78 changes: 78 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: Build and upload to PyPI

# Build on every branch push, tag push, and pull request change:
on: [push, pull_request]
# Alternatively, to publish when a (published) GitHub Release is created, use the following:
# on:
# push:
# pull_request:
# release:
# types:
# - published

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

steps:
- uses: actions/checkout@v2

- uses: actions/setup-python@v2
name: Install Python
with:
python-version: '3.7'

- name: Install cibuildwheel
run: |
python -m pip install cibuildwheel==1.7.4
- name: Install Visual C++ for Python 2.7
if: runner.os == 'Windows'
run: |
choco install vcpython27 -f -y
- name: Build wheels
run: |
python -m cibuildwheel --output-dir wheelhouse
- uses: actions/upload-artifact@v2
with:
path: ./wheelhouse/*.whl

build_sdist:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- uses: actions/setup-python@v2
name: Install Python
with:
python-version: '3.7'

- name: Build sdist
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
# upload to PyPI on every tag starting with 'v'
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')
# alternatively, to publish when a GitHub Release is created, use the following rule:
# if: github.event_name == 'release' && github.event.action == 'published'
steps:
- uses: actions/download-artifact@v2
with:
name: artifact
path: dist

- uses: pypa/gh-action-pypi-publish@master
with:
user: __token__
password: ${{ secrets.pypi_password }}
# To test: repository_url: https://test.pypi.org/legacy/
5 changes: 5 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
include LICENSE
include MANIFEST.in
include README.in
include CMakeLists.txt
recursive-include src *.txt *.py *.cpp *.h
9 changes: 9 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,16 +106,25 @@ def build_extension(self, ext):
exec(fp.read(), version)


with open("README.md", "r", encoding="utf-8") as fh:
long_description = fh.read()


setup(
name='PyMatching',
version=version['__version__'],
author='Oscar Higgott',
description='A C++ implementation of the Minimum Weight Perfect Matching decoder, with Python bindings.',
url="https://github.com/oscarhiggott/PyMatching",
ext_modules=[CMakeExtension('pymatching._cpp_mwpm')],
packages=find_packages("src"),
package_dir={'':'src'},
cmdclass=dict(build_ext=CMakeBuild),
install_requires=['scipy', 'numpy', 'networkx'],
classifiers=[
"License :: OSI Approved :: Apache Software License"
],
long_description=long_description,
python_requires='>=3.6',
zip_safe=False,
)
2 changes: 1 addition & 1 deletion src/pymatching/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.

__version__ = "0.2.1.dev0"
__version__ = "0.2.1"

0 comments on commit f94a27e

Please sign in to comment.