Comments (14)
Here's another project that switched over recently.
from cookiecutter-pylibrary.
In case I'm missing it, your examples don't do any of these right?
- install python if not installed
- support tox
This is why cookiecutter-pylibrary's config looks so heavy (TOXPYTHON is to set the unexpected python exe path, and the extra PYTHON_ARCH/PYTHON_VERSION env vars are for the install script).
Also note that the matrix it's not something that you'd write and maintain by hand, there's a template: https://github.com/ionelmc/python-nameless/blob/master/ci/templates/appveyor.yml
Still think it could be simpler while supporting those two usecases?
from cookiecutter-pylibrary.
I notice that https://bitbucket.org/hyllos/effectus-python/diff/appveyor.yml?diff2=fdb81dae7f95&at=default was quite similar to the matrix in pylibrary, tho it doesn't seem to have the python install script anymore.
Maybe we could use the platforms
list, tho the matrix
would still have to look like this (to support the <pythonverstion>-<djangoversion>
sort of tox environments ):
matrix:
- TOXENV: 3.3
- PYTHON_VERSION: 3.3
- TOXENV: 3.4
- PYTHON_VERSION: 3.4
- TOXENV: 3.5
- PYTHON_VERSION: 3.5
from cookiecutter-pylibrary.
We used to install conda
and used the same variables as you did, the example actually still installed conda and created the appropriate environment we needed.
In my project, we couldn't use tox
on our CI enviroment because of the nature of the project. The 2nd project I listed though had no issues with it. I suspect he based his initial config off Pylibrary.
It would simplify the template, but it really depends on the use case. If anything it would atleast shorten up having to specify both 32/64 bit matrices .
from cookiecutter-pylibrary.
did you mean
matrix:
- TOXENV: 3.3
PYTHON_VERSION: 3.3
- TOXENV: 3.4
PYTHON_VERSION: 3.4
- TOXENV: 3.5
PYTHON_VERSION: 3.5
if so, you could use
matrix:
- PYTHON_VERSION: 3.3
- PYTHON_VERSION: 3.4
- PYTHON_VERSION: 3.5
init:
# Update Environment Variables based on matrix/platform
- set TOXENV=%PYTHON_VERSION%
from cookiecutter-pylibrary.
@ionelmc It seems that AppVeyor plays well with tox now: https://www.appveyor.com/docs/lang/python/
---
environment:
matrix:
- TOXENV: py27
- TOXENV: py35
- TOXENV: py36
- TOXENV: py37
build: off
install:
- pip install tox
test_script:
- tox
from cookiecutter-pylibrary.
Hmmm perhaps it's time to rip out the dual 32/64bit testing ... anyone got stats on how much 32bit python is used nowadays?
from cookiecutter-pylibrary.
I've no stats, but I guess python 32 bit is quite rare nowadays. I'd personally rip out it (by default, at least). If someone wants it, adding x86 into the mix takes just one line as noted by @vmuriart:
platform:
- x86
- x64
It's a bit off-topic but... nowadays both AppVeyor and Travis can test on multiple OSs, so is there any reason to use both them?
from cookiecutter-pylibrary.
TBH I installed by mistake a 32 bit python on my sisters laptop a month ago. It was terrible - some packages lacked wheels for 32bit. But 32 bit it's still offered as the default download on python.org - so that's why I'm wondering for actual stats.
from cookiecutter-pylibrary.
Leaving that out, is it really necessary to test a pure Python package on both x86 and x64? What's the probability that something working on x64 won't work on x86 (and viceversa)?
from cookiecutter-pylibrary.
About travis for windows ... need to check if these: https://travis-ci.community/t/current-known-issues-please-read-this-before-posting-a-new-topic/264
from cookiecutter-pylibrary.
You can't install a 32bit wheel on 64bit python, or viceversa. That's why I have that. But for pure python packages it's pointless I agree. There should be a configuration flag at least to disable the useless testing, yes. Are you interested in implementing that option? I know those jinja templates are gnarly. If you don't have the time I guess you have to wait till I get some :)
from cookiecutter-pylibrary.
I have no time, sorry :[
from cookiecutter-pylibrary.
Appveyor support is gone.
from cookiecutter-pylibrary.
Related Issues (20)
- Shortcut option to disable python 2 versions HOT 10
- Adding GitHub Actions workflows HOT 1
- Remove Landscape.io
- tox bootstrap fails HOT 2
- Error with bumpversion if not github hosting HOT 4
- pytest command does not work without workarounds HOT 5
- CI Bootstrapping errors HOT 8
- Distribution vs package naming HOT 4
- linter_config; or more broadly, options to enable automation HOT 3
- Generating CI configuration step fails
- Bad ``pre-commit`` reference for ``flake8``
- WARNING: autodoc: failed to import module 'XXX'; the following exception was raised: No module named 'pandas' HOT 5
- Add support for creating a virtual environment inside the rendered template HOT 4
- codecov coverage uploader is deprecated
- bumpversion didn't find 'version='0.0.0'' in file: 'setup.py'
- TemplateNotFound: .github\workflows\github-actions.yml HOT 1
- Multiple extensions modules from different languages HOT 2
- Bad configuration when sphnix_theme is set to furo
- Possible skip logic issue on codacy question? HOT 2
- ``bump2version`` is deprecated, new development is in **Bump My Version** HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cookiecutter-pylibrary.