Git Product home page Git Product logo

Comments (14)

vmuriart avatar vmuriart commented on June 14, 2024

Here's another project that switched over recently.

from cookiecutter-pylibrary.

ionelmc avatar ionelmc commented on June 14, 2024

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.

ionelmc avatar ionelmc commented on June 14, 2024

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.

vmuriart avatar vmuriart commented on June 14, 2024

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.

vmuriart avatar vmuriart commented on June 14, 2024

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.

janluke avatar janluke commented on June 14, 2024

@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.

ionelmc avatar ionelmc commented on June 14, 2024

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.

janluke avatar janluke commented on June 14, 2024

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.

ionelmc avatar ionelmc commented on June 14, 2024

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.

janluke avatar janluke commented on June 14, 2024

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.

ionelmc avatar ionelmc commented on June 14, 2024

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.

ionelmc avatar ionelmc commented on June 14, 2024

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.

janluke avatar janluke commented on June 14, 2024

I have no time, sorry :[

from cookiecutter-pylibrary.

ionelmc avatar ionelmc commented on June 14, 2024

Appveyor support is gone.

from cookiecutter-pylibrary.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.