Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
187 commits
Select commit Hold shift + click to select a range
1524f58
Add basic version comparison testing for install/upgrade
pmatilai Nov 21, 2008
b19736b
Add banners for nicer test output
pmatilai Nov 22, 2008
82d1e73
Verify the various version comparison results in testsuite
pmatilai Mar 19, 2010
4750ca0
Move the current "version compare" tests to rpm install tests
pmatilai Nov 22, 2010
6296e37
Add bunch of rpmvercmp() algorithm tests to the test-suite
pmatilai Nov 22, 2010
d5e8251
Switch the two remaining rpm runs under fakechroot
pmatilai Apr 1, 2011
145c442
Add further version comparison test-cases
pmatilai Apr 20, 2012
da565a8
Add a few basic test-cases for tilde in version comparison
pmatilai Apr 23, 2012
74822a3
move pkgcore module to src directory
radhermit Sep 23, 2017
e6a1464
Skip tests using Lua iff Lua is disabled (#264)
pavlinamv Mar 1, 2018
9f567e0
move tests to root dir
radhermit Apr 11, 2018
39eb0be
more py3 conversions
radhermit Apr 11, 2018
bcc63ec
migrate tests to py3
radhermit Jun 11, 2018
8eef024
various f-strings conversions
radhermit Sep 23, 2018
1a0c485
ebuild.cpv: simplify defining ver_cmp() in the cpy extension case
radhermit Oct 1, 2018
daac49e
tests/ebuild/test_cpv: update to use pytest
radhermit Oct 1, 2018
5235071
remove/fix old comments
radhermit Oct 2, 2018
42197aa
Add support for sorting caret ('^') higher than base version
igor-raits Sep 10, 2016
733a9d3
misc f-string and consistency work
radhermit Jan 10, 2019
2d987c4
ebuild.cpv: use better variable name for pkg category
radhermit Jan 10, 2019
2468208
util.parserestrict: parse_match(): add support for globbed targets wi…
radhermit Jan 12, 2019
743c483
ebuild.cpv: store missing revisions internally as 0 instead of None
radhermit Jan 19, 2019
485fad3
ebuild.cpv: store explicit -r0 revisions as 0 and missing as None
radhermit Jan 23, 2019
14e2855
ebuild.cpv: store ebuild revisions as strings and compare as integers
radhermit Jul 14, 2019
f37f5b3
ebuild.cpv: make empty revision store an empty string
radhermit Jul 15, 2019
8e37025
ebuild.cpv: _Revision: add __str__() to return '0' on missing revision
radhermit Jul 15, 2019
395cdc0
tests: move module unit tests into their own directory
radhermit Jul 23, 2019
45ac5f9
package.errors: InvalidPackageName: split params into bad name and op…
radhermit Aug 17, 2019
3d1c059
remove license/copyright file headers
radhermit Aug 17, 2019
fd02804
move to new snakeoil lazy module importing mechanism
radhermit Aug 20, 2019
0b087f0
more various object pickling fixes
radhermit Sep 3, 2019
9cfe81e
drop explicit object inheritance
radhermit Sep 16, 2019
a7e947c
ebuild.cpv: add support for passing (cat, package) for unversioned CPVs
radhermit Sep 16, 2019
cd5c5b9
ebuild.cpv: drop cpy ext support
radhermit Sep 16, 2019
c05082b
ebuild.cpv: rename versioned/unversioned classes for consistency
radhermit Sep 17, 2019
ae48bb7
ebuild.cpv: simplify versioned param checking for init
radhermit Sep 17, 2019
80f67b3
ebuild.cpv: fix versioned_atom() for unversioned CPV objects
radhermit Sep 18, 2019
1562549
Initial commit
steven-esser Sep 22, 2020
85d1780
Add initial skeleton files
steven-esser Sep 22, 2020
aa71e06
Use pytest-xdist by default for threading support
steven-esser Sep 22, 2020
774dc7d
Add additional files
steven-esser Sep 23, 2020
9a56b88
Follow modern python packaging and conf practices
steven-esser Sep 25, 2020
565feee
Add some minimal documentation
steven-esser Sep 25, 2020
5febefb
Fix hanging tag chars in setup.cfg
steven-esser Sep 29, 2020
343ff29
Update README instructions with proper git merge conventions
steven-esser Sep 30, 2020
fa55f68
Add minimal .travis.yml CI config file
steven-esser Oct 16, 2020
0332e7f
Drop dead reference to _get_attr for cpv's
ferringb Aug 29, 2020
3296b9f
Update setuptools_scm declaration
steven-esser Oct 22, 2020
ad02f4e
Merge pull request #1 from nexB/add-initial-skeleton-files
steven-esser Oct 22, 2020
083bd04
Add azure pipeline config files and templates
JonoYang Oct 26, 2020
847564e
Fix path to Scripts directory
JonoYang Oct 27, 2020
0f293cb
Install current project in configure.bat
JonoYang Oct 27, 2020
63f6946
Call pytest from proper location
JonoYang Oct 27, 2020
7fd2506
Use newer VM images on Azure
JonoYang Oct 27, 2020
bceb8f9
Add .gitattributes
JonoYang Oct 29, 2020
e772fe6
Clean template
JonoYang Nov 4, 2020
ae44984
Merge pull request #11 from nexB/add-ci-config
JonoYang Nov 4, 2020
5593c2f
Merge pull request #14 from nexB/develop
JonoYang Nov 5, 2020
629abed
Update .gitignore to ignore Jupyter temp files
AyanSinhaMahapatra Nov 5, 2020
6001c74
Merge pull request #15 from nexB/jupyter-patch
pombredanne Nov 5, 2020
ef210cd
Quick doc update
steven-esser Nov 16, 2020
0b6caf9
Add RTD docs configuration file
AyanSinhaMahapatra Dec 10, 2020
f2c1400
Add basic RTD documentaion #4
AyanSinhaMahapatra Dec 10, 2020
e7d1990
Add RTD requirements file and test scripts
AyanSinhaMahapatra Dec 10, 2020
393b348
CPV: implement rich comparison methods directly
radhermit Dec 14, 2020
a70f9a0
CPV: fully implement __le__() and __ge__()
radhermit Dec 14, 2020
bd545fe
use relative imports
radhermit Dec 15, 2020
9617d3c
sort imports with isort
radhermit Dec 15, 2020
7d37af0
Add `src` folder to pass CI tests and RTD builds
AyanSinhaMahapatra Dec 16, 2020
3f89195
ebuild.cpv: fix sorting logic
radhermit Dec 17, 2020
8ed1446
ebuild.cpv: fix __le__() and __ge__()
radhermit Dec 17, 2020
b6ef568
Merge pull request #16 from AyanSinhaMahapatra/add-basic-docs
steven-esser Dec 21, 2020
7b8d3d5
ebuild.cpv: mark Revision as a public class
radhermit Dec 25, 2020
03ffc8a
Ensure we use official full text of Apache 2.0
pombredanne Jan 6, 2021
98d4d69
Merge pull request #18 from nexB/apache-license
steven-esser Jan 6, 2021
5e386d9
Never ever let Git convert line delimiters
pombredanne Jan 14, 2021
2e48dca
Run tests on more OSes and Python versions
pombredanne Jan 14, 2021
b959539
Do not make wheel universal
pombredanne Jan 14, 2021
98641a0
Format and add license
pombredanne Jan 14, 2021
9fa3f31
Format
pombredanne Jan 14, 2021
0b8cd65
Improve documentation
pombredanne Jan 14, 2021
3007691
Format for spaces
pombredanne Jan 14, 2021
b49895c
Add manifest for source distributions
pombredanne Jan 14, 2021
d3e2d28
Add Apache license NOTICE
pombredanne Jan 14, 2021
a2a1901
Merge pull request #19 from nexB/update-boilerplate
steven-esser Jan 19, 2021
f46bc48
Default to 64 bits windows on CI
pombredanne Jan 24, 2021
182532f
Use wheels embedded in virtualenv.pyz
pombredanne Jan 25, 2021
cd4e87b
Do not force an upgrade on virtualenv.pyz embeds
pombredanne Jan 25, 2021
4b1ebce
Make Lua a hard requirement for rpm
pmatilai Feb 4, 2021
51510cb
Fix .gitattributes
steven-esser Feb 11, 2021
386bb90
Merge pull request #21 from nexB/fix-gitattributes
steven-esser Feb 12, 2021
2a7bc10
tests: move to repo root dir
radhermit Mar 4, 2021
1c84e9e
Merge pull request #24 from nexB/use-venv-embeds
pombredanne May 7, 2021
d6fe59f
Update markers syntax for pytest
pombredanne May 7, 2021
ca6ab21
Add fallback version for setuptools_scm
pombredanne May 7, 2021
1364bbb
Add note for setuptools_scam fallback version
pombredanne May 11, 2021
be851b0
Use azure-posix.yml for linux and macOS
pombredanne May 11, 2021
4f0aecf
Adopt new configure script derived from ScanCode
pombredanne May 11, 2021
aa04429
Add notes on customization
pombredanne May 11, 2021
56ada8f
Adopt new configure --dev convention
pombredanne May 11, 2021
0dbcdc9
Clarify CHANGELOG to be Rst
pombredanne May 11, 2021
d21aef3
Add skeleton release notes to README.rst
pombredanne May 11, 2021
a75737d
Merge pull request #25 from nexB/new-configure
pombredanne May 12, 2021
fa048f4
use isort to sort imports
radhermit May 28, 2021
3aeb2ec
Update format
pombredanne May 31, 2021
2c412e8
Add Python 3.9 to Travis
pombredanne May 31, 2021
69eec23
Format and remove spurious spaces
pombredanne May 31, 2021
0e09ad9
Bump to more modern version of setuptools_scm
pombredanne May 31, 2021
e339a70
Add space for correct syntax
pombredanne May 31, 2021
9dff54a
Create junction from Scripts to bin
chinyeungli Jun 17, 2021
b735a3f
Merge pull request #26 from nexB/windows-junction
pombredanne Jun 17, 2021
235f843
pkgcore.ebuild.cpv: fix isvalid_pkg_name() logic
mgorny Aug 14, 2021
d6f8302
ebuild.cpv: explicitly handle invalid revisions
radhermit Aug 26, 2021
77ce5e4
Check for deps in local thirdparty directory #31
JonoYang Aug 31, 2021
fa13562
Merge pull request #32 from nexB/install-from-thirdparty-dir
JonoYang Aug 31, 2021
1bcaaa5
Enforce use of requirements.txt #34
JonoYang Sep 1, 2021
e9067c8
Add scripts from scancode-toolkit/etc/release/ #33
JonoYang Sep 2, 2021
0e1f56b
Normalize license in load_pkginfo_data #33
JonoYang Sep 2, 2021
288532d
Add --init option to configure #33
JonoYang Sep 2, 2021
a5ae4f3
Update README.rst #33
JonoYang Sep 2, 2021
593e237
Use venv as virtual environment directory name #37
JonoYang Sep 3, 2021
9342bc1
Update configure.bat #33
JonoYang Sep 3, 2021
45e4a2a
Add placeholder requirements.txt files #33
JonoYang Sep 3, 2021
944fbae
Handle multiple options in configure #33
JonoYang Sep 3, 2021
3532b22
Fix path to aboutcode in utils_thirdparty.py #33
JonoYang Sep 4, 2021
9c78ddb
Update release notes in README.rst
JonoYang Sep 4, 2021
ebcfb93
Handle ExpressionParseError #33
JonoYang Sep 4, 2021
6ab9c10
Update README.rst
pombredanne Sep 7, 2021
bfdc6ff
Address review comments #33
JonoYang Sep 7, 2021
8583d7f
Merge pull request #39 from nexB/update-skeleton
JonoYang Sep 8, 2021
71d8dad
Update READMEs
JonoYang Sep 8, 2021
d3b8524
Merge pull request #40 from nexB/add-scripts-readme
JonoYang Sep 8, 2021
d2bafb9
Fixed #41 - Handled encoding issue when generating ABOUT files
chinyeungli Sep 15, 2021
95780b4
Do not use __init__.py when this is not a module
pombredanne Sep 28, 2021
9cca4ef
Move test data in proper place
pombredanne Sep 28, 2021
577653e
Merge latest upstream rpmvercmp.at tests from rpm #2
pombredanne Sep 28, 2021
4b5f38a
Add ABOUT and license file for rpmvercmp.at test #2
pombredanne Sep 28, 2021
4fc8379
Refine rpm version tests #2
pombredanne Sep 28, 2021
3ca6c34
Improve origin and license documentation
pombredanne Sep 28, 2021
b2c31f9
Move files to target location
pombredanne Sep 28, 2021
8b48bf9
Streamline notices and add missing license doc
pombredanne Sep 28, 2021
be925fe
Merge latest pkgcore from upstream
pombredanne Sep 28, 2021
b178596
Add missing license info
pombredanne Sep 28, 2021
d48b1ba
Use same shared cmp() utility function everywhere
pombredanne Sep 28, 2021
02e39ea
Prepare release
pombredanne Sep 28, 2021
703205c
Format code
pombredanne Sep 28, 2021
58ef9fe
Use one generated function per tests #2
pombredanne Sep 28, 2021
d12341d
Add pkgcore gentoo tests
pombredanne Sep 28, 2021
c41196a
Merge pull request #42 from nexB/41_fix_encoding_error
chinyeungli Oct 4, 2021
9ed4609
Format code and add comments
pombredanne Oct 5, 2021
2ed3ce3
Use correct location for pytest
pombredanne Oct 5, 2021
f45cbc5
Use correct command to install
pombredanne Oct 5, 2021
3ef9737
Merge latest skeleton
pombredanne Oct 5, 2021
f282a33
Bump poackaging
pombredanne Oct 5, 2021
5671563
Treat text files as text
pombredanne Oct 5, 2021
14f6a2d
Add helper to publish files in GH releases
pombredanne Oct 5, 2021
1a2a144
Add code to use curl if wget is not installed
chinyeungli Oct 6, 2021
862fc0e
Merge remote-tracking branch 'skeleton/open-as-text' into new-skeleton
pombredanne Oct 6, 2021
7aa7d4c
Do not issue warning if thirdparty dir is missing
pombredanne Oct 8, 2021
8639d92
Update dependencies
pombredanne Oct 8, 2021
9033400
Remove unused skeleton artifacts
pombredanne Oct 8, 2021
51d0c5c
Merge pull request #45 from nexB/open-as-text
pombredanne Oct 11, 2021
b46d84f
Handle as_text correctly in cache
pombredanne Oct 11, 2021
255a898
Handle as_text correctly in cache
pombredanne Oct 11, 2021
7b76f4a
Merge origin/as_text-cache
pombredanne Oct 15, 2021
3a5307c
Merge pull request #47 from nexB/as_text-cache
pombredanne Oct 15, 2021
af4a2ca
Add missing version constraint
pombredanne Oct 15, 2021
a46e34e
Improve README
pombredanne Oct 15, 2021
0b787d8
Add black to test/devel utils
pombredanne Oct 15, 2021
e5833d1
Add support for Python 3.10
pombredanne Oct 18, 2021
0a0ef12
Adopt black style
pombredanne Oct 29, 2021
c8acebe
Add code to use curl if wget is not installed
chinyeungli Oct 6, 2021
9f2b46a
Do not issue warning if thirdparty dir is missing
pombredanne Oct 8, 2021
f6c1d21
Handle as_text correctly in cache
pombredanne Oct 11, 2021
a118aa6
Add support for Python 3.10
pombredanne Oct 18, 2021
0216936
Add missing dev requirements
pombredanne Oct 29, 2021
83fcb7b
Merge latest skeleton
pombredanne Oct 29, 2021
31ed446
Drop Ubuntu 16 add Python 3.10
pombredanne Oct 29, 2021
00aaa26
Merge pull request #48 from nexB/update-system
pombredanne Oct 29, 2021
887cc76
Merge remote-tracking branch 'skeleton/main' into new-skeleton
pombredanne Oct 29, 2021
fcb402d
Use raw strings for regex
pombredanne Oct 29, 2021
1a01ec3
Use explicit directories for style checks
pombredanne Oct 29, 2021
9d44053
Improve codestyle check
pombredanne Oct 29, 2021
2ce7c7a
Disable Python 3.10 tests on macOS 10.14
pombredanne Oct 29, 2021
1fa3699
Merge pull request #49 from nexB/update-system
pombredanne Oct 29, 2021
6bfc5c4
Merge remote-tracking branch 'skeleton/main' into new-skeleton
pombredanne Oct 29, 2021
92c9db1
Use lowercase for univers library name
pombredanne Oct 29, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# Ignore all Git auto CR/LF line endings conversions
* -text
pyproject.toml export-subst
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
/build
/bin
/lib
/venv
/scripts
/Scripts
/Lib
/pip-selfcheck.json
/tmp
/venv
.Python
/include
/Include
Expand Down
5 changes: 3 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ python:
- "3.6"
- "3.7"
- "3.8"
- "3.9"

# Scripts to run at install stage
install: pip install ./ && pip install -r requirements-dev.txt
install: ./configure --dev

# Scripts to run at script stage
script: python -m pytest
script: venv/bin/pytest
5 changes: 4 additions & 1 deletion AUTHORS.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
The following organizations or individuals have contributed to this repo:

-
- Shivam Sandbhor
- nexB Inc.
- Philippe Ombredanne

19 changes: 15 additions & 4 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,15 +1,26 @@
Release notes
-------------

### Version v30.0.0

- Switching back to semver
- Improve origin and license documentation
- Add tests for carets in RPMs
- Format, stremmline and refactor code
- Improve testing


### Version v21.4.9

- Added support Gentoo style versions.
- Add support Gentoo style versions.


### Version v21.4.8

- More package types supported.
- Version classes are hashable and frozen now
- Add support for more package types.
- Version classes are now hashable and frozen


### Version v21.4.6

- Initial Release

4 changes: 3 additions & 1 deletion NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
# Copyright (c) nexB Inc. and others.
# SPDX-License-Identifier: Apache-2.0
#
# Visit https://aboutcode.org and https://github.com/nexB/ for support and download.
# Visit https://aboutcode.org and https://github.com/nexB/vulnerablecode
# for support and download.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -15,3 +16,4 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
103 changes: 78 additions & 25 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Univers: Ecosystem specific version comparision and conversion
==============================================================
univers: mostly universal version and version ranges comparison and conversion
===============================================================================

|Build Status| |License| |Python 3.6+|

Expand All @@ -11,43 +11,76 @@ Univers: Ecosystem specific version comparision and conversion



Why ecosystem specific ?
========================
univers was born out of the need for a mostly univeral way to perform software
package version comparisons in VulnerableCode.

Univers was born out of the need for version comparision at VulnerableCode. Existing
tools follow a particular algorithm to evaluate and compare versions. This is not
accurate across different ecosystems, since they follow different versioning rules. For
example there's no concept of 'epoch' in semver based ecosystem like npm or ruby gems, but
epochs do exist in debian ecosystem. The tools solely based on semver or dpkg version spec therefore
give different and wrong results in both cases.
Package version ranges and version constraints are useful and essential:

Univers is different, it considers the ecosystem of version.
- When resolving the dependencies of a package to express which subset of the
versions are supported. For instance a dependency requirement statement such
as "I require package foo, version 2.0 and later versions" defines a range of
acceptable foo versions.

How Univers works ?
===================
- When relating a known vulnerability or bug to a range of affected package
versions. For instance a statement such as "vulnerability 123 affects
package bar, version 3.1 and version 4.2 but not version 5" also defines a
range of affected bar versions.

Univers, can be considered as a wrapper around many version comparision libraries, each of which
solving the problem for the respective ecosystem. It delegates the actual comparision to these libraries
depending upon the ecosystem.
Existing tools support typically a single algorithm to parse and compare
versions and this is not accurate across different ecosystems, since each
follow different versioning rules. For example there's no concept of 'epoch' in
semver versioning as used in package types and ecosystem such as npm or
rubygems, but epochs do exist in debian versions. A tool designed for semver or
dpkg versions processing would not be able to handle correctly the other version
scheme.

univers is different and considers the ecosystem-specific version scheme used.

The supported ecosystems and underlying libraries are:

- npm, golang, php-composer, ruby-gems and others which follow the semver spec. These use `semantic_version <https://github.com/rbarrois/python-semanticversion>`_ library.
- debian, this is handled by `debian-inspector <https://github.com/sbs2001/univers/blob/main/src/univers/debian.py.ABOUT>`_ library.
- pypi, this is handled by Python's ``packaging.version`` module.
- maven, this is handled by `rpm_vercmp <https://github.com/sbs2001/univers/blob/main/src/univers/rpm.py.ABOUT>`_ library.
- ebuild/gentoo, this is handled by `gentoo_vercmp <https://github.com/sbs2001/univers/blob/main/src/univers/gentoo.py.ABOUT>`_ module.
How does univers work ?
=========================

univers wraps, embeds or implements multiple version comparision libraries, each
focused on specific ecosystem version scheme.

It also implements an experimental unified syntax for version ranges specifier
and can parse and convert existing version range strings to this unified syntax.


The supported package ecosystems versioning schemes and underlying libraries are:

- semver: npm, golang, PHP composer, rubygems and others that follow the semver
spec, using `semantic_version <https://github.com/rbarrois/python-semanticversion>`_ library.
- debian: handled by the
`debian-inspector <https://github.com/sbs2001/univers/blob/main/src/univers/debian.py.ABOUT>`_
library.
- pypi: handled by Python's packaging library and the standard ``packaging.version`` module.
- maven: handled by the embedded `rpm_vercmp <https://github.com/sbs2001/univers/blob/main/src/univers/rpm.py.ABOUT>`_ library.
- ebuild/gentoo: handled by the embedded `gentoo_vercmp <https://github.com/sbs2001/univers/blob/main/src/univers/gentoo.py.ABOUT>`_ module.

As we grow, new schemes will be implemented accordingly.


Alternative
============

Rather than using ecosystem-specific version schemes and code, another approach
is to use a single procedure for all the versions as implemented in `libversion
<https://github.com/repology/libversion>`_. This works in the most common case
but may not work correctly for specific tasks that demand accurate version
comparison such as for dependency resolution and vulnerabilities checks.


Installation
============

$ pip install univers
$ pip install univers


Examples
========

Comparing discrete versions
Compare two versions using the Python comparison operators:

.. code:: python

Expand All @@ -57,7 +90,7 @@ Comparing discrete versions
assert v1 < v2 == True


Evaluating version ranges
Test if a version is within or outside of a version range:

.. code:: python

Expand All @@ -70,3 +103,23 @@ Evaluating version ranges

assert (v1 in vs ) == True
assert (v2 in vs ) == False


Development
============

Starting from a git clone of https://github.com/nexB/univers run these::

$ configure --dev
$ source venv/bin/active
$ pytest -vvs


We use the same development process as other AboutCode projects.

Visit https://github.com/nexB/univers and
https://gitter.im/aboutcode-org/vulnerablecode and
https://gitter.im/aboutcode-org/aboutcode for support and chat.

Primary license: Apache-2.0
SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause AND MIT
38 changes: 15 additions & 23 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,58 +7,50 @@

jobs:

- template: etc/ci/azure-linux.yml
parameters:
job_name: ubuntu16_cpython
image_name: ubuntu-16.04
python_versions: ['3.6', '3.7', '3.8', '3.9']
test_suites:
all: tmp/bin/pytest -vvs

- template: etc/ci/azure-linux.yml
- template: etc/ci/azure-posix.yml
parameters:
job_name: ubuntu18_cpython
image_name: ubuntu-18.04
python_versions: ['3.6', '3.7', '3.8', '3.9']
python_versions: ['3.6', '3.7', '3.8', '3.9', '3.10']
test_suites:
all: tmp/bin/pytest -n 2 -vvs
all: venv/bin/pytest -n 2 -vvs

- template: etc/ci/azure-linux.yml
- template: etc/ci/azure-posix.yml
parameters:
job_name: ubuntu20_cpython
image_name: ubuntu-20.04
python_versions: ['3.6', '3.7', '3.8', '3.9']
python_versions: ['3.6', '3.7', '3.8', '3.9', '3.10']
test_suites:
all: tmp/bin/pytest -n 2 -vvs
all: venv/bin/pytest -n 2 -vvs

- template: etc/ci/azure-mac.yml
- template: etc/ci/azure-posix.yml
parameters:
job_name: macos1014_cpython
image_name: macos-10.14
python_versions: ['3.6', '3.7', '3.8', '3.9']
test_suites:
all: tmp/bin/pytest -n 2 -vvs
all: venv/bin/pytest -n 2 -vvs

- template: etc/ci/azure-mac.yml
- template: etc/ci/azure-posix.yml
parameters:
job_name: macos1015_cpython
image_name: macos-10.15
python_versions: ['3.6', '3.7', '3.8', '3.9']
python_versions: ['3.6', '3.7', '3.8', '3.9', '3.10']
test_suites:
all: tmp/bin/pytest -n 2 -vvs
all: venv/bin/pytest -n 2 -vvs

- template: etc/ci/azure-win.yml
parameters:
job_name: win2016_cpython
image_name: vs2017-win2016
python_versions: ['3.6', '3.7', '3.8', '3.9']
python_versions: ['3.6', '3.7', '3.8', '3.9', '3.10']
test_suites:
all: tmp\Scripts\pytest -n 2 -vvs
all: venv\Scripts\pytest -n 2 -vvs

- template: etc/ci/azure-win.yml
parameters:
job_name: win2019_cpython
image_name: windows-2019
python_versions: ['3.6', '3.7', '3.8', '3.9']
python_versions: ['3.6', '3.7', '3.8', '3.9', '3.10']
test_suites:
all: tmp\Scripts\pytest -n 2 -vvs
all: venv\Scripts\pytest -n 2 -vvs
24 changes: 24 additions & 0 deletions bsd-new.LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list
of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.

Neither the name of the ORGANIZATION nor the names of its contributors may be
used to endorse or promote products derived from this software without specific
prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Loading