[Python-modules-commits] [lazy-object-proxy] 01/08: Import lazy-object-proxy_1.2.2.orig.tar.gz
Sandro Tosi
morph at moszumanska.debian.org
Fri Apr 22 20:07:41 UTC 2016
This is an automated email from the git hooks/post-receive script.
morph pushed a commit to branch master
in repository lazy-object-proxy.
commit 2a9be12d11cfa69d71ba868af293aa324c5eb576
Author: Sandro Tosi <morph at debian.org>
Date: Wed Apr 20 19:46:33 2016 +0100
Import lazy-object-proxy_1.2.2.orig.tar.gz
---
.bumpversion.cfg | 11 ++
.cookiecutterrc | 61 +++++----
.editorconfig | 13 ++
.travis.yml | 44 +++---
AUTHORS.rst | 2 +-
CHANGELOG.rst | 6 +
CONTRIBUTING.rst | 15 ++-
LICENSE | 2 +-
MANIFEST.in | 4 +-
PKG-INFO | 75 ++---------
README.rst | 51 ++++---
appveyor.yml | 210 +++++++++++++++++------------
ci/appveyor-bootstrap.ps1 | 88 ------------
ci/appveyor-bootstrap.py | 117 ++++++++++++++++
ci/appveyor-download.py | 107 +++++++++++++++
ci/appveyor-with-compiler.cmd | 37 +++--
ci/bootstrap.py | 4 +
ci/templates/.travis.yml | 27 ++--
ci/templates/appveyor.yml | 67 +++++----
ci/templates/tox.ini | 59 ++++----
docs/conf.py | 26 +++-
docs/index.rst | 7 +-
docs/readme.rst | 4 -
docs/reference/lazy_object_proxy.rst | 6 +-
docs/requirements.txt | 3 +-
setup.cfg | 34 ++---
setup.py | 39 +++---
src/lazy_object_proxy.egg-info/PKG-INFO | 75 ++---------
src/lazy_object_proxy.egg-info/SOURCES.txt | 5 +-
src/lazy_object_proxy/__init__.py | 8 +-
tests/compat.py | 52 +++----
tests/test_lazy_object_proxy.py | 6 +-
tox.ini | 156 +++++++++++++--------
33 files changed, 830 insertions(+), 591 deletions(-)
diff --git a/.bumpversion.cfg b/.bumpversion.cfg
new file mode 100644
index 0000000..2ee4ce8
--- /dev/null
+++ b/.bumpversion.cfg
@@ -0,0 +1,11 @@
+[bumpversion]
+current_version = 1.2.2
+commit = True
+tag = True
+
+[bumpversion:file:setup.py]
+
+[bumpversion:file:docs/conf.py]
+
+[bumpversion:file:src/lazy_object_proxy/__init__.py]
+
diff --git a/.cookiecutterrc b/.cookiecutterrc
index a98746c..da69998 100644
--- a/.cookiecutterrc
+++ b/.cookiecutterrc
@@ -1,29 +1,34 @@
-# This file exists so you can easily regenerate your project.
-#
-# Unfortunatelly cookiecutter can't use this right away so
-# you have to copy this file to ~/.cookiecutterrc
+# Generated by cookiepatcher, a small shim around cookiecutter (pip install cookiepatcher)
-default_context:
-
- c_extension_optional: 'yes'
- c_extension_support: 'yes'
- codecov: 'yes'
- command_line_interface: 'no'
- coveralls: 'yes'
- distribution_name: 'lazy-object-proxy'
- email: 'contact at ionelmc.ro'
- full_name: 'Ionel Cristian Mărieș'
- github_username: 'ionelmc'
- landscape: 'yes'
- package_name: 'lazy_object_proxy'
- project_name: 'lazy-object-proxy'
- project_short_description: 'A fast and thorough lazy object proxy.'
- release_date: '2015-04-11'
- repo_name: 'python-lazy-object-proxy'
- scrutinizer: 'yes'
- sphinx_theme: 'sphinx-py3doc-enhanced-theme'
- test_matrix_configurator: 'yes'
- test_runner: 'pytest'
- version: '1.0.2'
- website: 'http://blog.ionelmc.ro'
- year: '2014-2015'
+cookiecutter:
+ appveyor: 'yes'
+ c_extension_cython: 'no'
+ c_extension_optional: 'yes'
+ c_extension_support: 'yes'
+ codacy: 'yes'
+ codeclimate: 'yes'
+ codecov: 'yes'
+ command_line_interface: 'no'
+ command_line_interface_bin_name: lazy-object-proxy
+ coveralls: 'yes'
+ distribution_name: lazy-object-proxy
+ email: contact at ionelmc.ro
+ full_name: Ionel Cristian Mărieș
+ github_username: ionelmc
+ landscape: 'yes'
+ package_name: lazy_object_proxy
+ project_name: lazy-object-proxy
+ project_short_description: A fast and thorough lazy object proxy.
+ release_date: '2016-04-14'
+ repo_name: python-lazy-object-proxy
+ requiresio: 'yes'
+ scrutinizer: 'yes'
+ sphinx_doctest: 'no'
+ sphinx_theme: sphinx-py3doc-enhanced-theme
+ test_matrix_configurator: 'yes'
+ test_matrix_separate_coverage: 'no'
+ test_runner: pytest
+ travis: 'yes'
+ version: 1.2.2
+ website: https://blog.ionelmc.ro
+ year: 2014-2016
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..4000618
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,13 @@
+# see http://editorconfig.org
+root = true
+
+[*]
+end_of_line = lf
+trim_trailing_whitespace = true
+insert_final_newline = true
+indent_style = space
+indent_size = 4
+charset = utf-8
+
+[*.{bat,cmd,ps1}]
+end_of_line = crlf
diff --git a/.travis.yml b/.travis.yml
index 6e52d4b..8d84bb6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,33 +1,47 @@
language: python
-python: 2.7
+python: '3.5'
sudo: false
env:
global:
- LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so
+ - LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so
+ - SEGFAULT_SIGNALS=all
matrix:
- TOXENV=check
- - TOXENV=2.6,extension-coveralls,coveralls,codecov
- - TOXENV=2.6-nocover
- - TOXENV=2.7,extension-coveralls,coveralls,codecov
- - TOXENV=2.7-nocover
- - TOXENV=3.3,extension-coveralls,coveralls,codecov
- - TOXENV=3.3-nocover
- - TOXENV=3.4,extension-coveralls,coveralls,codecov
- - TOXENV=3.4-nocover
- - TOXENV=pypy,extension-coveralls,coveralls,codecov
- - TOXENV=pypy-nocover
+ - TOXENV=docs
+
+ - TOXENV=2.6-cover,extension-coveralls,coveralls,codecov
+ - TOXENV=2.6-nocov
+ - TOXENV=2.7-cover,extension-coveralls,coveralls,codecov
+ - TOXENV=2.7-nocov
+ - TOXENV=3.3-cover,extension-coveralls,coveralls,codecov
+ - TOXENV=3.3-nocov
+ - TOXENV=3.4-cover,extension-coveralls,coveralls,codecov
+ - TOXENV=3.4-nocov
+ - TOXENV=3.5-cover,extension-coveralls,coveralls,codecov
+ - TOXENV=3.5-nocov
+ - TOXENV=pypy-cover,extension-coveralls,coveralls,codecov
+ - TOXENV=pypy-nocov
before_install:
- python --version
- - virtualenv --version
- - pip --version
- uname -a
- lsb_release -a
install:
- pip install tox
+ - virtualenv --version
+ - easy_install --version
+ - pip --version
+ - tox --version
script:
- tox -v
+after_failure:
+ - more .tox/log/* | cat
+ - more .tox/*/log/* | cat
+before_cache:
+ - rm -rf $HOME/.cache/pip/log
+cache:
+ directories:
+ - $HOME/.cache/pip
notifications:
email:
on_success: never
on_failure: always
-
diff --git a/AUTHORS.rst b/AUTHORS.rst
index 0e54887..d01607a 100644
--- a/AUTHORS.rst
+++ b/AUTHORS.rst
@@ -2,4 +2,4 @@
Authors
=======
-* Ionel Cristian Mărieș - http://blog.ionelmc.ro
+* Ionel Cristian Mărieș - https://blog.ionelmc.ro
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 4ebc615..42f5005 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -2,6 +2,12 @@
Changelog
=========
+1.2.2 (2016-04-14)
+------------------
+
+* Added `manylinux <https://www.python.org/dev/peps/pep-0513/>`_ wheels.
+* Minor cleanup in readme.
+
1.2.1 (2015-08-18)
------------------
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index 2e1bb7b..5a269b6 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -30,14 +30,15 @@ If you are proposing a feature:
* Explain in detail how it would work.
* Keep the scope as narrow as possible, to make it easier to implement.
-* Remember that this is a volunteer-driven project, and that contributions are welcome :)
+* Remember that this is a volunteer-driven project, and that code contributions are welcome :)
Development
===========
To set up `python-lazy-object-proxy` for local development:
-1. `Fork python-lazy-object-proxy on GitHub <https://github.com/ionelmc/python-lazy-object-proxy/fork>`_.
+1. Fork `python-lazy-object-proxy <https://github.com/ionelmc/python-lazy-object-proxy>`_
+ (look for the "Fork" button).
2. Clone your fork locally::
git clone git at github.com:your_name_here/python-lazy-object-proxy.git
@@ -68,15 +69,15 @@ If you need some code review or feedback while you're developing the code just m
For merging, you should:
1. Include passing tests (run ``tox``) [1]_.
-2. Update documentation when there's new API, functionality etc.
+2. Update documentation when there's new API, functionality etc.
3. Add a note to ``CHANGELOG.rst`` about the changes.
4. Add yourself to ``AUTHORS.rst``.
-.. [1] If you don't have all the necessary python versions available locally you can rely on Travis - it will
+.. [1] If you don't have all the necessary python versions available locally you can rely on Travis - it will
`run the tests <https://travis-ci.org/ionelmc/python-lazy-object-proxy/pull_requests>`_ for each change you add in the pull request.
-
+
It will be slower though ...
-
+
Tips
----
@@ -86,4 +87,4 @@ To run a subset of tests::
To run all the test environments in *parallel* (you need to ``pip install detox``)::
- detox
\ No newline at end of file
+ detox
diff --git a/LICENSE b/LICENSE
index 0209986..9ac3fbe 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2014-2015, Ionel Cristian Mărieș
+Copyright (c) 2014-2016, Ionel Cristian Mărieș
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
diff --git a/MANIFEST.in b/MANIFEST.in
index 33a4802..92351c4 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -7,8 +7,8 @@ graft tests
include .bumpversion.cfg
include .coveragerc
include .cookiecutterrc
+include .editorconfig
include .isort.cfg
-include .pylintrc
include AUTHORS.rst
include CHANGELOG.rst
@@ -18,4 +18,4 @@ include README.rst
include tox.ini .travis.yml appveyor.yml
-global-exclude *.py[cod] __pycache__ *.so
+global-exclude *.py[cod] __pycache__ *.so *.dylib
diff --git a/PKG-INFO b/PKG-INFO
index 3971fc0..2240a94 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,76 +1,16 @@
Metadata-Version: 1.1
Name: lazy-object-proxy
-Version: 1.2.1
+Version: 1.2.2
Summary: A fast and thorough lazy object proxy.
Home-page: https://github.com/ionelmc/python-lazy-object-proxy
Author: Ionel Cristian Mărieș
Author-email: contact at ionelmc.ro
License: BSD
-Description: ===============================
- lazy-object-proxy
- ===============================
+Description: ========
+ Overview
+ ========
- .. list-table::
- :stub-columns: 1
- * - docs
- - |docs|
- * - tests
- - | |travis| |appveyor|
- | |coveralls| |codecov| |landscape| |scrutinizer|
- * - package
- - |version| |downloads|
-
- ..
- |wheel| |supported-versions| |supported-implementations|
-
- .. |docs| image:: https://readthedocs.org/projects/python-lazy-object-proxy/badge/?style=flat
- :target: https://readthedocs.org/projects/python-lazy-object-proxy
- :alt: Documentation Status
-
- .. |travis| image:: http://img.shields.io/travis/ionelmc/python-lazy-object-proxy/master.svg?style=flat&label=Travis
- :alt: Travis-CI Build Status
- :target: https://travis-ci.org/ionelmc/python-lazy-object-proxy
-
- .. |appveyor| image:: https://img.shields.io/appveyor/ci/ionelmc/python-lazy-object-proxy/master.svg?style=flat&label=AppVeyor
- :alt: AppVeyor Build Status
- :target: https://ci.appveyor.com/project/ionelmc/python-lazy-object-proxy
-
- .. |coveralls| image:: http://img.shields.io/coveralls/ionelmc/python-lazy-object-proxy/master.svg?style=flat&label=Coveralls
- :alt: Coverage Status
- :target: https://coveralls.io/r/ionelmc/python-lazy-object-proxy
-
- .. |codecov| image:: http://img.shields.io/codecov/c/github/ionelmc/python-lazy-object-proxy/master.svg?style=flat&label=Codecov
- :alt: Coverage Status
- :target: https://codecov.io/github/ionelmc/python-lazy-object-proxy
-
- .. |landscape| image:: https://landscape.io/github/ionelmc/python-lazy-object-proxy/master/landscape.svg?style=flat
- :target: https://landscape.io/github/ionelmc/python-lazy-object-proxy/master
- :alt: Code Quality Status
-
- .. |version| image:: http://img.shields.io/pypi/v/lazy-object-proxy.svg?style=flat
- :alt: PyPI Package latest release
- :target: https://pypi.python.org/pypi/lazy-object-proxy
-
- .. |downloads| image:: http://img.shields.io/pypi/dm/lazy-object-proxy.svg?style=flat
- :alt: PyPI Package monthly downloads
- :target: https://pypi.python.org/pypi/lazy-object-proxy
-
- .. |wheel| image:: https://pypip.in/wheel/lazy-object-proxy/badge.svg?style=flat
- :alt: PyPI Wheel
- :target: https://pypi.python.org/pypi/lazy-object-proxy
-
- .. |supported-versions| image:: https://pypip.in/py_versions/lazy-object-proxy/badge.svg?style=flat
- :alt: Supported versions
- :target: https://pypi.python.org/pypi/lazy-object-proxy
-
- .. |supported-implementations| image:: https://pypip.in/implementation/lazy-object-proxy/badge.svg?style=flat
- :alt: Supported implementations
- :target: https://pypi.python.org/pypi/lazy-object-proxy
-
- .. |scrutinizer| image:: https://img.shields.io/scrutinizer/g/ionelmc/python-lazy-object-proxy/master.svg?style=flat
- :alt: Scrutinizer Status
- :target: https://scrutinizer-ci.com/g/ionelmc/python-lazy-object-proxy/
A fast and thorough lazy object proxy.
@@ -105,6 +45,12 @@ Description: ===============================
Changelog
=========
+ 1.2.2 (2016-04-14)
+ ------------------
+
+ * Added `manylinux <https://www.python.org/dev/peps/pep-0513/>`_ wheels.
+ * Minor cleanup in readme.
+
1.2.1 (2015-08-18)
------------------
@@ -142,6 +88,7 @@ Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Utilities
diff --git a/README.rst b/README.rst
index f74c9db..d31886c 100644
--- a/README.rst
+++ b/README.rst
@@ -1,6 +1,8 @@
-===============================
-lazy-object-proxy
-===============================
+========
+Overview
+========
+
+.. start-badges
.. list-table::
:stub-columns: 1
@@ -8,31 +10,33 @@ lazy-object-proxy
* - docs
- |docs|
* - tests
- - | |travis| |appveyor|
- | |coveralls| |codecov| |landscape| |scrutinizer|
+ - | |travis| |appveyor| |requires|
+ | |coveralls| |codecov|
+ | |landscape| |scrutinizer| |codacy| |codeclimate|
* - package
- - |version| |downloads|
-
-..
- |wheel| |supported-versions| |supported-implementations|
+ - |version| |downloads| |wheel| |supported-versions| |supported-implementations|
.. |docs| image:: https://readthedocs.org/projects/python-lazy-object-proxy/badge/?style=flat
:target: https://readthedocs.org/projects/python-lazy-object-proxy
:alt: Documentation Status
-.. |travis| image:: http://img.shields.io/travis/ionelmc/python-lazy-object-proxy/master.svg?style=flat&label=Travis
+.. |travis| image:: https://travis-ci.org/ionelmc/python-lazy-object-proxy.svg?branch=master
:alt: Travis-CI Build Status
:target: https://travis-ci.org/ionelmc/python-lazy-object-proxy
-.. |appveyor| image:: https://img.shields.io/appveyor/ci/ionelmc/python-lazy-object-proxy/master.svg?style=flat&label=AppVeyor
+.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/ionelmc/python-lazy-object-proxy?branch=master&svg=true
:alt: AppVeyor Build Status
:target: https://ci.appveyor.com/project/ionelmc/python-lazy-object-proxy
-.. |coveralls| image:: http://img.shields.io/coveralls/ionelmc/python-lazy-object-proxy/master.svg?style=flat&label=Coveralls
+.. |requires| image:: https://requires.io/github/ionelmc/python-lazy-object-proxy/requirements.svg?branch=master
+ :alt: Requirements Status
+ :target: https://requires.io/github/ionelmc/python-lazy-object-proxy/requirements/?branch=master
+
+.. |coveralls| image:: https://coveralls.io/repos/ionelmc/python-lazy-object-proxy/badge.svg?branch=master&service=github
:alt: Coverage Status
:target: https://coveralls.io/r/ionelmc/python-lazy-object-proxy
-.. |codecov| image:: http://img.shields.io/codecov/c/github/ionelmc/python-lazy-object-proxy/master.svg?style=flat&label=Codecov
+.. |codecov| image:: https://codecov.io/github/ionelmc/python-lazy-object-proxy/coverage.svg?branch=master
:alt: Coverage Status
:target: https://codecov.io/github/ionelmc/python-lazy-object-proxy
@@ -40,23 +44,31 @@ lazy-object-proxy
:target: https://landscape.io/github/ionelmc/python-lazy-object-proxy/master
:alt: Code Quality Status
-.. |version| image:: http://img.shields.io/pypi/v/lazy-object-proxy.svg?style=flat
+.. |codacy| image:: https://img.shields.io/codacy/REPLACE_WITH_PROJECT_ID.svg?style=flat
+ :target: https://www.codacy.com/app/ionelmc/python-lazy-object-proxy
+ :alt: Codacy Code Quality Status
+
+.. |codeclimate| image:: https://codeclimate.com/github/ionelmc/python-lazy-object-proxy/badges/gpa.svg
+ :target: https://codeclimate.com/github/ionelmc/python-lazy-object-proxy
+ :alt: CodeClimate Quality Status
+
+.. |version| image:: https://img.shields.io/pypi/v/lazy-object-proxy.svg?style=flat
:alt: PyPI Package latest release
:target: https://pypi.python.org/pypi/lazy-object-proxy
-.. |downloads| image:: http://img.shields.io/pypi/dm/lazy-object-proxy.svg?style=flat
+.. |downloads| image:: https://img.shields.io/pypi/dm/lazy-object-proxy.svg?style=flat
:alt: PyPI Package monthly downloads
:target: https://pypi.python.org/pypi/lazy-object-proxy
-.. |wheel| image:: https://pypip.in/wheel/lazy-object-proxy/badge.svg?style=flat
+.. |wheel| image:: https://img.shields.io/pypi/wheel/lazy-object-proxy.svg?style=flat
:alt: PyPI Wheel
:target: https://pypi.python.org/pypi/lazy-object-proxy
-.. |supported-versions| image:: https://pypip.in/py_versions/lazy-object-proxy/badge.svg?style=flat
+.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/lazy-object-proxy.svg?style=flat
:alt: Supported versions
:target: https://pypi.python.org/pypi/lazy-object-proxy
-.. |supported-implementations| image:: https://pypip.in/implementation/lazy-object-proxy/badge.svg?style=flat
+.. |supported-implementations| image:: https://img.shields.io/pypi/implementation/lazy-object-proxy.svg?style=flat
:alt: Supported implementations
:target: https://pypi.python.org/pypi/lazy-object-proxy
@@ -64,6 +76,9 @@ lazy-object-proxy
:alt: Scrutinizer Status
:target: https://scrutinizer-ci.com/g/ionelmc/python-lazy-object-proxy/
+
+.. end-badges
+
A fast and thorough lazy object proxy.
* Free software: BSD license
diff --git a/appveyor.yml b/appveyor.yml
index 76a695f..8130a39 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,97 +1,139 @@
version: '{branch}-{build}'
build: off
+cache:
+ - '%LOCALAPPDATA%\pip\Cache'
environment:
global:
- WITH_COMPILER: "cmd /E:ON /V:ON /C .\\ci\\appveyor-with-compiler.cmd"
+ WITH_COMPILER: 'cmd /E:ON /V:ON /C .\ci\appveyor-with-compiler.cmd'
matrix:
- TOXENV: check
- PYTHON_HOME: "C:\\Python27"
- PYTHON_VERSION: "2.7"
- PYTHON_ARCH: "32"
- - TOXENV: "2.7"
- TOXPYTHON: "C:\\Python27\\python.exe"
- WINDOWS_SDK_VERSION: "v7.0"
- PYTHON_HOME: "C:\\Python27"
- PYTHON_VERSION: "2.7"
- PYTHON_ARCH: "32"
- - TOXENV: "2.7"
- TOXPYTHON: "C:\\Python27-x64\\python.exe"
- WINDOWS_SDK_VERSION: "v7.0"
- PYTHON_HOME: "C:\\Python27-x64"
- PYTHON_VERSION: "2.7"
- PYTHON_ARCH: "64"
- - TOXENV: "2.7-nocover"
- TOXPYTHON: "C:\\Python27\\python.exe"
- WINDOWS_SDK_VERSION: "v7.0"
- PYTHON_HOME: "C:\\Python27"
- PYTHON_VERSION: "2.7"
- PYTHON_ARCH: "32"
- - TOXENV: "2.7-nocover"
- TOXPYTHON: "C:\\Python27-x64\\python.exe"
- WINDOWS_SDK_VERSION: "v7.0"
- PYTHON_HOME: "C:\\Python27-x64"
- PYTHON_VERSION: "2.7"
- PYTHON_ARCH: "64"
- - TOXENV: "3.3"
- TOXPYTHON: "C:\\Python33\\python.exe"
- WINDOWS_SDK_VERSION: "v7.1"
- PYTHON_HOME: "C:\\Python33"
- PYTHON_VERSION: "3.3"
- PYTHON_ARCH: "32"
- - TOXENV: "3.3"
- TOXPYTHON: "C:\\Python33-x64\\python.exe"
- WINDOWS_SDK_VERSION: "v7.1"
- PYTHON_HOME: "C:\\Python33-x64"
- PYTHON_VERSION: "3.3"
- PYTHON_ARCH: "64"
- - TOXENV: "3.3-nocover"
- TOXPYTHON: "C:\\Python33\\python.exe"
- WINDOWS_SDK_VERSION: "v7.1"
- PYTHON_HOME: "C:\\Python33"
- PYTHON_VERSION: "3.3"
- PYTHON_ARCH: "32"
- - TOXENV: "3.3-nocover"
- TOXPYTHON: "C:\\Python33-x64\\python.exe"
- WINDOWS_SDK_VERSION: "v7.1"
- PYTHON_HOME: "C:\\Python33-x64"
- PYTHON_VERSION: "3.3"
- PYTHON_ARCH: "64"
- - TOXENV: "3.4"
- TOXPYTHON: "C:\\Python34\\python.exe"
- WINDOWS_SDK_VERSION: "v7.1"
- PYTHON_HOME: "C:\\Python34"
- PYTHON_VERSION: "3.4"
- PYTHON_ARCH: "32"
- - TOXENV: "3.4"
- TOXPYTHON: "C:\\Python34-x64\\python.exe"
- WINDOWS_SDK_VERSION: "v7.1"
- PYTHON_HOME: "C:\\Python34-x64"
- PYTHON_VERSION: "3.4"
- PYTHON_ARCH: "64"
- - TOXENV: "3.4-nocover"
- TOXPYTHON: "C:\\Python34\\python.exe"
- WINDOWS_SDK_VERSION: "v7.1"
- PYTHON_HOME: "C:\\Python34"
- PYTHON_VERSION: "3.4"
- PYTHON_ARCH: "32"
- - TOXENV: "3.4-nocover"
- TOXPYTHON: "C:\\Python34-x64\\python.exe"
- WINDOWS_SDK_VERSION: "v7.1"
- PYTHON_HOME: "C:\\Python34-x64"
- PYTHON_VERSION: "3.4"
- PYTHON_ARCH: "64"
+ PYTHON_HOME: C:\Python27
+ PYTHON_VERSION: '2.7'
+ PYTHON_ARCH: '32'
+
+ - TOXENV: '2.7-cover,codecov'
+ TOXPYTHON: C:\Python27\python.exe
+ PYTHON_HOME: C:\Python27
+ PYTHON_VERSION: '2.7'
+ PYTHON_ARCH: '32'
+
+ - TOXENV: '2.7-cover,codecov'
+ TOXPYTHON: C:\Python27-x64\python.exe
+ WINDOWS_SDK_VERSION: v7.0
+ PYTHON_HOME: C:\Python27-x64
+ PYTHON_VERSION: '2.7'
+ PYTHON_ARCH: '64'
+
+ - TOXENV: '2.7-nocov'
+ TOXPYTHON: C:\Python27\python.exe
+ PYTHON_HOME: C:\Python27
+ PYTHON_VERSION: '2.7'
+ PYTHON_ARCH: '32'
+
+ - TOXENV: '2.7-nocov'
+ TOXPYTHON: C:\Python27-x64\python.exe
+ WINDOWS_SDK_VERSION: v7.0
+ PYTHON_HOME: C:\Python27-x64
+ PYTHON_VERSION: '2.7'
+ PYTHON_ARCH: '64'
+
+ - TOXENV: '3.3-cover,codecov'
+ TOXPYTHON: C:\Python33\python.exe
+ PYTHON_HOME: C:\Python33
+ PYTHON_VERSION: '3.3'
+ PYTHON_ARCH: '32'
+
+ - TOXENV: '3.3-cover,codecov'
+ TOXPYTHON: C:\Python33-x64\python.exe
+ WINDOWS_SDK_VERSION: v7.1
+ PYTHON_HOME: C:\Python33-x64
+ PYTHON_VERSION: '3.3'
+ PYTHON_ARCH: '64'
+
+ - TOXENV: '3.3-nocov'
+ TOXPYTHON: C:\Python33\python.exe
+ PYTHON_HOME: C:\Python33
+ PYTHON_VERSION: '3.3'
+ PYTHON_ARCH: '32'
+
+ - TOXENV: '3.3-nocov'
+ TOXPYTHON: C:\Python33-x64\python.exe
+ WINDOWS_SDK_VERSION: v7.1
+ PYTHON_HOME: C:\Python33-x64
+ PYTHON_VERSION: '3.3'
+ PYTHON_ARCH: '64'
+
+ - TOXENV: '3.4-cover,codecov'
+ TOXPYTHON: C:\Python34\python.exe
+ PYTHON_HOME: C:\Python34
+ PYTHON_VERSION: '3.4'
+ PYTHON_ARCH: '32'
+
+ - TOXENV: '3.4-cover,codecov'
+ TOXPYTHON: C:\Python34-x64\python.exe
+ WINDOWS_SDK_VERSION: v7.1
+ PYTHON_HOME: C:\Python34-x64
+ PYTHON_VERSION: '3.4'
+ PYTHON_ARCH: '64'
+
+ - TOXENV: '3.4-nocov'
+ TOXPYTHON: C:\Python34\python.exe
+ PYTHON_HOME: C:\Python34
+ PYTHON_VERSION: '3.4'
+ PYTHON_ARCH: '32'
+
+ - TOXENV: '3.4-nocov'
+ TOXPYTHON: C:\Python34-x64\python.exe
+ WINDOWS_SDK_VERSION: v7.1
+ PYTHON_HOME: C:\Python34-x64
+ PYTHON_VERSION: '3.4'
+ PYTHON_ARCH: '64'
+
+ - TOXENV: '3.5-cover,codecov'
+ TOXPYTHON: C:\Python35\python.exe
+ PYTHON_HOME: C:\Python35
+ PYTHON_VERSION: '3.5'
+ PYTHON_ARCH: '32'
+
+ - TOXENV: '3.5-cover,codecov'
+ TOXPYTHON: C:\Python35-x64\python.exe
+ PYTHON_HOME: C:\Python35-x64
+ PYTHON_VERSION: '3.5'
+ PYTHON_ARCH: '64'
+
+ - TOXENV: '3.5-nocov'
+ TOXPYTHON: C:\Python35\python.exe
+ PYTHON_HOME: C:\Python35
+ PYTHON_VERSION: '3.5'
+ PYTHON_ARCH: '32'
+
+ - TOXENV: '3.5-nocov'
+ TOXPYTHON: C:\Python35-x64\python.exe
+ PYTHON_HOME: C:\Python35-x64
+ PYTHON_VERSION: '3.5'
+ PYTHON_ARCH: '64'
+
init:
- - "ECHO %TOXENV%"
- - ps: "ls C:\\Python*"
+ - ps: echo $env:TOXENV
+ - ps: ls C:\Python*
install:
- - "powershell ci\\appveyor-bootstrap.ps1"
+ - python -u ci\appveyor-bootstrap.py
+ - '%PYTHON_HOME%\Scripts\virtualenv --version'
+ - '%PYTHON_HOME%\Scripts\easy_install --version'
+ - '%PYTHON_HOME%\Scripts\pip --version'
+ - '%PYTHON_HOME%\Scripts\tox --version'
test_script:
- - "%PYTHON_HOME%\\Scripts\\tox --version"
- - "%PYTHON_HOME%\\Scripts\\virtualenv --version"
- - "%PYTHON_HOME%\\Scripts\\pip --version"
- - "%WITH_COMPILER% %PYTHON_HOME%\\Scripts\\tox"
+ - '%WITH_COMPILER% %PYTHON_HOME%\Scripts\tox'
+
after_test:
- - "IF \"%TOXENV:~-8,8%\" == \"-nocover\" %WITH_COMPILER% %TOXPYTHON% setup.py bdist_wheel"
+ - IF "%TOXENV:~-6,6%" == "-nocov" %WITH_COMPILER% %TOXPYTHON% setup.py bdist_wheel
+
+on_failure:
+ - ps: dir "env:"
+ - ps: get-content .tox\*\log\*
artifacts:
- path: dist\*
+### To enable remote debugging uncomment this (also, see: http://www.appveyor.com/docs/how-to/rdp-to-build-worker):
+# on_finish:
+# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
diff --git a/ci/appveyor-bootstrap.ps1 b/ci/appveyor-bootstrap.ps1
deleted file mode 100644
index 1dd5342..0000000
--- a/ci/appveyor-bootstrap.ps1
+++ /dev/null
@@ -1,88 +0,0 @@
-# Source: https://github.com/pypa/python-packaging-user-guide/blob/master/source/code/install.ps1
-# Sample script to install Python and pip under Windows
-# Authors: Olivier Grisel and Kyle Kastner
-# License: CC0 1.0 Universal: http://creativecommons.org/publicdomain/zero/1.0/
-
-$BASE_URL = "https://www.python.org/ftp/python/"
-$GET_PIP_URL = "https://bootstrap.pypa.io/get-pip.py"
-$GET_PIP_PATH = "C:\get-pip.py"
-
-
-function DownloadPython ($python_version, $platform_suffix) {
- $webclient = New-Object System.Net.WebClient
- $filename = "python-" + $python_version + $platform_suffix + ".msi"
- $url = $BASE_URL + $python_version + "/" + $filename
-
- $basedir = $pwd.Path + "\"
- $filepath = $basedir + $filename
- if (Test-Path $filename) {
- Write-Host "Reusing" $filepath
- return $filepath
- }
-
- # Download and retry up to 5 times in case of network transient errors.
- Write-Host "Downloading" $filename "from" $url
- $retry_attempts = 3
- for($i=0; $i -lt $retry_attempts; $i++){
- try {
- $webclient.DownloadFile($url, $filepath)
- break
- }
- Catch [Exception]{
- Start-Sleep 1
- }
- }
- Write-Host "File saved at" $filepath
- return $filepath
-}
-
-
-function InstallPython ($python_version, $architecture, $python_home) {
- Write-Host "Installing Python" $python_version "for" $architecture "bit architecture to" $python_home
- if (Test-Path $python_home) {
- Write-Host $python_home "already exists, skipping."
- return $false
- }
- if ($architecture -eq "32") {
- $platform_suffix = ""
- } else {
- $platform_suffix = ".amd64"
- }
- $filepath = DownloadPython $python_version $platform_suffix
- Write-Host "Installing" $filepath "to" $python_home
- $args = "/qn /i $filepath TARGETDIR=$python_home"
- Write-Host "msiexec.exe" $args
- Start-Process -FilePath "msiexec.exe" -ArgumentList $args -Wait -Passthru
- Write-Host "Python $python_version ($architecture) installation complete"
- return $true
-}
-
-
-function InstallPip ($python_home) {
- $pip_path = $python_home + "/Scripts/pip.exe"
- $python_path = $python_home + "/python.exe"
- if (-not(Test-Path $pip_path)) {
- Write-Host "Installing pip..."
- $webclient = New-Object System.Net.WebClient
- $webclient.DownloadFile($GET_PIP_URL, $GET_PIP_PATH)
- Write-Host "Executing:" $python_path $GET_PIP_PATH
- Start-Process -FilePath "$python_path" -ArgumentList "$GET_PIP_PATH" -Wait -Passthru
- } else {
- Write-Host "pip already installed."
- }
-}
-
-function InstallPackage ($python_home, $pkg) {
- $pip_path = $python_home + "/Scripts/pip.exe"
- & $pip_path install $pkg
-}
-
-function main () {
- InstallPython $env:PYTHON_VERSION $env:PYTHON_ARCH $env:PYTHON_HOME
- InstallPip $env:PYTHON_HOME
- InstallPackage $env:PYTHON_HOME setuptools
- InstallPackage $env:PYTHON_HOME wheel
- InstallPackage $env:PYTHON_HOME tox
-}
-
-main
diff --git a/ci/appveyor-bootstrap.py b/ci/appveyor-bootstrap.py
new file mode 100644
index 0000000..bc351bc
--- /dev/null
+++ b/ci/appveyor-bootstrap.py
@@ -0,0 +1,117 @@
+"""
+AppVeyor will at least have few Pythons around so there's no point of implementing a bootstrapper in PowerShell.
+
+This is a port of https://github.com/pypa/python-packaging-user-guide/blob/master/source/code/install.ps1
+with various fixes and improvements that just weren't feasible to implement in PowerShell.
+"""
+from __future__ import print_function
+from os import environ
+from os.path import exists
+from subprocess import check_call
+
+try:
+ from urllib.request import urlretrieve
+except ImportError:
+ from urllib import urlretrieve
+
+BASE_URL = "https://www.python.org/ftp/python/"
+GET_PIP_URL = "https://bootstrap.pypa.io/get-pip.py"
+GET_PIP_PATH = "C:\get-pip.py"
+URLS = {
+ ("2.6", "64"): BASE_URL + "2.6.6/python-2.6.6.amd64.msi",
+ ("2.6", "32"): BASE_URL + "2.6.6/python-2.6.6.msi",
+ ("2.7", "64"): BASE_URL + "2.7.10/python-2.7.10.amd64.msi",
+ ("2.7", "32"): BASE_URL + "2.7.10/python-2.7.10.msi",
+ # NOTE: no .msi installer for 3.3.6
+ ("3.3", "64"): BASE_URL + "3.3.3/python-3.3.3.amd64.msi",
+ ("3.3", "32"): BASE_URL + "3.3.3/python-3.3.3.msi",
+ ("3.4", "64"): BASE_URL + "3.4.3/python-3.4.3.amd64.msi",
+ ("3.4", "32"): BASE_URL + "3.4.3/python-3.4.3.msi",
+ ("3.5", "64"): BASE_URL + "3.5.0/python-3.5.0-amd64.exe",
+ ("3.5", "32"): BASE_URL + "3.5.0/python-3.5.0.exe",
+}
+INSTALL_CMD = {
+ # Commands are allowed to fail only if they are not the last command. Eg: uninstall (/x) allowed to fail.
+ "2.6": [["msiexec.exe", "/L*+!", "install.log", "/qn", "/x", "{path}"],
+ ["msiexec.exe", "/L*+!", "install.log", "/qn", "/i", "{path}", "TARGETDIR={home}"]],
+ "2.7": [["msiexec.exe", "/L*+!", "install.log", "/qn", "/x", "{path}"],
+ ["msiexec.exe", "/L*+!", "install.log", "/qn", "/i", "{path}", "TARGETDIR={home}"]],
+ "3.3": [["msiexec.exe", "/L*+!", "install.log", "/qn", "/x", "{path}"],
+ ["msiexec.exe", "/L*+!", "install.log", "/qn", "/i", "{path}", "TARGETDIR={home}"]],
+ "3.4": [["msiexec.exe", "/L*+!", "install.log", "/qn", "/x", "{path}"],
+ ["msiexec.exe", "/L*+!", "install.log", "/qn", "/i", "{path}", "TARGETDIR={home}"]],
+ "3.5": [["{path}", "/quiet", "TargetDir={home}"]],
+}
+
+
+def download_file(url, path):
+ print("Downloading: {} (into {})".format(url, path))
+ progress = [0, 0]
+
+ def report(count, size, total):
+ progress[0] = count * size
+ if progress[0] - progress[1] > 1000000:
+ progress[1] = progress[0]
+ print("Downloaded {:,}/{:,} ...".format(progress[1], total))
+
+ dest, _ = urlretrieve(url, path, reporthook=report)
+ return dest
+
+
+def install_python(version, arch, home):
+ print("Installing Python", version, "for", arch, "bit architecture to", home)
+ if exists(home):
+ return
+
+ path = download_python(version, arch)
+ print("Installing", path, "to", home)
+ success = False
+ for cmd in INSTALL_CMD[version]:
+ cmd = [part.format(home=home, path=path) for part in cmd]
+ print("Running:", " ".join(cmd))
+ try:
+ check_call(cmd)
+ except Exception as exc:
+ print("Failed command", cmd, "with:", exc)
+ if exists("install.log"):
+ with open("install.log") as fh:
+ print(fh.read())
+ else:
+ success = True
+ if success:
+ print("Installation complete!")
+ else:
+ print("Installation failed")
+
+
+def download_python(version, arch):
+ for _ in range(3):
+ try:
+ return download_file(URLS[version, arch], "installer.exe")
+ except Exception as exc:
+ print("Failed to download:", exc)
+ print("Retrying ...")
+
+
+def install_pip(home):
+ pip_path = home + "/Scripts/pip.exe"
+ python_path = home + "/python.exe"
+ if exists(pip_path):
+ print("pip already installed.")
+ else:
+ print("Installing pip...")
+ download_file(GET_PIP_URL, GET_PIP_PATH)
+ print("Executing:", python_path, GET_PIP_PATH)
+ check_call([python_path, GET_PIP_PATH])
+
+
+def install_packages(home, *packages):
+ cmd = [home + "/Scripts/pip.exe", "install"]
+ cmd.extend(packages)
+ check_call(cmd)
+
+
+if __name__ == "__main__":
+ install_python(environ['PYTHON_VERSION'], environ['PYTHON_ARCH'], environ['PYTHON_HOME'])
+ install_pip(environ['PYTHON_HOME'])
+ install_packages(environ['PYTHON_HOME'], "setuptools>=18.0.1", "wheel", "tox", "virtualenv>=13.1.0")
diff --git a/ci/appveyor-download.py b/ci/appveyor-download.py
new file mode 100755
index 0000000..97e18a9
--- /dev/null
+++ b/ci/appveyor-download.py
@@ -0,0 +1,107 @@
+#!/usr/bin/env python
+"""
+Use the AppVeyor API to download Windows artifacts.
+
+Taken from: https://bitbucket.org/ned/coveragepy/src/tip/ci/download_appveyor.py
+# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
+# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
+"""
+from __future__ import unicode_literals
+
+import argparse
+import os
+import requests
+import zipfile
+
+
+def make_auth_headers():
+ """Make the authentication headers needed to use the Appveyor API."""
+ path = os.path.expanduser("~/.appveyor.token")
... 1292 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/lazy-object-proxy.git
More information about the Python-modules-commits
mailing list