Skip to main content

Demo python+cython project

Project description

https://travis-ci.org/theochem/python-cython-ci-example.svg?branch=master https://ci.appveyor.com/api/projects/status/ora4yr7kot2ffr8x/branch/master?svg=true https://anaconda.org/theochem/pycydemo/badges/version.svg https://codecov.io/gh/theochem/python-cython-ci-example/branch/master/graph/badge.svg

Demo project for building and deploying a Python+Cython packages with AppVeyor CI and Travis CI.

This is based on a similar demo: https://github.com/theochem/python-appveyor-conda-example Additional features:

  • Less auxiliary scripts, making more use of recent Travis and AppVeyor built-in features. This should be easier to understand and adapt.

  • Conda packages for win-32, win-64, linux-64, osx-64.

  • Python 2.7, 3.5, 3.6.

  • Upload to alpha, beta and main channels on Anaconda cloud.

  • Github stable and prerelease source release.

  • PyPI source release. Stable releases only stable only, because others are not safe to upload to PyPI.

  • Documentation deployment to gh-pages (Travis).

  • CI Testing after installation on Travis or AppVeyor instance.

  • Code coverage with codecov.io.

The CI machinery in this project is “easily” used in other projects. The following files/parts need to be copied over (and modified):

  • The version stuff from setup.py and pycydemo/__init__.py. This extracts the version from the latest git tag. Ideally, no other places in your project should define (another) version. Also mind the following in setup.py:
  • Copy tools/conda.recipe/meta.yaml and change the package name and dependencies.

  • Copy .travis.yml and update the env block, including new encrypted tokens and passwords.

  • For windows testing: copy .appveyor.yml and update the env block, including new encrypted tokens and passwords.

Making tokens:

Encrypting tokens (Github, Anaconda) and passwords (PyPI) on Travis-CI:

  • Basic documentation: https://docs.travis-ci.com/user/encryption-keys/

  • Best usage is to just run travis encrypt without arguments. Then enter a variable and content in the form VAR=pass. Press enter. Press Ctrl-d.

  • Copy the encrypted stuff to the env section of .travis.yml

Encrypting tokens (Anaconda) and passwords on AppVeyor:

  • Use https://ci.appveyor.com/tools/encrypt

  • Only enter the password or token itself, so only the pass part of VAR=pass. The VAR is still visible in .appveyor.tml``.

  • Copy to .appveyor.yml.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycydemo-0.2.2.tar.gz (3.2 kB view details)

Uploaded Source

File details

Details for the file pycydemo-0.2.2.tar.gz.

File metadata

  • Download URL: pycydemo-0.2.2.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pycydemo-0.2.2.tar.gz
Algorithm Hash digest
SHA256 4937dcf77269fa6b8049e05718d1c3edb40b06b3e0ea3e53111546dc579715fb
MD5 1dc6afdf4d73d1922a0325d42ee78e7d
BLAKE2b-256 6c678c62b6028ba79c4de791102d9bd1afd6fb6a615bcd961d0cd87a5a44c8f0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page