Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Demo python+cython project

Project Description

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

This is based on a similar demo: 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

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 and pycydemo/ 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
  • 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:
  • 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
  • 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.

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(3.2 kB) Copy SHA256 Hash SHA256
Source None Nov 8, 2017

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers